diff options
author | Christian Ehrlicher <[email protected]> | 2024-07-17 19:59:59 +0200 |
---|---|---|
committer | Christian Ehrlicher <[email protected]> | 2024-07-18 22:25:53 +0200 |
commit | 920dfb2f443042777ea9547ff7a8beef56e90d92 (patch) | |
tree | 6b33cc49b0b226555aeb2df03c3380ea1aa71a5e /src/plugins/sqldrivers/mysql/qsql_mysql.cpp | |
parent | ad0ed9fe307ac01ceb3fadd32816ada961a5afa6 (diff) |
SQL/MySQL: honor schema when retrieving table record
Honor the schema when retrieving the table record - otherwise we might
end up getting the data for the wrong table (same tablename but wrong
schema).
Pick-to: 6.8
Fixes: QTBUG-127129
Task-number: QTBUG-122723
Change-Id: Ia3e9293dbdc77da760dd4d0702104048187fad5f
Reviewed-by: Axel Spoerl <[email protected]>
Diffstat (limited to 'src/plugins/sqldrivers/mysql/qsql_mysql.cpp')
-rw-r--r-- | src/plugins/sqldrivers/mysql/qsql_mysql.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp index 71b406c1a2d..6b1a1c28f14 100644 --- a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp +++ b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp @@ -1508,7 +1508,8 @@ QSqlRecord QMYSQLDriver::record(const QString &tablename) const return r; // no binding of WHERE possible with MySQL // escaping on WHERE clause does not work, so use mysql_real_escape_string() - stmt = "SELECT column_name, column_default FROM information_schema.columns WHERE table_name = '%1'"_L1; + stmt = "SELECT column_name, column_default FROM information_schema.columns WHERE table_schema = '"_L1 + + d->dbName + "' AND table_name = '%1'"_L1; const auto baTableName = tablename.toUtf8(); QVarLengthArray<char> tableNameQuoted(baTableName.size() * 2 + 1); #if defined(MARIADB_VERSION_ID) |