Hi, Honza! On Jan 21, Honza Horak wrote: > Hi guys, > > I'm not able to find any information about compatibility assurance of > server side -- i.e plugin interface and libmysqld.so library. I expect > both should have stable API at least for one minor version across bugfix > releases, but I don't believe that libmysqld.so is able to preserve ABI > compatibility, since the set of exported symbols there is really huge. > > Can you, please, provide some simple statement (ideally as an article) > what is your best afford and if we can expect API/ABI of > plugin/libmysqld.so interfaces?
libmysqld.so API is stable as long as one uses only the documented client-server API. One can link with libmysqlclient or libmysqld, but the API doesn't change. If one invokes internal libmysqld.so functions directly - there are no promises about that, they can change even in a minor version. Plugin interfaces do not change as long as the plugin API version doesn't change. All plugin-related interfaces are versioned internally and the server compares plugin API versions before running a plugin. Currently in MariaDB 5.5 there are 17 versions protecting various parts of the plugin API. There are no promises when a particular version will or will not change, but practically, API versions for storage engines, information_schema tables and daemon plugins change with every bugfix release. While other 14 versions change very rarely, less than once per major release. Regards, Sergei _______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp