Skip to content

Commit 795759a

Browse files
authored
Feature/89 add oracle support (#90)
* Oracle DB support
1 parent 061f385 commit 795759a

20 files changed

+634
-166
lines changed

.classpath

Lines changed: 0 additions & 33 deletions
This file was deleted.

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,6 @@ target
3030
*.bak
3131
*.orig
3232
*.old
33-
*.md.html
33+
*.md.html
34+
.project
35+
.classpath

.project

Lines changed: 0 additions & 23 deletions
This file was deleted.

dependencies.md

Lines changed: 88 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -3,103 +3,107 @@
33

44
## Compile Dependencies
55

6-
| Dependency | License |
7-
| ------------------------------------------ | -------- |
8-
| [Exasol Database fundamentals for Java][0] | [MIT][1] |
9-
| [error-reporting-java][2] | [MIT][1] |
6+
| Dependency | License |
7+
| ------------------------------------------ | ------------------------------------------------ |
8+
| [ojdbc11][0] | [Oracle Free Use Terms and Conditions (FUTC)][1] |
9+
| [Exasol Database fundamentals for Java][2] | [MIT][3] |
10+
| [error-reporting-java][4] | [MIT][3] |
1011

1112
## Test Dependencies
1213

1314
| Dependency | License |
1415
| ---------------------------------------------- | --------------------------------- |
15-
| [Test containers for Exasol on Docker][4] | [MIT][1] |
16-
| [Testcontainers :: JUnit Jupiter Extension][6] | [MIT][7] |
17-
| [Testcontainers :: JDBC :: MySQL][6] | [MIT][7] |
18-
| [Testcontainers :: JDBC :: PostgreSQL][6] | [MIT][7] |
19-
| [Matcher for SQL Result Sets][12] | [MIT][1] |
20-
| [Hamcrest][14] | [BSD License 3][15] |
21-
| [JUnit Jupiter Engine][16] | [Eclipse Public License v2.0][17] |
22-
| [JUnit Jupiter Params][16] | [Eclipse Public License v2.0][17] |
23-
| [mockito-junit-jupiter][20] | [The MIT License][21] |
24-
| [EqualsVerifier][22] | [Apache License, Version 2.0][23] |
16+
| [Test containers for Exasol on Docker][6] | [MIT][3] |
17+
| [Testcontainers :: JUnit Jupiter Extension][8] | [MIT][9] |
18+
| [Testcontainers :: JDBC :: MySQL][8] | [MIT][9] |
19+
| [Testcontainers :: JDBC :: PostgreSQL][8] | [MIT][9] |
20+
| [Testcontainers :: JDBC :: Oracle XE][8] | [MIT][9] |
21+
| [Matcher for SQL Result Sets][16] | [MIT][3] |
22+
| [Hamcrest][18] | [BSD License 3][19] |
23+
| [JUnit Jupiter Engine][20] | [Eclipse Public License v2.0][21] |
24+
| [JUnit Jupiter Params][20] | [Eclipse Public License v2.0][21] |
25+
| [mockito-junit-jupiter][24] | [The MIT License][25] |
26+
| [EqualsVerifier][26] | [Apache License, Version 2.0][27] |
2527

2628
## Runtime Dependencies
2729

2830
| Dependency | License |
2931
| ----------------------------- | ------------------------------------------------------ |
30-
| [EXASolution JDBC Driver][24] | [EXAClient License][25] |
31-
| [MySQL Connector/J][26] | The GNU General Public License, v2 with FOSS exception |
32-
| [PostgreSQL JDBC Driver][27] | [BSD-2-Clause][28] |
32+
| [EXASolution JDBC Driver][28] | [EXAClient License][29] |
33+
| [MySQL Connector/J][30] | The GNU General Public License, v2 with FOSS exception |
34+
| [PostgreSQL JDBC Driver][31] | [BSD-2-Clause][32] |
3335

3436
## Plugin Dependencies
3537

3638
| Dependency | License |
3739
| ------------------------------------------------------- | ---------------------------------------------- |
38-
| [Maven Surefire Plugin][29] | [Apache License, Version 2.0][30] |
39-
| [JaCoCo :: Maven Plugin][31] | [Eclipse Public License 2.0][32] |
40-
| [Apache Maven Compiler Plugin][33] | [Apache License, Version 2.0][30] |
41-
| [Maven Failsafe Plugin][35] | [Apache License, Version 2.0][30] |
42-
| [Apache Maven Source Plugin][37] | [Apache License, Version 2.0][30] |
43-
| [Apache Maven Javadoc Plugin][39] | [Apache License, Version 2.0][30] |
44-
| [Apache Maven GPG Plugin][41] | [Apache License, Version 2.0][42] |
45-
| [OpenFastTrace Maven Plugin][43] | [GNU General Public License v3.0][44] |
46-
| [org.sonatype.ossindex.maven:ossindex-maven-plugin][45] | [ASL2][42] |
47-
| [Versions Maven Plugin][47] | [Apache License, Version 2.0][30] |
48-
| [Apache Maven Enforcer Plugin][49] | [Apache License, Version 2.0][30] |
49-
| [Project keeper maven plugin][51] | [MIT][1] |
50-
| [Maven Deploy Plugin][53] | [The Apache Software License, Version 2.0][42] |
51-
| [Nexus Staging Maven Plugin][55] | [Eclipse Public License][56] |
52-
| [error-code-crawler-maven-plugin][57] | [MIT][1] |
53-
| [Reproducible Build Maven Plugin][59] | [Apache 2.0][42] |
54-
| [Maven Clean Plugin][61] | [The Apache Software License, Version 2.0][42] |
55-
| [Maven Resources Plugin][63] | [The Apache Software License, Version 2.0][42] |
56-
| [Maven JAR Plugin][65] | [The Apache Software License, Version 2.0][42] |
57-
| [Maven Install Plugin][67] | [The Apache Software License, Version 2.0][42] |
58-
| [Maven Site Plugin 3][69] | [The Apache Software License, Version 2.0][42] |
40+
| [Maven Surefire Plugin][33] | [Apache License, Version 2.0][34] |
41+
| [JaCoCo :: Maven Plugin][35] | [Eclipse Public License 2.0][36] |
42+
| [Apache Maven Compiler Plugin][37] | [Apache License, Version 2.0][34] |
43+
| [Maven Failsafe Plugin][39] | [Apache License, Version 2.0][34] |
44+
| [Apache Maven Source Plugin][41] | [Apache License, Version 2.0][34] |
45+
| [Apache Maven Javadoc Plugin][43] | [Apache License, Version 2.0][34] |
46+
| [Apache Maven GPG Plugin][45] | [Apache License, Version 2.0][46] |
47+
| [OpenFastTrace Maven Plugin][47] | [GNU General Public License v3.0][48] |
48+
| [org.sonatype.ossindex.maven:ossindex-maven-plugin][49] | [ASL2][46] |
49+
| [Versions Maven Plugin][51] | [Apache License, Version 2.0][34] |
50+
| [Apache Maven Enforcer Plugin][53] | [Apache License, Version 2.0][34] |
51+
| [Project keeper maven plugin][55] | [MIT][3] |
52+
| [Maven Deploy Plugin][57] | [The Apache Software License, Version 2.0][46] |
53+
| [Nexus Staging Maven Plugin][59] | [Eclipse Public License][60] |
54+
| [error-code-crawler-maven-plugin][61] | [MIT][3] |
55+
| [Reproducible Build Maven Plugin][63] | [Apache 2.0][46] |
56+
| [Maven Clean Plugin][65] | [The Apache Software License, Version 2.0][46] |
57+
| [Maven Resources Plugin][67] | [The Apache Software License, Version 2.0][46] |
58+
| [Maven JAR Plugin][69] | [The Apache Software License, Version 2.0][46] |
59+
| [Maven Install Plugin][71] | [The Apache Software License, Version 2.0][46] |
60+
| [Maven Site Plugin 3][73] | [The Apache Software License, Version 2.0][46] |
5961

60-
[31]: https://www.eclemma.org/jacoco/index.html
61-
[51]: https://github.com/exasol/project-keeper-maven-plugin
62-
[2]: https://github.com/exasol/error-reporting-java
63-
[0]: https://github.com/exasol/db-fundamentals-java
64-
[27]: https://jdbc.postgresql.org
65-
[42]: http://www.apache.org/licenses/LICENSE-2.0.txt
66-
[29]: https://maven.apache.org/surefire/maven-surefire-plugin/
67-
[55]: http://www.sonatype.com/public-parent/nexus-maven-plugins/nexus-staging/nexus-staging-maven-plugin/
68-
[25]: https://www.exasol.com/support/secure/attachment/155343/EXASOL_SDK-7.0.11.tar.gz
69-
[28]: https://jdbc.postgresql.org/about/license.html
70-
[61]: http://maven.apache.org/plugins/maven-clean-plugin/
71-
[1]: https://opensource.org/licenses/MIT
72-
[20]: https://github.com/mockito/mockito
73-
[35]: https://maven.apache.org/surefire/maven-failsafe-plugin/
74-
[47]: http://www.mojohaus.org/versions-maven-plugin/
75-
[15]: http://opensource.org/licenses/BSD-3-Clause
76-
[33]: https://maven.apache.org/plugins/maven-compiler-plugin/
77-
[7]: http://opensource.org/licenses/MIT
78-
[41]: http://maven.apache.org/plugins/maven-gpg-plugin/
79-
[23]: https:///www.apache.org/licenses/LICENSE-2.0.txt
80-
[43]: https://github.com/itsallcode/openfasttrace-maven-plugin
81-
[32]: https://www.eclipse.org/legal/epl-2.0/
82-
[56]: http://www.eclipse.org/legal/epl-v10.html
83-
[4]: https://github.com/exasol/exasol-testcontainers
84-
[21]: https://github.com/mockito/mockito/blob/main/LICENSE
85-
[12]: https://github.com/exasol/hamcrest-resultset-matcher
86-
[59]: http://zlika.github.io/reproducible-build-maven-plugin
87-
[44]: https://www.gnu.org/licenses/gpl-3.0.html
88-
[65]: http://maven.apache.org/plugins/maven-jar-plugin/
89-
[30]: https://www.apache.org/licenses/LICENSE-2.0.txt
90-
[49]: https://maven.apache.org/enforcer/maven-enforcer-plugin/
91-
[26]: http://dev.mysql.com/doc/connector-j/en/
92-
[24]: http://www.exasol.com
93-
[17]: https://www.eclipse.org/legal/epl-v20.html
94-
[67]: http://maven.apache.org/plugins/maven-install-plugin/
95-
[16]: https://junit.org/junit5/
96-
[45]: https://sonatype.github.io/ossindex-maven/maven-plugin/
97-
[6]: https://testcontainers.org
98-
[22]: https:///www.jqno.nl/equalsverifier
99-
[37]: https://maven.apache.org/plugins/maven-source-plugin/
100-
[14]: http://hamcrest.org/JavaHamcrest/
101-
[53]: http://maven.apache.org/plugins/maven-deploy-plugin/
102-
[69]: http://maven.apache.org/plugins/maven-site-plugin/
103-
[63]: http://maven.apache.org/plugins/maven-resources-plugin/
104-
[39]: https://maven.apache.org/plugins/maven-javadoc-plugin/
105-
[57]: https://github.com/exasol/error-code-crawler-maven-plugin
62+
[35]: https://www.eclemma.org/jacoco/index.html
63+
[55]: https://github.com/exasol/project-keeper-maven-plugin
64+
[0]: https://www.oracle.com/database/technologies/maven-central-guide.html
65+
[4]: https://github.com/exasol/error-reporting-java
66+
[2]: https://github.com/exasol/db-fundamentals-java
67+
[31]: https://jdbc.postgresql.org
68+
[46]: http://www.apache.org/licenses/LICENSE-2.0.txt
69+
[33]: https://maven.apache.org/surefire/maven-surefire-plugin/
70+
[59]: http://www.sonatype.com/public-parent/nexus-maven-plugins/nexus-staging/nexus-staging-maven-plugin/
71+
[29]: https://www.exasol.com/support/secure/attachment/155343/EXASOL_SDK-7.0.11.tar.gz
72+
[32]: https://jdbc.postgresql.org/about/license.html
73+
[65]: http://maven.apache.org/plugins/maven-clean-plugin/
74+
[1]: https://www.oracle.com/downloads/licenses/oracle-free-license.html
75+
[3]: https://opensource.org/licenses/MIT
76+
[24]: https://github.com/mockito/mockito
77+
[39]: https://maven.apache.org/surefire/maven-failsafe-plugin/
78+
[51]: http://www.mojohaus.org/versions-maven-plugin/
79+
[19]: http://opensource.org/licenses/BSD-3-Clause
80+
[37]: https://maven.apache.org/plugins/maven-compiler-plugin/
81+
[9]: http://opensource.org/licenses/MIT
82+
[45]: http://maven.apache.org/plugins/maven-gpg-plugin/
83+
[27]: https:///www.apache.org/licenses/LICENSE-2.0.txt
84+
[47]: https://github.com/itsallcode/openfasttrace-maven-plugin
85+
[36]: https://www.eclipse.org/legal/epl-2.0/
86+
[60]: http://www.eclipse.org/legal/epl-v10.html
87+
[6]: https://github.com/exasol/exasol-testcontainers
88+
[25]: https://github.com/mockito/mockito/blob/main/LICENSE
89+
[16]: https://github.com/exasol/hamcrest-resultset-matcher
90+
[63]: http://zlika.github.io/reproducible-build-maven-plugin
91+
[48]: https://www.gnu.org/licenses/gpl-3.0.html
92+
[69]: http://maven.apache.org/plugins/maven-jar-plugin/
93+
[34]: https://www.apache.org/licenses/LICENSE-2.0.txt
94+
[53]: https://maven.apache.org/enforcer/maven-enforcer-plugin/
95+
[30]: http://dev.mysql.com/doc/connector-j/en/
96+
[28]: http://www.exasol.com
97+
[21]: https://www.eclipse.org/legal/epl-v20.html
98+
[71]: http://maven.apache.org/plugins/maven-install-plugin/
99+
[20]: https://junit.org/junit5/
100+
[49]: https://sonatype.github.io/ossindex-maven/maven-plugin/
101+
[8]: https://testcontainers.org
102+
[26]: https:///www.jqno.nl/equalsverifier
103+
[41]: https://maven.apache.org/plugins/maven-source-plugin/
104+
[18]: http://hamcrest.org/JavaHamcrest/
105+
[57]: http://maven.apache.org/plugins/maven-deploy-plugin/
106+
[73]: http://maven.apache.org/plugins/maven-site-plugin/
107+
[67]: http://maven.apache.org/plugins/maven-resources-plugin/
108+
[43]: https://maven.apache.org/plugins/maven-javadoc-plugin/
109+
[61]: https://github.com/exasol/error-code-crawler-maven-plugin

doc/changes/changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Changes
22

3+
* [3.3.0](changes_3.3.0.md)
34
* [3.2.2](changes_3.2.2.md)
45
* [3.2.1](changes_3.2.1.md)
56
* [3.2.0](changes_3.2.0.md)

doc/changes/changes_3.3.0.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Test Database Builder for Java 3.3.0, released 2022-02-11
2+
3+
Code name: Added Oracle support
4+
5+
## Features
6+
7+
* #89: Added support for Oracle (xe) databases.
8+
9+
## Dependency Updates
10+
11+
### Compile Dependency Updates
12+
13+
* Added `com.oracle.database.jdbc:ojdbc11:21.4.0.0.1`
14+
15+
### Runtime Dependency Updates
16+
17+
* Updated `mysql:mysql-connector-java:8.0.27` to `8.0.28`
18+
* Updated `org.postgresql:postgresql:42.3.1` to `42.3.2`
19+
20+
### Test Dependency Updates
21+
22+
* Updated `com.exasol:exasol-testcontainers:5.1.1` to `6.0.0`
23+
* Added `org.testcontainers:oracle-xe:1.16.2`

pom.xml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>com.exasol</groupId>
66
<artifactId>test-db-builder-java</artifactId>
7-
<version>3.2.2</version>
7+
<version>3.3.0</version>
88
<name>Test Database Builder for Java</name>
99
<description>pom.xml</description>
1010
<url>https://github.com/exasol/test-db-builder-java</url>
@@ -75,15 +75,20 @@
7575
<dependency>
7676
<groupId>mysql</groupId>
7777
<artifactId>mysql-connector-java</artifactId>
78-
<version>8.0.27</version>
78+
<version>8.0.28</version>
7979
<scope>runtime</scope>
8080
</dependency>
8181
<dependency>
8282
<groupId>org.postgresql</groupId>
8383
<artifactId>postgresql</artifactId>
84-
<version>42.3.1</version>
84+
<version>42.3.2</version>
8585
<scope>runtime</scope>
8686
</dependency>
87+
<dependency>
88+
<groupId>com.oracle.database.jdbc</groupId>
89+
<artifactId>ojdbc11</artifactId>
90+
<version>21.4.0.0.1</version>
91+
</dependency>
8792
<dependency>
8893
<groupId>com.exasol</groupId>
8994
<artifactId>db-fundamentals-java</artifactId>
@@ -92,7 +97,7 @@
9297
<dependency>
9398
<groupId>com.exasol</groupId>
9499
<artifactId>exasol-testcontainers</artifactId>
95-
<version>5.1.1</version>
100+
<version>6.0.0</version>
96101
<scope>test</scope>
97102
</dependency>
98103
<dependency>
@@ -113,6 +118,12 @@
113118
<version>${test.containers.version}</version>
114119
<scope>test</scope>
115120
</dependency>
121+
<dependency>
122+
<groupId>org.testcontainers</groupId>
123+
<artifactId>oracle-xe</artifactId>
124+
<version>1.16.2</version>
125+
<scope>test</scope>
126+
</dependency>
116127
<dependency>
117128
<groupId>com.exasol</groupId>
118129
<artifactId>hamcrest-resultset-matcher</artifactId>

src/main/java/com/exasol/dbbuilder/dialects/AbstractImmediateDatabaseObjectWriter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public abstract class AbstractImmediateDatabaseObjectWriter implements DatabaseO
2121
*
2222
* @param connection JDBC connection
2323
*/
24-
public AbstractImmediateDatabaseObjectWriter(final Connection connection) {
24+
protected AbstractImmediateDatabaseObjectWriter(final Connection connection) {
2525
this.connection = connection;
2626
}
2727

@@ -102,7 +102,7 @@ public void write(final Table table, final Stream<List<Object>> rows) {
102102
}
103103

104104
private void writeRow(final Table table, final String sql, final PreparedStatement preparedStatement,
105-
final List<Object> row) {
105+
final List<Object> row) {
106106
try {
107107
for (int i = 0; i < row.size(); ++i) {
108108
preparedStatement.setObject(i + 1, row.get(i));

0 commit comments

Comments
 (0)