Robie Basak <robie.ba...@ubuntu.com> writes: > On Sat, Nov 26, 2016 at 11:40:34PM +0100, Stefan Fritsch wrote: >> Are the mariadb client libraries compatible with current mysql servers? > > I believe this is true at the moment, though as one might reasonably > expect I believe this is "unsupported" by MySQL upstream. For us, that
Future compatibility between MariaDB client library and MySQL server, or wise versa, is rather more likely than other kinds of compatibility. This is because there is generally a strong desire to have the client-server protocol be both forwards- and backwards-compatible. Eg. I believe it is generally considered very important, by both upstreams, that an old client can connect to a new server, _and_ that a new server can connect to an old client. This helps a lot to ensure that eg. new mariadb client libraries can connect to new MySQL server, since breaking this would likely also break eg. old MySQL client libraries connecting to new MySQL server. > AFAIK, we have seen no evidence or commitment that either upstream are > interested in any form of convergence in library API or ABI, wire > protocol or database format in the future. So in making technical plans I do not have much visibility into MySQL/Oracle's view on this. In my experience, there is a high willingness among MariaDB developers to ensure compatibility of MariaDB with MySQL. Oracle is still generally seen as the major fork, and the commercial entities behind MariaDB are much weaker than Oracle and thus very dependent on public goodwill. So I think such willingness is likely to continue for the forseeable future. There are a number of examples of work-arounds in the MariaDB code to interoperate with newer versions of the MySQL servers, for example there is special code to return a fake version number when expected by MySQL/Oracle code. Of course, willingness does not always translate to action or priority. One example is the problems caused by re-using the libmysqlclient.so name for the MariaDB client libraries. In terms of new features, generally there is much higher risk of incompatibility. For example, if a program wants to use the MariaDB progress report feature, the MySQL client libraries cannot be used, and similarly using the new MySQL Protocol X feature will not work with MariaDB client libraries. There are some new features of MySQL that get into MariaDB, but generally I would expect new feature differences to grow as time progresses. Hope this helps, - Kristian.