diff options
author | Thiago Macieira <[email protected]> | 2025-04-09 09:54:40 -0700 |
---|---|---|
committer | Thiago Macieira <[email protected]> | 2025-04-14 18:09:48 -0700 |
commit | 4216ba7c37dbdf67bfb5dc793d01a232ce4ea762 (patch) | |
tree | 5eef2bf6f865e75a8388c9edc81cf5e45ca9327b | |
parent | 48959f7e5b670396805d4d62a44dd4fefac91611 (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.cpp | 6 | ||||
-rw-r--r-- | tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp | 5 | ||||
-rw-r--r-- | tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp | 4 |
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()); |