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
|
||||
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);
|
||||
|
@ -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());
|
||||
|
Loading…
x
Reference in New Issue
Block a user