summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <[email protected]>2025-03-17 16:00:43 +0100
committerMarc Mutz <[email protected]>2025-03-20 06:14:33 +0100
commit0d0a151e0d3a93bcd289751b56959a7655a049d2 (patch)
treeef3f91c0bf84411e5128529f4bc07710c44028ef
parentfce5fdb4d1c0e1d2db28d7a8dfb03e916dfc232f (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.cpp3
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