Bug#879960: libqt5sql5-psql: [libqt5sql5-psql] basic support postgresql-10
Package: libqt5sql5-psql
Version: 5.9.1+dfsg-12
Severity: important
Tags: patch
Dear Maintainer,
* QT-5.9.[1,2] (and future QT-5.10?) in the upstram do not support PostgreSQL 10.
* Futire Debian release (at least the current SID) includes PostgreSQL 10.
* Users who use QPSQLDriver in there applications (e.g. who use akonadi-backend-postgresql) are not able to work completely.
* I suppose that a basic support of PostgreSQL 10 in QPSQLDriver will provide (at least temporal) solution until QT team support in the upstream.
-- System Information:
Debian Release: buster/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.13.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8), LANGUAGE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages libqt5sql5-psql depends on:
ii libc6 2.24-17
ii libpq5 10.0-1+b1
ii libqt5core5a [qtbase-abi-5-9-0] 5.9.1+dfsg-12.1
ii libqt5sql5 5.9.1+dfsg-12.1
ii libstdc++6 7.2.0-12
libqt5sql5-psql recommends no packages.
libqt5sql5-psql suggests no packages.
-- no debconf information
Description: support postgresql 10
.
qtbase-opensource-src (5.9.1+dfsg-12.1) UNRELEASED; urgency=medium
.
* Non-maintainer upload.
* Add postgresql-10 support.
Author: Damir R. Islamov <damir@trefle.ru>
Last-Update: 2017-10-17
--- qtbase-opensource-src-5.9.1+dfsg.orig/src/plugins/sqldrivers/psql/qsql_psql.cpp
+++ qtbase-opensource-src-5.9.1+dfsg/src/plugins/sqldrivers/psql/qsql_psql.cpp
@@ -748,6 +748,9 @@ static QPSQLDriver::Protocol qMakePSQLVe
case 9:
return QPSQLDriver::Version9;
break;
+ case 10:
+ return QPSQLDriver::Version10;
+ break;
default:
break;
}
@@ -993,7 +996,8 @@ bool QPSQLDriver::commitTransaction()
d->pro == QPSQLDriver::Version82 ||
d->pro == QPSQLDriver::Version83 ||
d->pro == QPSQLDriver::Version84 ||
- d->pro == QPSQLDriver::Version9) {
+ d->pro == QPSQLDriver::Version9 ||
+ d->pro == QPSQLDriver::Version10) {
transaction_failed = qstrcmp(PQcmdStatus(res), "ROLLBACK") == 0;
}
@@ -1110,6 +1114,7 @@ QSqlIndex QPSQLDriver::primaryIndex(cons
case QPSQLDriver::Version83:
case QPSQLDriver::Version84:
case QPSQLDriver::Version9:
+ case QPSQLDriver::Version10:
stmt = QLatin1String("SELECT pg_attribute.attname, pg_attribute.atttypid::int, "
"pg_class.relname "
"FROM pg_attribute, pg_class "
@@ -1200,6 +1205,7 @@ QSqlRecord QPSQLDriver::record(const QSt
case QPSQLDriver::Version83:
case QPSQLDriver::Version84:
case QPSQLDriver::Version9:
+ case QPSQLDriver::Version10:
stmt = QLatin1String("select pg_attribute.attname, pg_attribute.atttypid::int, "
"pg_attribute.attnotnull, pg_attribute.attlen, pg_attribute.atttypmod, "
"pg_attrdef.adsrc "
--- qtbase-opensource-src-5.9.1+dfsg.orig/src/plugins/sqldrivers/psql/qsql_psql_p.h
+++ qtbase-opensource-src-5.9.1+dfsg/src/plugins/sqldrivers/psql/qsql_psql_p.h
@@ -84,7 +84,8 @@ public:
Version82 = 13,
Version83 = 14,
Version84 = 15,
- Version9 = 16
+ Version9 = 16,
+ Version10 = 17
};
explicit QPSQLDriver(QObject *parent=0);
Reply to: