summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <[email protected]>2018-06-03 11:18:00 +0200
committerSlávek Banko <[email protected]>2018-06-03 11:19:29 +0200
commitfd5a5a89e5363cbcd377c7dec597038a624467aa (patch)
tree0bc8b3a3d30156735a0abd7d99b15119876b485f
parent55827036494a29f7eba5e9a9ae298572366720bb (diff)
downloadtqt3-fd5a5a89e5363cbcd377c7dec597038a624467aa.tar.gz
tqt3-fd5a5a89e5363cbcd377c7dec597038a624467aa.zip
Backport mysql driver mariadb fix - see QTBUG-63108
[taken from RedHat Qt3 patches] Signed-off-by: Slávek Banko <[email protected]> (cherry picked from commit a889f4346955fc3dcd3e3d57b84843226e361aae)
-rw-r--r--src/sql/drivers/mysql/qsql_mysql.cpp34
1 files changed, 22 insertions, 12 deletions
diff --git a/src/sql/drivers/mysql/qsql_mysql.cpp b/src/sql/drivers/mysql/qsql_mysql.cpp
index 9d2f6c570..5178e7a79 100644
--- a/src/sql/drivers/mysql/qsql_mysql.cpp
+++ b/src/sql/drivers/mysql/qsql_mysql.cpp
@@ -350,30 +350,40 @@ int TQMYSQLResult::numRowsAffected()
static void qServerEnd()
{
#ifndef Q_NO_MYSQL_EMBEDDED
-# if MYSQL_VERSION_ID >= 40000
+#if !defined(MARIADB_BASE_VERSION) && !defined(MARIADB_VERSION_ID)
+# if MYSQL_VERSION_ID > 40000
+# if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003
+ mysql_library_end();
+# else
mysql_server_end();
-# endif // MYSQL_VERSION_ID
-#endif // Q_NO_MYSQL_EMBEDDED
+# endif
+# endif
+#endif
+#endif
}
static void qServerInit()
{
#ifndef Q_NO_MYSQL_EMBEDDED
# if MYSQL_VERSION_ID >= 40000
- if ( qMySqlInitHandledByUser || qMySqlConnectionCount > 1 )
+ if (qMySqlInitHandledByUser || qMySqlConnectionCount > 1)
return;
- // this should only be called once
- // has no effect on client/server library
- // but is vital for the embedded lib
- if ( mysql_server_init( 0, 0, 0 ) ) {
-# ifdef QT_CHECK_RANGE
- tqWarning( "TQMYSQLDriver::qServerInit: unable to start server." );
-# endif
+ if (
+# if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003
+ mysql_library_init(0, 0, 0)
+# else
+ mysql_server_init(0, 0, 0)
+# endif
+ ) {
+ tqWarning("TQMYSQLDriver::qServerInit: unable to start server.");
}
-
# endif // MYSQL_VERSION_ID
#endif // Q_NO_MYSQL_EMBEDDED
+
+#if defined(MARIADB_BASE_VERSION) || defined(MARIADB_VERSION_ID)
+ tqAddPostRoutine(mysql_server_end);
+#endif
}
TQMYSQLDriver::TQMYSQLDriver( TQObject * parent, const char * name )