diff options
author | Slávek Banko <[email protected]> | 2018-06-03 11:17:53 +0200 |
---|---|---|
committer | Slávek Banko <[email protected]> | 2018-06-03 11:17:53 +0200 |
commit | f3c643afc14d102ae97bacc795f125a22a4cae16 (patch) | |
tree | 28926cbe886862082ead452faa1604deab1cea8b /src/sql | |
parent | b5078576ff1d83dec633044434f14c3162d85bc3 (diff) | |
download | qt3-f3c643afc14d102ae97bacc795f125a22a4cae16.tar.gz qt3-f3c643afc14d102ae97bacc795f125a22a4cae16.zip |
Backport mysql driver mariadb fix - see QTBUG-63108
[taken from RedHat Qt3 patches]
Signed-off-by: Slávek Banko <[email protected]>
Diffstat (limited to 'src/sql')
-rw-r--r-- | src/sql/drivers/mysql/qsql_mysql.cpp | 34 |
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 5296f71..2d84b65 100644 --- a/src/sql/drivers/mysql/qsql_mysql.cpp +++ b/src/sql/drivers/mysql/qsql_mysql.cpp @@ -350,30 +350,40 @@ int QMYSQLResult::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 - qWarning( "QMYSQLDriver::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 + ) { + qWarning("QMYSQLDriver::qServerInit: unable to start server."); } - # endif // MYSQL_VERSION_ID #endif // Q_NO_MYSQL_EMBEDDED + +#if defined(MARIADB_BASE_VERSION) || defined(MARIADB_VERSION_ID) + qAddPostRoutine(mysql_server_end); +#endif } QMYSQLDriver::QMYSQLDriver( QObject * parent, const char * name ) |