maria-discuss team mailing list archive
Mailing list archive
Re: [Maria-developers] libmariadb.so.3 compatibility
libmariadb.so.2 is MariaDB Connector/C 2.x, while libmariadb.so.3 refers to
MariaDB Connector/C 3.0 (GA will be released together with next MariaDB
10.2 release in July =10.2.7).
Both versions are backwards compatible with libmysql.so.18 - API and ABI
wise, unless applications will abuse internals of MYSQL or MYSQL_STMT
structures instead of using API functions (like mysql->reconnect=1
instead of using mysql_options(mysql, MYSQL_OPT_RECONNECT, &value).
Connector/C versions < 2.2.2 are not 100% ABI compatible, since the plugin
interface differs (MySQL changed the interface without bumping the
interface number years ago).
Compared to libmysql.so.18 libmariadb.so.3 offers additional functions and
- prepare and execute in one step (mariadb_stmt_execute_direct)
- bulk insert for prepared statements (will be supported in 10.2.7)
- finger print verification of host certificate
- GnuTLS, Schannel (Windows), OpenSSL or LibreSSL support
- Connection plugins (e.g. for replication/failover, tracing, tunelling
- Kerberos authentication plugin
Hope this helps!
On Wed, Jun 7, 2017 at 4:50 PM, Michal Schorm <mschorm@xxxxxxxxxx> wrote:
> I'm currently quite confused about the *libmariadb* library.
> In MariaDB 10.1.24 there are:
> " libmysqlclient_r.so -> libmysqlclient.so "
> " libmysqlclient.so -> libmysqlclient.so.18 "
> " libmysqlclient.so.18 -> libmysqlclient.so.18.0.0 "
> " libmysqlclient.so.18.0.0 "
> In MariaDB 10.2.6 there are:
> " libmariadb.so -> libmariadb.so.3 "
> In MariaDB-connector-c v2.3.3 there are:
> " libmysqlclient.so -> libmariadb.so "
> " libmysqlclient_r.so -> libmariadb.so "
> " libmariadb.so -> libmariadb.so.2 "
> " libmariadb.so.2 "
> 1) is "libmariadb.so.2" compatibile with "libmysqlclient.so.18.0.0"? Both
> API and ABI?
> 2) is "libmariadb.so.3" compatibile with "libmysqlclient.so.18.0.0"? Both
> API and ABI?
> 3) is "libmariadb.so.2" compatibile with "libmariadb.so.3"? Both API and
> Many packages in Fedora depends on "libmysqlclient.so".
> I would like to pack 10.2 to Fedora, but I can't before all those packages
> move to the libmariadb library.
> It would be considerably easier transfer for me, if all those libraries
> were compatibile, so I could provide symlinks (simmilar as in the connector
> C), and provide time for all those packages in Fedora to move safely.
> Michal Schorm
> Associate Software Engineer
> Core Services - Databases Team
> Red Hat
> Mailing list: https://launchpad.net/~maria-developers
> Post to : maria-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~maria-developers
> More help : https://help.launchpad.net/ListHelp