postgresql-jdbc.git / summary / log / commit / refs
commit 3ff47daf68bf45694d5671eef1d9d32fb87f00d3
Author: Vladimir Sitnikov <sitnikov.vladimir@gmail.com>
Date: Sat May 14 13:52:34 2016 +0000
test: add PostgreSQL 9.6 to CI tests (#560)
.travis.yml | 9 ++++++++-
README.md | 4 ++++
.../main/java/org/postgresql/core/ServerVersion.java | 4 +++-
.../java/org/postgresql/jdbc/PgDatabaseMetaData.java | 17 ++++++++++-------
.../org/postgresql/test/jdbc2/DatabaseMetaDataTest.java | 15 +++++++++++++--
travis_deploy.sh | 5 ++++-
travis_install_dependencies.sh | 2 +-
7 files changed, 43 insertions(+), 13 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 92f4671f..27975dfe 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -41,6 +41,13 @@ cache:
matrix:
fast_finish: true
include:
+ - jdk: oraclejdk8
+ sudo: required
+ dist: trusty
+ env:
+ - PG_VERSION=9.6
+ - XA=true
+ - COVERAGE=Y
- jdk: oraclejdk8
sudo: required
dist: trusty
@@ -120,7 +127,7 @@ matrix:
postgresql: "9.4"
env:
- PG_VERSION=9.4
- - MVN_CUSTOM_ARGS='-DwaffleEnabled=false -DosgiEnabled=false -DexcludePackageNames=org.postgresql.osgi:org.postgresql.sspi'
+ - NO_WAFFLE_NO_OSGI=Y
# Deploy snapshots to Maven Central
after_success:
diff --git a/README.md b/README.md
index d1e44719..659f7aaa 100644
--- a/README.md
+++ b/README.md
@@ -20,6 +20,10 @@ For problems with this driver, refer to driver's [home page](http://jdbc.postgre
Most people do not need to compile PgJDBC. You can download prebuilt versions of the driver
from the [Postgresql JDBC site](http://jdbc.postgresql.org/) or using your chosen dependency management tool:
+## Supported PostgreSQL versions
+
+Pgjdbc regression tests are run against PostgreSQL 8.4, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6.
+
### Maven
```xml
<dependency>
diff --git a/pgjdbc/src/main/java/org/postgresql/core/ServerVersion.java b/pgjdbc/src/main/java/org/postgresql/core/ServerVersion.java
index e99ff808..56a84e39 100644
--- a/pgjdbc/src/main/java/org/postgresql/core/ServerVersion.java
+++ b/pgjdbc/src/main/java/org/postgresql/core/ServerVersion.java
@@ -26,7 +26,9 @@ public enum ServerVersion implements Version {
v9_2("9.2.0"),
v9_3("9.3.0"),
v9_4("9.4.0"),
- v9_5("9.5.0"),;
+ v9_5("9.5.0"),
+ v9_6("9.6.0"),
+ ;
private final int version;
diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java
index b8153ce9..add461ea 100644
--- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java
+++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java
@@ -2853,13 +2853,16 @@ public class PgDatabaseMetaData implements DatabaseMetaData {
+ " END AS TYPE, "
+ " (i.keys).n AS ORDINAL_POSITION, "
+ " trim(both '\"' from pg_catalog.pg_get_indexdef(ci.oid, (i.keys).n, false)) AS COLUMN_NAME, "
- + " CASE am.amcanorder "
- + " WHEN true THEN CASE i.indoption[(i.keys).n - 1] & 1 "
- + " WHEN 1 THEN 'D' "
- + " ELSE 'A' "
- + " END "
- + " ELSE NULL "
- + " END AS ASC_OR_DESC, "
+ // TODO: Implement ASC_OR_DESC for PostgreSQL 9.6+
+ + (connection.haveMinimumServerVersion(ServerVersion.v9_6)
+ ? "NULL AS ASC_OR_DESC, "
+ : " CASE am.amcanorder "
+ + " WHEN true THEN CASE i.indoption[(i.keys).n - 1] & 1 "
+ + " WHEN 1 THEN 'D' "
+ + " ELSE 'A' "
+ + " END "
+ + " ELSE NULL "
+ + " END AS ASC_OR_DESC, ")
+ " ci.reltuples AS CARDINALITY, "
+ " ci.relpages AS PAGES, "
+ " pg_catalog.pg_get_expr(i.indpred, i.indrelid) AS FILTER_CONDITION "
diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java
index dca5742a..68a91c14 100644
--- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java
+++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java
@@ -8,6 +8,7 @@
package org.postgresql.test.jdbc2;
+import org.postgresql.core.ServerVersion;
import org.postgresql.test.TestUtil;
import junit.framework.TestCase;
@@ -588,12 +589,22 @@ public class DatabaseMetaDataTest extends TestCase {
assertTrue(rs.next());
assertEquals("idx_a_d", rs.getString("INDEX_NAME"));
assertEquals("id", rs.getString("COLUMN_NAME"));
- assertEquals("A", rs.getString("ASC_OR_DESC"));
+ if (TestUtil.haveMinimumServerVersion(con, ServerVersion.v9_6)) {
+ assertNull("ASC_OR_DESC for index is not yet supported for PostgreSQL 9.6",
+ rs.getString("ASC_OR_DESC"));
+ } else {
+ assertEquals("A", rs.getString("ASC_OR_DESC"));
+ }
assertTrue(rs.next());
assertEquals("idx_a_d", rs.getString("INDEX_NAME"));
assertEquals("quest", rs.getString("COLUMN_NAME"));
- assertEquals("D", rs.getString("ASC_OR_DESC"));
+ if (TestUtil.haveMinimumServerVersion(con, ServerVersion.v9_6)) {
+ assertNull("ASC_OR_DESC for index is not yet supported for PostgreSQL 9.6",
+ rs.getString("ASC_OR_DESC"));
+ } else {
+ assertEquals("D", rs.getString("ASC_OR_DESC"));
+ }
}
public void testPartialIndexInfo() throws SQLException {
diff --git a/travis_deploy.sh b/travis_deploy.sh
index 580b9d7d..4138ba8a 100755
--- a/travis_deploy.sh
+++ b/travis_deploy.sh
@@ -3,7 +3,10 @@ set -x -e
# Skip tests and checkstype to speed up snapshot deployment
MVN_ARGS="clean deploy -B -V -DskipTests -Dcheckstyle.skip=true -Dskip.assembly=true --settings settings.xml"
-MVN_ARGS="$MVN_ARGS $MVN_CUSTOM_ARGS"
+if [[ "${NO_WAFFLE_NO_OSGI}" == *"Y"* ]];
+then
+ MVN_ARGS="$MVN_ARGS -DwaffleEnabled=false -DosgiEnabled=false -DexcludePackageNames=org.postgresql.osgi:org.postgresql.sspi"
+fi
if [[ "${TRAVIS_JDK_VERSION}" == *"jdk6"* ]];
then
diff --git a/travis_install_dependencies.sh b/travis_install_dependencies.sh
index 105850d5..7633b86f 100755
--- a/travis_install_dependencies.sh
+++ b/travis_install_dependencies.sh
@@ -6,7 +6,7 @@ sudo service postgresql stop
sudo cp /etc/postgresql/9.1/main/pg_hba.conf ./
sudo apt-get remove postgresql libpq-dev libpq5 postgresql-client-common postgresql-common -qq --purge
source /etc/lsb-release
-echo "deb http://apt.postgresql.org/pub/repos/apt/ $DISTRIB_CODENAME-pgdg main" > pgdg.list
+echo "deb http://apt.postgresql.org/pub/repos/apt/ $DISTRIB_CODENAME-pgdg main ${PG_VERSION}" > pgdg.list
sudo mv pgdg.list /etc/apt/sources.list.d/
wget --quiet -O - https://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
[parent: dc3bddab3f2b]