summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThiago Macieira <[email protected]>2025-01-21 17:03:35 -0800
committerThiago Macieira <[email protected]>2025-02-07 18:46:38 -0800
commitcf93005bb11272ab812c3ddbf17308ecf7322ad4 (patch)
treea2b06ec161c1042115d302ec46fb0b00963b929c
parent16aae5a4b83517e302e5c14ce07c8f210b308ad8 (diff)
QSqlDatabase: provide QString defaultConnectionName()
This avoids doing a conversion from 8-bit to UTF-16 and thus allocating memory on the call to these functions. Change-Id: Ibed5fc9ef19a21ea475efffdb978f45c1b9b3cc0 Reviewed-by: Christian Ehrlicher <[email protected]>
-rw-r--r--src/sql/kernel/qsqldatabase.h19
-rw-r--r--src/sql/kernel/qsqlquery.cpp2
2 files changed, 13 insertions, 8 deletions
diff --git a/src/sql/kernel/qsqldatabase.h b/src/sql/kernel/qsqldatabase.h
index c2595ce658d..fa8ee74ff05 100644
--- a/src/sql/kernel/qsqldatabase.h
+++ b/src/sql/kernel/qsqldatabase.h
@@ -38,6 +38,11 @@ struct QSqlDatabaseDefaultConnectionName
{
// separate class because of the static inline constexpr variable
static constexpr const char defaultConnection[] = "qt_sql_default_connection";
+ static QString defaultConnectionName() noexcept
+ {
+ using namespace Qt::StringLiterals;
+ return u"qt_sql_default_connection"_s;
+ }
};
class Q_SQL_EXPORT QSqlDatabase : public QSqlDatabaseDefaultConnectionName
@@ -98,15 +103,15 @@ public:
#endif
static QSqlDatabase addDatabase(const QString& type,
- const QString& connectionName = QLatin1StringView(defaultConnection));
+ const QString &connectionName = defaultConnectionName());
static QSqlDatabase addDatabase(QSqlDriver* driver,
- const QString& connectionName = QLatin1StringView(defaultConnection));
- static QSqlDatabase cloneDatabase(const QSqlDatabase &other, const QString& connectionName);
- static QSqlDatabase cloneDatabase(const QString &other, const QString& connectionName);
- static QSqlDatabase database(const QString& connectionName = QLatin1StringView(defaultConnection),
+ const QString &connectionName = defaultConnectionName());
+ static QSqlDatabase cloneDatabase(const QSqlDatabase &other, const QString &connectionName);
+ static QSqlDatabase cloneDatabase(const QString &other, const QString &connectionName);
+ static QSqlDatabase database(const QString &connectionName = defaultConnectionName(),
bool open = true);
- static void removeDatabase(const QString& connectionName);
- static bool contains(const QString& connectionName = QLatin1StringView(defaultConnection));
+ static void removeDatabase(const QString &connectionName);
+ static bool contains(const QString &connectionName = defaultConnectionName());
static QStringList drivers();
static QStringList connectionNames();
static void registerSqlDriver(const QString &name, QSqlDriverCreatorBase *creator);
diff --git a/src/sql/kernel/qsqlquery.cpp b/src/sql/kernel/qsqlquery.cpp
index 57268e33cf0..2942cae3871 100644
--- a/src/sql/kernel/qsqlquery.cpp
+++ b/src/sql/kernel/qsqlquery.cpp
@@ -276,7 +276,7 @@ static void qInit(QSqlQuery *q, const QString& query, const QSqlDatabase &db)
QSqlDatabase database = db;
if (!database.isValid()) {
database =
- QSqlDatabase::database(QLatin1StringView(QSqlDatabase::defaultConnection), false);
+ QSqlDatabase::database(QSqlDatabase::defaultConnectionName(), false);
}
if (database.isValid())
*q = QSqlQuery(database.driver()->createResult());