summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThiago Macieira <[email protected]>2025-04-09 09:54:40 -0700
committerThiago Macieira <[email protected]>2025-04-14 18:09:48 -0700
commit4216ba7c37dbdf67bfb5dc793d01a232ce4ea762 (patch)
tree5eef2bf6f865e75a8388c9edc81cf5e45ca9327b
parent48959f7e5b670396805d4d62a44dd4fefac91611 (diff)
QSqlDatabase: make evident the name of the driver that failed to load
Tell me this isn't confusing: Got keys from plugin meta data ("QMYSQL3", "QMYSQL", "QMARIADB") QSqlDatabase: driver not loaded QSqlDatabase: available drivers: QSQLITE QMARIADB QMYSQL QMYSQL3 This also merges the two messages into a single line, which is nicer for rich logging environments. Pick-to: 6.8 6.9 Change-Id: Ieb80c6571213dddc518bfffdb6c86632df8f932c Reviewed-by: Christian Ehrlicher <[email protected]>
-rw-r--r--src/sql/kernel/qsqldatabase.cpp6
-rw-r--r--tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp5
-rw-r--r--tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp4
3 files changed, 8 insertions, 7 deletions
diff --git a/src/sql/kernel/qsqldatabase.cpp b/src/sql/kernel/qsqldatabase.cpp
index 70840010555..d07afd703bd 100644
--- a/src/sql/kernel/qsqldatabase.cpp
+++ b/src/sql/kernel/qsqldatabase.cpp
@@ -658,9 +658,9 @@ void QSqlDatabasePrivate::init(const QString &type)
driver = qLoadPlugin<QSqlDriver, QSqlDriverPlugin>(loader(), type);
if (!driver) {
- qCWarning(lcSqlDb, "QSqlDatabase: %ls driver not loaded", qUtf16Printable(type));
- qCWarning(lcSqlDb, "QSqlDatabase: available drivers: %ls",
- qUtf16Printable(QSqlDatabase::drivers().join(u' ')));
+ qCWarning(lcSqlDb,
+ "QSqlDatabase: can not load requested driver '%ls', available drivers: %ls",
+ qUtf16Printable(type), qUtf16Printable(QSqlDatabase::drivers().join(u' ')));
if (!QCoreApplication::instanceExists())
qCWarning(lcSqlDb, "QSqlDatabase: an instance of QCoreApplication is required for loading driver plugins");
driver = shared_null()->driver;
diff --git a/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp
index 79fe9d6333b..f4c180b2c1c 100644
--- a/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp
+++ b/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp
@@ -383,8 +383,9 @@ void tst_QSqlDatabase::generic_data(const QString& engine)
void tst_QSqlDatabase::addDatabase()
{
- QTest::ignoreMessage(QtWarningMsg, "QSqlDatabase: BLAH_FOO_NONEXISTENT_DRIVER driver not loaded");
- QTest::ignoreMessage(QtWarningMsg, qPrintable("QSqlDatabase: available drivers: " + QSqlDatabase::drivers().join(QLatin1Char(' '))));
+ QTest::ignoreMessage(QtWarningMsg,
+ "QSqlDatabase: can not load requested driver 'BLAH_FOO_NONEXISTENT_DRIVER', available drivers: "
+ + QSqlDatabase::drivers().join(QLatin1Char(' ')).toLatin1());
{
QSqlDatabase db = QSqlDatabase::addDatabase("BLAH_FOO_NONEXISTENT_DRIVER",
"INVALID_CONNECTION");
diff --git a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
index edc3c67587b..73c77172b70 100644
--- a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
+++ b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
@@ -2918,10 +2918,10 @@ void tst_QSqlQuery::queryOnInvalidDatabase()
QSqlDatabase::removeDatabase("invalidConnection");
});
// Note: destruction of db needs to happen before we call removeDatabase.
- QTest::ignoreMessage(QtWarningMsg, "QSqlDatabase: INVALID driver not loaded");
#if QT_CONFIG(regularexpression)
QTest::ignoreMessage(QtWarningMsg,
- QRegularExpression("QSqlDatabase: available drivers: "));
+ QRegularExpression("QSqlDatabase: can not load requested driver "
+ "'INVALID', available drivers: "));
#endif
QSqlDatabase db = QSqlDatabase::addDatabase("INVALID", "invalidConnection");
QVERIFY(db.lastError().isValid());