diff options
-rw-r--r-- | packages/fcl-db/src/sqldb/mysql/mysqlconn.inc | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc b/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc index 648227e822..a054287146 100644 --- a/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc +++ b/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc @@ -59,6 +59,12 @@ Const {$endif} {$endif} {$ENDIF} + MariaDBVersion = +{$IFDEF mysql56} // MariaDB 10.0 is compatible with MySQL 5.6 + '10.0'; +{$ELSE} // MariaDB 5.1..5.5 presumably report the same version number as MySQL + MySQLVersion; +{$ENDIF} Type TTransactionName = Class(TSQLHandle) @@ -459,13 +465,15 @@ end; procedure TConnectionName.DoInternalConnect; var - FullVersion, - ClientVerStr: string; + FullVersion: string; begin InitialiseMysql; Fullversion:=strpas(mysql_get_client_info()); - ClientVerStr := copy(FullVersion,1,3); - If (ClientVerStr<>MySQLVersion) then + // Version string should start with version number: + // Note: in case of MariaDB version mismatch: tough luck, we report MySQL + // version only. + if (pos(MySQLVersion, Fullversion) <> 1) and + (pos(MariaDBVersion, Fullversion) <> 1) then Raise EInOutError.CreateFmt(SErrVersionMisMatch,[ClassName,MySQLVersion,FullVersion]); inherited DoInternalConnect; ConnectToServer; |