fix(db): MariaDB 10.6+ server and connector compatibility

- Parse real MariaDB version after MySQL 5.5.5 compatibility prefix for
  DatabaseIncompatibleVersion checks.
- Relax client checks when building against MariaDB C connector
  (MARIADB_VERSION_ID); keep Oracle MySQL 8.0+ rules otherwise.
- Use mysql_stmt_bind_param on MariaDB; mysql_stmt_bind_named_param only for
  MySQL 8.3+ without MariaDB headers.
- SSL: MYSQL_OPT_SSL_ENFORCE on MariaDB connector, MYSQL_OPT_SSL_MODE elsewhere.
- Track custom_script_loader.cpp so static script link succeeds; CMake
  find_package(MySQL) requires COMPONENTS lib on CMake 3.16.
This commit is contained in:
Dawnforger
2026-05-08 20:11:43 -05:00
parent 22e79a4f32
commit 2f8c374569
6 changed files with 107 additions and 27 deletions
@@ -32,12 +32,24 @@
*/
#define MIN_MYSQL_CLIENT_VERSION 80000u
/**
* @def MIN_MARIADB_CLIENT_VERSION_ID
* Minimum MariaDB connector MARIADB_VERSION_ID (10.4.0 => 100400)
*/
#define MIN_MARIADB_CLIENT_VERSION_ID 100400u
/**
* @def MIN_MYSQL_SERVER_VERSION
* The minimum MySQL Server Version
*/
#define MIN_MYSQL_SERVER_VERSION "8.0.0"
/**
* @def MIN_MARIADB_SERVER_VERSION
* Minimum MariaDB server (version triplet after the 5.5.5- compatibility prefix)
*/
#define MIN_MARIADB_SERVER_VERSION "10.4.0"
template <typename T>
class ProducerConsumerQueue;