summaryrefslogtreecommitdiff
path: root/databases/qt5-sqldrivers-mysql/files
diff options
context:
space:
mode:
Diffstat (limited to 'databases/qt5-sqldrivers-mysql/files')
-rw-r--r--databases/qt5-sqldrivers-mysql/files/patch-src_plugins_sqldrivers_mysql_qsql__mysql.cpp48
1 files changed, 15 insertions, 33 deletions
diff --git a/databases/qt5-sqldrivers-mysql/files/patch-src_plugins_sqldrivers_mysql_qsql__mysql.cpp b/databases/qt5-sqldrivers-mysql/files/patch-src_plugins_sqldrivers_mysql_qsql__mysql.cpp
index 4add3e998f28..00e133f9195f 100644
--- a/databases/qt5-sqldrivers-mysql/files/patch-src_plugins_sqldrivers_mysql_qsql__mysql.cpp
+++ b/databases/qt5-sqldrivers-mysql/files/patch-src_plugins_sqldrivers_mysql_qsql__mysql.cpp
@@ -17,12 +17,12 @@ This does not apply to the Qt4 port, which allows older compilers
and the less-fragile approach would therefore break on old-gcc-in-base
architectures.
---- src/plugins/sqldrivers/mysql/qsql_mysql.cpp.orig 2018-04-29 07:25:09 UTC
+--- src/plugins/sqldrivers/mysql/qsql_mysql.cpp.orig 2020-03-11 15:29:12 UTC
+++ src/plugins/sqldrivers/mysql/qsql_mysql.cpp
-@@ -74,6 +74,14 @@ Q_DECLARE_METATYPE(MYSQL_STMT*)
- # define Q_CLIENT_MULTI_STATEMENTS 0
- #endif
-
+@@ -71,6 +71,14 @@ Q_DECLARE_METATYPE(MYSQL_STMT*)
+ // by redefining it we can regain source compatibility.
+ using my_bool = decltype(mysql_stmt_bind_result(nullptr, nullptr));
+
+// MYSQL 8.0.1 no longer uses the my_bool type:
+// https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-1.html
+#if (MYSQL_VERSION_ID >= 80001) && !defined(MARIADB_BASE_VERSION)
@@ -32,50 +32,32 @@ architectures.
+#endif
+
QT_BEGIN_NAMESPACE
-
+
class QMYSQLDriverPrivate : public QSqlDriverPrivate
-@@ -232,7 +240,7 @@ class QMYSQLResultPrivate: public QSqlResultPrivate (p
- myField(0), type(QVariant::Invalid)
- {}
- char *outField;
-- my_bool nullIndicator;
-+ mysql_bool nullIndicator;
- ulong bufLength;
- MYSQL_FIELD *myField;
- QVariant::Type type;
-@@ -983,7 +991,7 @@ bool QMYSQLResult::exec()
+@@ -930,7 +938,7 @@ bool QMYSQLResult::exec()
MYSQL_BIND* currBind;
QVector<MYSQL_TIME *> timeVector;
QVector<QByteArray> stringVector;
- QVector<my_bool> nullVector;
+ QVector<mysql_bool> nullVector;
-
+
const QVector<QVariant> values = boundValues();
-
-@@ -1004,7 +1012,7 @@ bool QMYSQLResult::exec()
-
+
+@@ -951,7 +959,7 @@ bool QMYSQLResult::exec()
+
currBind = &d->outBinds[i];
-
+
- nullVector[i] = static_cast<my_bool>(val.isNull());
+ nullVector[i] = static_cast<mysql_bool>(val.isNull());
currBind->is_null = &nullVector[i];
currBind->length = 0;
currBind->is_unsigned = 0;
-@@ -1101,7 +1109,7 @@ bool QMYSQLResult::exec()
+@@ -1048,7 +1056,7 @@ bool QMYSQLResult::exec()
d->rowsAffected = mysql_stmt_affected_rows(d->stmt);
-
+
if (isSelect()) {
- my_bool update_max_length = true;
+ mysql_bool update_max_length = true;
-
+
r = mysql_stmt_bind_result(d->stmt, d->inBinds);
if (r != 0) {
-@@ -1312,7 +1320,7 @@ bool QMYSQLDriver::open(const QString& db,
- QString sslCAPath;
- QString sslCipher;
- #if MYSQL_VERSION_ID >= 50000
-- my_bool reconnect=false;
-+ mysql_bool reconnect=false;
- uint connectTimeout = 0;
- uint readTimeout = 0;
- uint writeTimeout = 0;