From 69948f48997e2995cf212d878839acb4e7c396c3 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Sun, 4 Mar 2018 20:29:21 +0100 Subject: QSqlResult: use QVector instead QList for indexes value Minor tweak: QList is taking 64bit per entry, QVector only 32bit - this should reduce memory usage a little bit. Change-Id: I3e17269feb4840343f5cecfc71f8fccd70edc80f Reviewed-by: Andy Shaw --- src/sql/kernel/qsqlresult.cpp | 6 +++--- src/sql/kernel/qsqlresult_p.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src/sql') diff --git a/src/sql/kernel/qsqlresult.cpp b/src/sql/kernel/qsqlresult.cpp index cdb1379502..915a980bf0 100644 --- a/src/sql/kernel/qsqlresult.cpp +++ b/src/sql/kernel/qsqlresult.cpp @@ -690,7 +690,7 @@ void QSqlResult::bindValue(int index, const QVariant& val, QSql::ParamType param { Q_D(QSqlResult); d->binds = PositionalBinding; - QList& indexes = d->indexes[d->fieldSerial(index)]; + QVector &indexes = d->indexes[d->fieldSerial(index)]; if (!indexes.contains(index)) indexes.append(index); if (d->values.count() <= index) @@ -717,7 +717,7 @@ void QSqlResult::bindValue(const QString& placeholder, const QVariant& val, d->binds = NamedBinding; // if the index has already been set when doing emulated named // bindings - don't reset it - const QList indexes = d->indexes.value(placeholder); + const QVector indexes = d->indexes.value(placeholder); for (int idx : indexes) { if (d->values.count() <= idx) d->values.resize(idx + 1); @@ -764,7 +764,7 @@ QVariant QSqlResult::boundValue(int index) const QVariant QSqlResult::boundValue(const QString& placeholder) const { Q_D(const QSqlResult); - QList indexes = d->indexes.value(placeholder); + const QVector indexes = d->indexes.value(placeholder); return d->values.value(indexes.value(0,-1)); } diff --git a/src/sql/kernel/qsqlresult_p.h b/src/sql/kernel/qsqlresult_p.h index 7b312800c1..f0816a7fb5 100644 --- a/src/sql/kernel/qsqlresult_p.h +++ b/src/sql/kernel/qsqlresult_p.h @@ -135,7 +135,7 @@ public: QString executedQuery; QHash types; QVector values; - typedef QHash > IndexMap; + typedef QHash > IndexMap; IndexMap indexes; typedef QVector QHolderVector; -- cgit v1.2.3