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 <ch.ehrlicher@gmx.de>
This commit is contained in:
parent
16aae5a4b8
commit
cf93005bb1
@ -38,6 +38,11 @@ struct QSqlDatabaseDefaultConnectionName
|
|||||||
{
|
{
|
||||||
// separate class because of the static inline constexpr variable
|
// separate class because of the static inline constexpr variable
|
||||||
static constexpr const char defaultConnection[] = "qt_sql_default_connection";
|
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
|
class Q_SQL_EXPORT QSqlDatabase : public QSqlDatabaseDefaultConnectionName
|
||||||
@ -98,15 +103,15 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
static QSqlDatabase addDatabase(const QString& type,
|
static QSqlDatabase addDatabase(const QString& type,
|
||||||
const QString& connectionName = QLatin1StringView(defaultConnection));
|
const QString &connectionName = defaultConnectionName());
|
||||||
static QSqlDatabase addDatabase(QSqlDriver* driver,
|
static QSqlDatabase addDatabase(QSqlDriver* driver,
|
||||||
const QString& connectionName = QLatin1StringView(defaultConnection));
|
const QString &connectionName = defaultConnectionName());
|
||||||
static QSqlDatabase cloneDatabase(const QSqlDatabase &other, const QString& connectionName);
|
static QSqlDatabase cloneDatabase(const QSqlDatabase &other, const QString &connectionName);
|
||||||
static QSqlDatabase cloneDatabase(const QString &other, const QString& connectionName);
|
static QSqlDatabase cloneDatabase(const QString &other, const QString &connectionName);
|
||||||
static QSqlDatabase database(const QString& connectionName = QLatin1StringView(defaultConnection),
|
static QSqlDatabase database(const QString &connectionName = defaultConnectionName(),
|
||||||
bool open = true);
|
bool open = true);
|
||||||
static void removeDatabase(const QString& connectionName);
|
static void removeDatabase(const QString &connectionName);
|
||||||
static bool contains(const QString& connectionName = QLatin1StringView(defaultConnection));
|
static bool contains(const QString &connectionName = defaultConnectionName());
|
||||||
static QStringList drivers();
|
static QStringList drivers();
|
||||||
static QStringList connectionNames();
|
static QStringList connectionNames();
|
||||||
static void registerSqlDriver(const QString &name, QSqlDriverCreatorBase *creator);
|
static void registerSqlDriver(const QString &name, QSqlDriverCreatorBase *creator);
|
||||||
|
@ -276,7 +276,7 @@ static void qInit(QSqlQuery *q, const QString& query, const QSqlDatabase &db)
|
|||||||
QSqlDatabase database = db;
|
QSqlDatabase database = db;
|
||||||
if (!database.isValid()) {
|
if (!database.isValid()) {
|
||||||
database =
|
database =
|
||||||
QSqlDatabase::database(QLatin1StringView(QSqlDatabase::defaultConnection), false);
|
QSqlDatabase::database(QSqlDatabase::defaultConnectionName(), false);
|
||||||
}
|
}
|
||||||
if (database.isValid())
|
if (database.isValid())
|
||||||
*q = QSqlQuery(database.driver()->createResult());
|
*q = QSqlQuery(database.driver()->createResult());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user