Hi Michal, 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 features: Functions: - mariadb_cancel - mariadb_connection - mariadb_get_charset_by_name - mariadb_stmt_execute_direct - mariadb_get_charset_by_nr - mariadb_get_info - mariadb_get_infov - mysql_optionsv Functionality: - prepare and execute in one step (mariadb_stmt_execute_direct) - bulk insert for prepared statements (will be supported in 10.2.7) - TLS/SSL: - finger print verification of host certificate - GnuTLS, Schannel (Windows), OpenSSL or LibreSSL support - Connection plugins (e.g. for replication/failover, tracing, tunelling etc.). - Kerberos authentication plugin Hope this helps! /Georg On Wed, Jun 7, 2017 at 4:50 PM, Michal Schorm <msch...@redhat.com> wrote: > Hello, > > 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 > ABI? > > > 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-develop...@lists.launchpad.net > Unsubscribe : https://launchpad.net/~maria-developers > More help : https://help.launchpad.net/ListHelp > >
_______________________________________________ Mailing list: https://launchpad.net/~maria-discuss Post to : maria-discuss@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp