Problem.
The database server capabilities (such as GTID, semi-synch, MySQLX) are now evaluated only by comparing the server version with the minimal version where the feature was enabled.
This method works well if we limit ourselves to MySQL server, but will fail if we start adding other flavors, such as NBD server, Percona Server + PXC, or MariaDB with or without Galera.
The method will also fail when we try to add non-MySQL forks such as TiDB.
What can we do
Instead of simply comparing the version, which becomes quickly untenable, we can use a method made of the flavor (e.g. "mysql", "mariadb", "ndb", tidb", and so on) and a version.
Problem. The database server capabilities (such as GTID, semi-synch, MySQLX) are now evaluated only by comparing the server version with the minimal version where the feature was enabled.
This method works well if we limit ourselves to MySQL server, but will fail if we start adding other flavors, such as NBD server, Percona Server + PXC, or MariaDB with or without Galera. The method will also fail when we try to add non-MySQL forks such as TiDB.
What can we do Instead of simply comparing the version, which becomes quickly untenable, we can use a method made of the flavor (e.g. "mysql", "mariadb", "ndb", tidb", and so on) and a version.
cc @morgo