diff options
author | Marc Mutz <[email protected]> | 2025-03-17 16:00:43 +0100 |
---|---|---|
committer | Marc Mutz <[email protected]> | 2025-03-20 06:14:33 +0100 |
commit | 0d0a151e0d3a93bcd289751b56959a7655a049d2 (patch) | |
tree | ef3f91c0bf84411e5128529f4bc07710c44028ef | |
parent | fce5fdb4d1c0e1d2db28d7a8dfb03e916dfc232f (diff) |
QSqlQueryModel: memoize roleNames()
The return value of this function is constant and some users (QML?)
may call this function often, so memoize the result of the function
instead of re-creating the QHash on every call.
Amends 40206a9f6d7635bb19305d1c8d74908808e3529e.
Not picking to Qt 5, because I'm unsure about the state of magic statics
there, and I don't want to take out the Q_GLOBAL_STATIC sledgehammer.
Pick-to: 6.9 6.8 6.5
Change-Id: I8311e93ea16982c82e8312e1e104d95ed062fe6b
Reviewed-by: Edward Welbourne <[email protected]>
-rw-r--r-- | src/sql/models/qsqlquerymodel.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sql/models/qsqlquerymodel.cpp b/src/sql/models/qsqlquerymodel.cpp index 81e798c97f2..d8e10343854 100644 --- a/src/sql/models/qsqlquerymodel.cpp +++ b/src/sql/models/qsqlquerymodel.cpp @@ -193,9 +193,10 @@ bool QSqlQueryModel::canFetchMore(const QModelIndex &parent) const */ QHash<int, QByteArray> QSqlQueryModel::roleNames() const { - return QHash<int, QByteArray> { + static const QHash<int, QByteArray> names = { { Qt::DisplayRole, QByteArrayLiteral("display") } }; + return names; } /*! \internal |