diff options
author | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2022-10-19 21:00:29 +0200 |
---|---|---|
committer | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2022-12-05 01:56:45 +0000 |
commit | 9d27c07e284457fb86258ab518f39c5cab1dac80 (patch) | |
tree | b417b17a86e9521ea812589fe48b15a336723a15 /src/plugins/sqldrivers | |
parent | 676506a3d5eff27668040646f5cd333e0ffdcd90 (diff) |
SQL/MySQL: fix handling of json column
Add handling for MYSQL_TYPE_JSON by treating it the same as
MYSQL_TYPE_BLOB (which is used by current MariaDB Server for a json
column)
Pick-to: 5.15 6.2 6.4
Fixes: QTBUG-101680
Change-Id: I4d4b0cdad73cd12e0db4df4021fddbd6a649c8ed
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/plugins/sqldrivers')
-rw-r--r-- | src/plugins/sqldrivers/mysql/qsql_mysql.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp index 7f44128d01..6a9626a8a4 100644 --- a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp +++ b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp @@ -228,6 +228,7 @@ static QMetaType qDecodeMYSQLType(int mysqltype, uint flags) case FIELD_TYPE_MEDIUM_BLOB : case FIELD_TYPE_LONG_BLOB : case FIELD_TYPE_GEOMETRY : + case MYSQL_TYPE_JSON : type = (flags & BINARY_FLAG) ? QMetaType::QByteArray : QMetaType::QString; break; default: @@ -266,7 +267,8 @@ static bool qIsBlob(int t) return t == MYSQL_TYPE_TINY_BLOB || t == MYSQL_TYPE_BLOB || t == MYSQL_TYPE_MEDIUM_BLOB - || t == MYSQL_TYPE_LONG_BLOB; + || t == MYSQL_TYPE_LONG_BLOB + || t == MYSQL_TYPE_JSON; } static bool qIsTimeOrDate(int t) |