Blob Blame History Raw
This is a short overview how rh-mariadb101-mariadb-devel should be used.

* General information

Red Hat Software Collections contains the server part of MariaDB 10.1 database.
The core Red Hat Enterprise Linux 6 provides version 5.1 of MySQL databases
(client library and server daemon) and the core Red Hat Enterprise Linux 7
provides version 5.5 of MariaDB databases (client library and server daemon) .

A protocol which is used between the client library and the daemon (MySQL
and MariaDB are compatible enough from this POV) is stable across database
versions, so using, for example, the MySQL 5.1 client library with the
MariaDB 10.1 daemon works as expected.


* Usage of database connectors for dynamic languages

Client libraries from MySQL 5.1 or MariaDB 5.5 are used in database connectors
for dynamic languages (Python, Perl, PHP, Ruby) and libraries that are part
of the core Red Hat Enterprise Linux 6 and Red Hat Enterprise Linux 7.

The same client libraries from MySQL 5.1 or MariaDB 5.5 are used in database
connectors for more recent version of dynamic languages that are part of
the Red Hat Software Collections.


* How to build applications for MariaDB 10.1 from Red Hat Software Collection

MariaDB 10.1 from Red Hat Software Collection does not include database
connectors; client libraries packaged in the MariaDB 10.1 Red Hat Software
Collections database packages are not supposed to be used as they are included
only for purposes of server utilities and the daemon. Users are instead
expected to use the system libraries and database connectors provided by
MySQL 5.1 or MariaDB 5.5 with the core system.

It means that users who would like to link their application against MariaDB
client library should compile and link it against MySQL 5.1 or MariaDB 5.5
in the core Red Hat Enterprise Linux environment, not in MariaDB 10.1 Red Hat
Software Collections environment.

The only exception to this are server-side plugins, which are expected
to be built under MariaDB 10.1 Red Hat Software Collections environment,
which means the build process should be run inside "scl enable rh-mysql101 '...'"
call.