[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: