diff options
author | reiniero <reiniero@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2014-09-04 10:18:01 +0000 |
---|---|---|
committer | reiniero <reiniero@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2014-09-04 10:18:01 +0000 |
commit | 0fcfd2728d8d22525c00b272014f7eaca3e67d40 (patch) | |
tree | f1df02b18b4c61e8a7981f4a97783141d2d5822d | |
parent | 976c5bfe939cad8efa96ae8070867ef0fcbda1fb (diff) | |
download | fpc-0fcfd2728d8d22525c00b272014f7eaca3e67d40.tar.gz |
+ fcl-db: mysql 5.6 connector: add support for MariaDB 10.0. Should fix isseu #26620. Needs testing.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@28593 3ad0048d-3df7-0310-abae-a5850022a9f2
-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; |