summaryrefslogtreecommitdiffstats
path: root/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
diff options
context:
space:
mode:
authorChristian Ehrlicher <[email protected]>2024-07-17 19:59:59 +0200
committerChristian Ehrlicher <[email protected]>2024-07-18 22:25:53 +0200
commit920dfb2f443042777ea9547ff7a8beef56e90d92 (patch)
tree6b33cc49b0b226555aeb2df03c3380ea1aa71a5e /src/plugins/sqldrivers/mysql/qsql_mysql.cpp
parentad0ed9fe307ac01ceb3fadd32816ada961a5afa6 (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.cpp3
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)