From 364eb3f4561747275c1649fda3fd60c1c16632f9 Mon Sep 17 00:00:00 2001 From: tnut Date: Sun, 8 Jan 2012 12:25:45 +0100 Subject: Suppression des ports extra --- extra/qt/qt-4.7.1-add-postgresql9.patch | 215 -------------------------------- 1 file changed, 215 deletions(-) delete mode 100644 extra/qt/qt-4.7.1-add-postgresql9.patch (limited to 'extra/qt/qt-4.7.1-add-postgresql9.patch') diff --git a/extra/qt/qt-4.7.1-add-postgresql9.patch b/extra/qt/qt-4.7.1-add-postgresql9.patch deleted file mode 100644 index 32c45a80a..000000000 --- a/extra/qt/qt-4.7.1-add-postgresql9.patch +++ /dev/null @@ -1,215 +0,0 @@ -From 03f94089a16cf6b6a3b533ba1f90444eb18c29ab Mon Sep 17 00:00:00 2001 -From: Charles Yin -Date: Thu, 4 Nov 2010 15:38:57 +1000 -Subject: [PATCH] Add Postgresql 8.x and 9 supports - -Change-Id: Ic740686ead768cc3e106703049d878549dfd3c6a -Task-number:QTBUG-14206 -Reviewed-by: Michael Goddard ---- - src/sql/drivers/psql/qsql_psql.cpp | 116 +++++++++++++++++++++--------- - src/sql/drivers/psql/qsql_psql.h | 6 ++- - tests/auto/qsqldatabase/tst_databases.h | 2 + - 3 files changed, 88 insertions(+), 36 deletions(-) - -diff --git a/src/sql/drivers/psql/qsql_psql.cpp b/src/sql/drivers/psql/qsql_psql.cpp -index 2a4e595..bf9685f 100644 ---- a/src/sql/drivers/psql/qsql_psql.cpp -+++ b/src/sql/drivers/psql/qsql_psql.cpp -@@ -54,7 +54,6 @@ - #include - #include - -- - #include - #include - -@@ -619,6 +618,50 @@ static void setDatestyle(PGconn* connection) - PQclear(result); - } - -+static QPSQLDriver::Protocol qMakePSQLVersion(int vMaj, int vMin) -+{ -+ switch (vMaj) { -+ case 6: -+ return QPSQLDriver::Version6; -+ case 7: -+ { -+ switch (vMin) { -+ case 1: -+ return QPSQLDriver::Version71; -+ case 3: -+ return QPSQLDriver::Version73; -+ case 4: -+ return QPSQLDriver::Version74; -+ default: -+ return QPSQLDriver::Version7; -+ } -+ break; -+ } -+ case 8: -+ { -+ switch (vMin) { -+ case 1: -+ return QPSQLDriver::Version81; -+ case 2: -+ return QPSQLDriver::Version82; -+ case 3: -+ return QPSQLDriver::Version83; -+ case 4: -+ return QPSQLDriver::Version84; -+ default: -+ return QPSQLDriver::Version8; -+ } -+ break; -+ } -+ case 9: -+ return QPSQLDriver::Version9; -+ break; -+ default: -+ break; -+ } -+ return QPSQLDriver::VersionUnknown; -+} -+ - static QPSQLDriver::Protocol getPSQLVersion(PGconn* connection) - { - QPSQLDriver::Protocol serverVersion = QPSQLDriver::Version6; -@@ -626,50 +669,44 @@ static QPSQLDriver::Protocol getPSQLVersion(PGconn* connection) - int status = PQresultStatus(result); - if (status == PGRES_COMMAND_OK || status == PGRES_TUPLES_OK) { - QString val = QString::fromAscii(PQgetvalue(result, 0, 0)); -+ - QRegExp rx(QLatin1String("(\\d+)\\.(\\d+)")); - rx.setMinimal(true); // enforce non-greedy RegExp -+ - if (rx.indexIn(val) != -1) { - int vMaj = rx.cap(1).toInt(); - int vMin = rx.cap(2).toInt(); -- -- switch (vMaj) { -- case 7: -- switch (vMin) { -- case 0: -- serverVersion = QPSQLDriver::Version7; -- break; -- case 1: -- case 2: -- serverVersion = QPSQLDriver::Version71; -- break; -- default: -- serverVersion = QPSQLDriver::Version73; -- break; -- } -- break; -- case 8: -- switch (vMin) { -- case 0: -- serverVersion = QPSQLDriver::Version8; -- break; -- case 1: -- serverVersion = QPSQLDriver::Version81; -- break; -- case 2: -- default: -- serverVersion = QPSQLDriver::Version82; -- break; -- } -- break; -- default: -- break; -+ serverVersion = qMakePSQLVersion(vMaj, vMin); -+#ifdef PG_MAJORVERSION -+ if (rx.indexIn(QLatin1String(PG_MAJORVERSION)) != -1) { -+ vMaj = rx.cap(1).toInt(); -+ vMin = rx.cap(2).toInt(); -+ } -+ QPSQLDriver::Protocol clientVersion = qMakePSQLVersion(vMaj, vMin); -+ -+ if (serverVersion >= QPSQLDriver::Version9 && clientVersion < QPSQLDriver::Version9) { -+ //Client version before QPSQLDriver::Version9 only supports escape mode for bytea type, -+ //but bytea format is set to hex by default in PSQL 9 and above. So need to force the -+ //server use the old escape mode when connects to the new server with old client library. -+ result = PQexec(connection, "SET bytea_output=escape; "); -+ status = PQresultStatus(result); -+ } else if (serverVersion == QPSQLDriver::VersionUnknown) { -+ serverVersion = clientVersion; -+ if (serverVersion != QPSQLDriver::VersionUnknown) -+ qWarning("The server version of this PostgreSQL is unknown, falling back to the client version."); - } -+#endif - } - } - PQclear(result); - -- if (serverVersion < QPSQLDriver::Version71) -+ //keep the old behavior unchanged -+ if (serverVersion == QPSQLDriver::VersionUnknown) -+ serverVersion = QPSQLDriver::Version6; -+ -+ if (serverVersion < QPSQLDriver::Version71) { - qWarning("This version of PostgreSQL is not supported and may not work."); -+ } - - return serverVersion; - } -@@ -852,7 +889,10 @@ bool QPSQLDriver::commitTransaction() - // This hack can dissapear once there is an API to query this sort of information. - if (d->pro == QPSQLDriver::Version8 || - d->pro == QPSQLDriver::Version81 || -- d->pro == QPSQLDriver::Version82) { -+ d->pro == QPSQLDriver::Version82 || -+ d->pro == QPSQLDriver::Version83 || -+ d->pro == QPSQLDriver::Version84 || -+ d->pro == QPSQLDriver::Version9) { - transaction_failed = qstrcmp(PQcmdStatus(res), "ROLLBACK") == 0; - } - -@@ -963,6 +1003,9 @@ QSqlIndex QPSQLDriver::primaryIndex(const QString& tablename) const - case QPSQLDriver::Version8: - case QPSQLDriver::Version81: - case QPSQLDriver::Version82: -+ case QPSQLDriver::Version83: -+ case QPSQLDriver::Version84: -+ case QPSQLDriver::Version9: - stmt = QLatin1String("SELECT pg_attribute.attname, pg_attribute.atttypid::int, " - "pg_class.relname " - "FROM pg_attribute, pg_class " -@@ -1046,6 +1089,9 @@ QSqlRecord QPSQLDriver::record(const QString& tablename) const - case QPSQLDriver::Version8: - case QPSQLDriver::Version81: - case QPSQLDriver::Version82: -+ case QPSQLDriver::Version83: -+ case QPSQLDriver::Version84: -+ case QPSQLDriver::Version9: - stmt = QLatin1String("select pg_attribute.attname, pg_attribute.atttypid::int, " - "pg_attribute.attnotnull, pg_attribute.attlen, pg_attribute.atttypmod, " - "pg_attrdef.adsrc " -diff --git a/src/sql/drivers/psql/qsql_psql.h b/src/sql/drivers/psql/qsql_psql.h -index 22871ff..107da87 100644 ---- a/src/sql/drivers/psql/qsql_psql.h -+++ b/src/sql/drivers/psql/qsql_psql.h -@@ -97,6 +97,7 @@ class Q_EXPORT_SQLDRIVER_PSQL QPSQLDriver : public QSqlDriver - Q_OBJECT - public: - enum Protocol { -+ VersionUnknown = -1, - Version6 = 6, - Version7 = 7, - Version71 = 8, -@@ -104,7 +105,10 @@ public: - Version74 = 10, - Version8 = 11, - Version81 = 12, -- Version82 = 13 -+ Version82 = 13, -+ Version83 = 14, -+ Version84 = 15, -+ Version9 = 16, - }; - - explicit QPSQLDriver(QObject *parent=0); - --- -1.6.1 - -- cgit v1.2.3-54-g00ecf