maria-discuss team mailing list archive
Mailing list archive
new kind of plugin
I was thinking about a new kind of plugin, a field type plugin... i think
it's a relative interesting idea...
ALTER TABLE table
ADD field PLUGIN("plugin_name","version","field_type","parameters") NOT
NULL/NULL DEFAULT 'something' AUTOINCREMENT, etc..
ALTER TABLE table
ADD field PLUGIN("crypt","1","somecrypto","size=255") NOT NULL DEFAULT
internally (to storage engine) this kind of data will be saved as blob (for
example), and to client side it will be a blob too
when i use:
insert into table(field) values ("some text");
select * from table
i will get "some text"
but internally (at filesystem) the value is save as a crypto of "some text"
other idea is compress
ADD field PLUGIN("crypt","1","compress","size=255") NOT NULL DEFAULT
internally it will be saved as varchar(255), when i execute insert it will
compress the value and when i select it will uncompress the value
the parameters for this new field type is:
PLUGIN(plugin name, plugin version, plugin field name, parameters)
plugin name is the plugin name...
plugin version is important to execute alter table, or when using diferent
kind of plugin versions we could know what version is being used and
execute a automatic alter table for example...
plugin field is the type of field in this plugin
parameters are parameters for plugin values
another idea is a enum with external table...
it will execute a SELECT internally to table "database.table" and return
the id/value of that table
id is a bigint/int/mediumint/smallint/tinyint value (like enum index)
and value is a string value (varchar,char,longtext,text)
to storage engine will be used a bigint, for user it will be used as a
thre's more examples with interesting things, like expand opengis, or add
others kind of field types, but the main idea is create a plugin interface
for field types
what you say guys?