← Back to team overview

maria-developers team mailing list archive

CONC/C and CONC/ODBC API and ABI compatibility



I am a Fedora packager and I'd like to make myself sure on some
assumptions I made.
Just to make sure in the following conversation:
*  I understand "Connector C 3.1.2" as "major version number . minor
version number . release number (or sometimes refered as patch
* In Fedora we use dynamic libraries and dynamic linking whenever
possible. We are building the CONC/ODBC on top of CONC/C.

1) ABI & API compatibility
I assume, the major versions are fully API & ABI (backward)
compatible. That means to me it is safe to upgrade to later versions
of the same major version number when using end-user application.
There's no need to rebuild the end-user app.

"The MariaDB Connector/ODBC 3.1 series is built on top of MariaDB
Connector/C 3.x"
That means to me I can build the CONC/ODBC 3.1 on top of CONC/C 3.0
and there's no need for rebuild, when I upgrade to the CONC/C 3.1.
Thus it is safe to upgrade withing one major version without any threat.

That means to me I can update the package in Fedora mid release.
During a lifetime of a Fedora release (let's say Fedora 30), I only
update packages which won't break ABI & API compatibility. If there
would be potential risk, I would push that update only to the next
Fedora release (developement branch - Fedora Rawhide). That's what I
do e.g. with minor versions of MariaDB server. I won't update the 10.3
to 10.4 in the lifetime of one release, but prepare the 10.4 to the
next release. (Fedora Rawhide)

Am I right with above assumptions? Can I safely upgrade within one
major version of the C and ODBC connectors and don't need rebuild of
the dependant packages and end-user apps?
If not, why was CONC/ODBC 3.0 discontinued and hidden?

2) Version upgrade
Is there any reason to use other than latest GA release of those connectors?
(e.g. to use CONC/C 3.0 series instead of 3.1 series)
Perhaps when using against different MariaDB server major versions?

I assume there is not.
If there is, again - why was CONC/ODBC 3.0 discontinued and hidden?


Michal Schorm
Software Engineer
Core Services - Databases Team
Red Hat


Follow ups