PSQL: don't recreate QSqlField in loop in QPSQLResult::record()

Move out the QSqlField variable out of the loop to avoid useless
(de)allocations of QSqlField.

Change-Id: I2c9e4c84f75e994d5eb1438839d502f6da531841
Reviewed-by: Robert Szefner <robertsz27@interia.pl>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
This commit is contained in:
Christian Ehrlicher 2019-09-29 21:28:52 +02:00
parent dabc33bf95
commit a978d21dac

View File

@ -812,8 +812,8 @@ QSqlRecord QPSQLResult::record() const
return info;
int count = PQnfields(d->result);
QSqlField f;
for (int i = 0; i < count; ++i) {
QSqlField f;
if (d->drv_d_func()->isUtf8)
f.setName(QString::fromUtf8(PQfname(d->result, i)));
else
@ -833,6 +833,8 @@ QSqlRecord QPSQLResult::record() const
}
}
f.setTableName(tableName);
} else {
f.setTableName(QString());
}
int ptype = PQftype(d->result, i);
f.setType(qDecodePSQLType(ptype));