Fixed QTBUG-11935 : "With MySQL version > 50000 the QMYSQLDriver::
tables() returns tables in all databases on the server" This bugfix has been rewritten to match contributors advise. Change-Id: I3a9cf900ff7eae47c9ffdbcf34bcb1b4396d9837 Merge-request: 1010 Reviewed-by: Charles Yin <charles.yin@nokia.com> (cherry picked from commit c0ca29efdeb442a6b88ccadff409e3f7ef828ce8)
This commit is contained in:
parent
b1d6704b14
commit
02ebcdb8c7
@ -1374,16 +1374,16 @@ QStringList QMYSQLDriver::tables(QSql::TableType type) const
|
||||
} else {
|
||||
QSqlQuery q(createResult());
|
||||
if(type & QSql::Tables) {
|
||||
QString sql = QLatin1String("select table_name from information_schema.tables where table_schema = ':schema' and table_type = 'BASE TABLE'");
|
||||
sql.replace(QLatin1String(":schema"), QLatin1String(d->mysql->db));
|
||||
QString sql = QLatin1String("select table_name from information_schema.tables where table_schema = '") + QLatin1String(d->mysql->db) + QLatin1String("' and table_type = 'BASE TABLE'");
|
||||
q.exec(sql);
|
||||
|
||||
while(q.next())
|
||||
tl.append(q.value(0).toString());
|
||||
}
|
||||
if(type & QSql::Views) {
|
||||
QString sql = QLatin1String("select table_name from information_schema.tables where table_schema = ':schema' and table_type = 'VIEW'");
|
||||
sql.replace(QLatin1String(":schema"), QLatin1String(d->mysql->db));
|
||||
QString sql = QLatin1String("select table_name from information_schema.tables where table_schema = '") + QLatin1String(d->mysql->db) + QLatin1String("' and table_type = 'VIEW'");
|
||||
q.exec(sql);
|
||||
|
||||
while(q.next())
|
||||
tl.append(q.value(0).toString());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user