I have just released CodeGen_MySQL_Plugin 0.1.0dev
This package has been around in PEAR CVS for quite a while, now it is finally seeing its first alpha release.
Starting with the upcoming 5.1 release MySQL will provide a general plugin interface within the MySQL server.
Up to MySQL 5.0 the only way the MySQL server could be extended without recompiling it was to add UDF modules that provide new user defined functions on the SQL level. The new generic plugin interface allows for different kinds of plugins to be implemented on top of it.
Currently the plugin interface supports the follwing kind of plugins:
- "daemon" plugins that only hook into server startup and shutdown
- fulltext parser plugins that change the way data is broken into words for fulltext indexes
- storage engine plugins
- additions to the INFORMATION_SCHEMA
there are also plans for converting the UDF api to use the plugin infrastructure in the future.
The plugin infrastructure provides the following functionality to all plugin interfaces put on top of it:
- plugin initialization and deinitialization hooks
- status variables
- version, license and author information
future versions will allow all plugins to declare server variables and command line options in addition to status variables, too.
CodeGen_MySQL_Plugin, like its Cousins CodeGen_PECL and CodeGen_MySQL_UDF, aims at creating skeleton code for plugin implementors so that focus can put on the actual plugin functionality without having to deal with plugin implementation details too much.
The code generator tool mysql-plugin-codegen will create all needed source and build files, even with a minimal specification file it will already create a ready-to-compile-and-load plugin project for unixoid systems.
The minimal.xml specification file available from CVS provides an example of what already works by creating a plugin that introduces some new status variables.
Do not expect too much else from it for now, but more usefull functionality should show up in the future.