Go to file
Andy Shaw 6c6ace9d23 psql: Improve performance of record()
In order to save having to always run a query to get the tablename for
a known oid then we cache the result on the driver side. The oid stays
the same while the table exists, so only on dropping it would it change.
Recreating the table causes it to get a new oid, so there is no risk of
the old one being associated with the wrong table when this happens, if
the driver is still open at that point.

The benchmark added shows the improvement from the previous code, before
the results for PostgreSQL was:

RESULT : tst_QSqlRecord::benchmarkRecord():"0_QPSQL@localhost":
     259 msecs per iteration (total: 259, iterations: 1)

whereas now it is:

RESULT : tst_QSqlRecord::benchmarkRecord():"0_QPSQL@localhost":
     0.000014 msecs per iteration (total: 59, iterations: 4194304)

Task-number: QTBUG-65226
Change-Id: Ic290cff719102743da84e2044cd23e540f20c96c
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Robert Szefner <robertsz27@interia.pl>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-02-08 18:24:48 +00:00
bin Fix macOS shadow prefix builds using pre-synced source packages 2017-11-22 07:39:45 +00:00
config.tests Merge remote-tracking branch 'origin/5.9' into 5.10 2018-01-19 09:48:10 +01:00
dist Add changes file for Qt 5.10.1 2018-02-07 16:13:26 +00:00
doc Merge remote-tracking branch 'origin/5.9' into 5.10 2018-01-19 09:48:10 +01:00
examples Merge remote-tracking branch 'origin/5.9' into 5.10 2018-01-29 20:49:24 +01:00
lib
mkspecs unify windows mkspecs: move angle/vulkan includes 2018-01-27 03:55:53 +00:00
qmake Merge remote-tracking branch 'origin/5.9' into 5.10 2018-01-26 10:09:06 +01:00
src psql: Improve performance of record() 2018-02-08 18:24:48 +00:00
tests psql: Improve performance of record() 2018-02-08 18:24:48 +00:00
util Merge remote-tracking branch 'origin/5.9' into 5.10 2017-12-30 12:09:53 +01:00
.gitattributes
.gitignore gitignore: don't ignore Info.plist templates for libraries 2017-11-23 07:07:48 +00:00
.qmake.conf Bump version 2017-12-20 12:05:48 +01:00
.tag
config_help.txt config_help.txt: document that some sanitize combinations are not valid 2018-01-17 18:09:41 +00:00
configure configure: dispose of which.test 2017-08-02 16:37:32 +00:00
configure.bat configure: Prefer cl.exe over clang-cl.exe 2018-01-04 21:22:42 +00:00
configure.json Export sanitizer as a global config 2017-12-18 16:20:58 +00:00
configure.pri Merge remote-tracking branch 'origin/5.9' into 5.10 2017-12-30 12:09:53 +01:00
header.BSD
header.COMM
header.FDL
header.GPL
header.GPL-EXCEPT
header.LGPL
header.LGPL3
header.LGPL3-COMM
header.LGPL-NOGPL2
header.LGPL-ONLY
INSTALL
LGPL_EXCEPTION.txt
LICENSE.FDL
LICENSE.GPL2
LICENSE.GPL3
LICENSE.GPL3-EXCEPT
LICENSE.GPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.LGPL3
LICENSE.LGPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.LGPLv21 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.PREVIEW.COMMERCIAL
qtbase.pro nuke configure -host-option 2016-12-13 18:55:59 +00:00
sync.profile Fix syncqt after commit 40fe5d43fd 2017-09-08 13:21:47 +00:00