diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d2b72c79d..3dbcbf505 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -36,7 +36,7 @@ jobs:
java-version: 1.8
- name: Start test databases
- run: docker-compose --file travis/docker-compose.yml up --detach mysql postgresql mongo
+ run: docker-compose --file travis/docker-compose.yml up --detach db2 mysql postgresql mongo
- name: Initialize cache
uses: actions/cache@v1
diff --git a/pom.xml b/pom.xml
index 0ba946ced..b43ad4ba8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,6 +40,7 @@
-Xms256m -Xmx512m
+ 11.5.0.0
10.11.1.1
2.3.2
1.4.186
@@ -694,7 +695,6 @@
com.querydsl.core.testutil.Performance,
com.querydsl.core.testutil.ReportingOnly,
- com.querydsl.core.testutil.DB2,
com.querydsl.core.testutil.SQLServer,
com.querydsl.core.testutil.Teradata,
com.querydsl.core.testutil.Oracle,
diff --git a/querydsl-sql-spatial/pom.xml b/querydsl-sql-spatial/pom.xml
index 2312feda5..31e1aea67 100644
--- a/querydsl-sql-spatial/pom.xml
+++ b/querydsl-sql-spatial/pom.xml
@@ -61,6 +61,12 @@
test
+
+ com.ibm.db2
+ jcc
+ ${db2.version}
+ test
+
org.apache.derby
derby
@@ -274,16 +280,6 @@
-
- db2
-
-
- com.ibm.db2
- db2-jdbc
- 1.0
-
-
-
diff --git a/querydsl-sql/pom.xml b/querydsl-sql/pom.xml
index 875600354..1226667ca 100644
--- a/querydsl-sql/pom.xml
+++ b/querydsl-sql/pom.xml
@@ -56,9 +56,15 @@
org.apache.servicemix.bundles
org.apache.servicemix.bundles.javax-inject
1_2
-
+
+
+ com.ibm.db2
+ jcc
+ ${db2.version}
+ test
+
cglib
cglib
@@ -310,16 +316,6 @@
-
- db2
-
-
- com.ibm.db2
- db2-jdbc
- 1.0
-
-
-
diff --git a/querydsl-sql/src/test/java/com/querydsl/sql/InsertBase.java b/querydsl-sql/src/test/java/com/querydsl/sql/InsertBase.java
index 8a796b81a..6cb1650d5 100644
--- a/querydsl-sql/src/test/java/com/querydsl/sql/InsertBase.java
+++ b/querydsl-sql/src/test/java/com/querydsl/sql/InsertBase.java
@@ -353,7 +353,7 @@ public class InsertBase extends AbstractBaseTest {
}
@Test
- @ExcludeIn({HSQLDB, CUBRID, DERBY, FIREBIRD})
+ @ExcludeIn({DB2, HSQLDB, CUBRID, DERBY, FIREBIRD})
public void insert_with_subQuery2() {
// insert into modules(name)
// select 'MyModule'
diff --git a/querydsl-sql/src/test/java/com/querydsl/sql/SelectBase.java b/querydsl-sql/src/test/java/com/querydsl/sql/SelectBase.java
index efc5f206c..09a268996 100644
--- a/querydsl-sql/src/test/java/com/querydsl/sql/SelectBase.java
+++ b/querydsl-sql/src/test/java/com/querydsl/sql/SelectBase.java
@@ -2119,7 +2119,7 @@ public class SelectBase extends AbstractBaseTest {
}
@Test
- @ExcludeIn(DERBY)
+ @ExcludeIn({DB2, DERBY})
public void groupConcat() {
List expected = ImmutableList.of("Mike,Mary", "Joe,Peter,Steve,Jim", "Jennifer,Helen,Daisy,Barbara");
if (Connections.getTarget() == POSTGRESQL) {
@@ -2133,7 +2133,7 @@ public class SelectBase extends AbstractBaseTest {
}
@Test
- @ExcludeIn(DERBY)
+ @ExcludeIn({DB2, DERBY})
public void groupConcat2() {
List expected = ImmutableList.of("Mike-Mary", "Joe-Peter-Steve-Jim", "Jennifer-Helen-Daisy-Barbara");
if (Connections.getTarget() == POSTGRESQL) {
diff --git a/querydsl-sql/src/test/java/com/querydsl/sql/UpdateBase.java b/querydsl-sql/src/test/java/com/querydsl/sql/UpdateBase.java
index a27911ca1..f0e883697 100644
--- a/querydsl-sql/src/test/java/com/querydsl/sql/UpdateBase.java
+++ b/querydsl-sql/src/test/java/com/querydsl/sql/UpdateBase.java
@@ -129,7 +129,7 @@ public class UpdateBase extends AbstractBaseTest {
@Test
@SkipForQuoted
- @ExcludeIn({DERBY})
+ @ExcludeIn({DB2, DERBY})
public void setNullEmptyRootPath() {
StringPath name = Expressions.stringPath("name");
long count = query().from(survey).fetchCount();
diff --git a/travis/docker-compose.yml b/travis/docker-compose.yml
index e3323c0f3..3911acf12 100644
--- a/travis/docker-compose.yml
+++ b/travis/docker-compose.yml
@@ -1,59 +1,70 @@
-mysql:
- image: mysql:5.6.38
- ports:
- - "3306:3306"
- volumes:
- - ./mysql.sh:/docker-entrypoint-initdb.d/mysql.sh
- environment:
- - MYSQL_ROOT_PASSWORD=querydsl
- - MYSQL_USER=querydsl
- - MYSQL_PASSWORD=querydsl
+version: "2.4"
+services:
+ mysql:
+ image: mysql:5.6.38
+ ports:
+ - "3306:3306"
+ volumes:
+ - ./mysql.sh:/docker-entrypoint-initdb.d/mysql.sh
+ environment:
+ - MYSQL_ROOT_PASSWORD=querydsl
+ - MYSQL_USER=querydsl
+ - MYSQL_PASSWORD=querydsl
-postgresql:
- image: mdillon/postgis:9.3-alpine
- ports:
- - "5433:5432"
- volumes:
- - ./postgresql.sql:/docker-entrypoint-initdb.d/postgresql.sql
- environment:
- - POSTGRES_USER=querydsl
- - POSTGRES_PASSWORD=querydsl
- - POSTGRES_DB=querydsl
+ postgresql:
+ image: mdillon/postgis:9.3-alpine
+ ports:
+ - "5433:5432"
+ volumes:
+ - ./postgresql.sql:/docker-entrypoint-initdb.d/postgresql.sql
+ environment:
+ - POSTGRES_USER=querydsl
+ - POSTGRES_PASSWORD=querydsl
+ - POSTGRES_DB=querydsl
-oracle:
- image: wnameless/oracle-xe-11g:16.04
- ports:
- - "1521:1521"
+ oracle:
+ image: wnameless/oracle-xe-11g:16.04
+ ports:
+ - "1521:1521"
-cubrid:
- image: lighthopper/cubrid:9.2.26.0004
- ports:
- - "33000:33000"
- - "30000:30000"
- - "8001:8001"
- - "8002:8002"
- - "1523:1523"
+ cubrid:
+ image: lighthopper/cubrid:9.2.26.0004
+ ports:
+ - "33000:33000"
+ - "30000:30000"
+ - "8001:8001"
+ - "8002:8002"
+ - "1523:1523"
-mongo:
- image: mongo:3.6.1
- ports:
- - "27017:27017"
+ mongo:
+ image: mongo:3.6.1
+ ports:
+ - "27017:27017"
-db2:
- image: ibmcom/db2express-c:10.5.0.5-3.10.0
- ports:
- - "50000:50000"
- environment:
- - DB2INST1_PASSWORD=a3sd!fDj
- - LICENSE=accept
- command: db2start
+ db2:
+ image: ibmcom/db2:11.5.0.0
+ privileged: true
+ ports:
+ - "50000:50000"
+ environment:
+ - DB2INST1_PASSWORD=a3sd!fDj
+ - DBNAME=sample
+ - LICENSE=accept
+ - ARCHIVE_LOGS=false
+ - AUTOCONFIG=false
+ healthcheck:
+ test: ["CMD", "su", "-", "$${DB2INSTANCE}", "-c", "/opt/ibm/db2/V11.5/bin/db2 CONNECT TO sample"]
+ interval: 30s
+ timeout: 40s
+ retries: 10
+ start_period: 40s
-firebird:
- image: jacobalberty/firebird:2.5.6-ss
- ports:
- - "3050:3050"
- environment:
- - ISC_PASSWORD=masterkey
- - FIREBIRD_DATABASE=querydsl.fdb
- - FIREBIRD_USER=querydsl
- - FIREBIRD_PASSWORD=querydsl
+ firebird:
+ image: jacobalberty/firebird:2.5.6-ss
+ ports:
+ - "3050:3050"
+ environment:
+ - ISC_PASSWORD=masterkey
+ - FIREBIRD_DATABASE=querydsl.fdb
+ - FIREBIRD_USER=querydsl
+ - FIREBIRD_PASSWORD=querydsl