From e6c6e3c2ce3e95549212c50454d4f65552aae1cb Mon Sep 17 00:00:00 2001
From: Anastasiia Sergienko
<46891819+AnastasiiaSergienko@users.noreply.github.com>
Date: Tue, 2 Mar 2021 17:11:12 +0100
Subject: [PATCH] * #4: Added a new capability for scalar function INITCAP.
(#6)
* #4: Added a new capability for scala function INITCAP.
---
doc/changes/changes_2.0.0.md | 31 +++++++++++++++----
pom.xml | 18 +++++------
.../dialects/oracle/OracleSqlDialect.java | 14 ++++-----
.../dialects/oracle/OracleSqlDialectTest.java | 2 +-
4 files changed, 42 insertions(+), 23 deletions(-)
diff --git a/doc/changes/changes_2.0.0.md b/doc/changes/changes_2.0.0.md
index b0c5f9e..74dde9d 100644
--- a/doc/changes/changes_2.0.0.md
+++ b/doc/changes/changes_2.0.0.md
@@ -1,6 +1,6 @@
-# Oracle Virtual Schemas 2.0.0, released 2021-??-??
+# Oracle Virtual Schemas 2.0.0, released 2021-03-03
-Code name:
+Code name: Removed `SQL_DIALECT` property
## Summary
@@ -8,10 +8,29 @@ The `SQL_DIALECT` property used when executing a `CREATE VIRTUAL SCHEMA` from th
## Features / Enhancements
-* 3: Unified error messages with `error-reporting-java`
+* #3: Unified error messages with `error-reporting-java`.
+* #4: Added a new capability for scala function INITCAP.
-## Plugin Dependencies
+## Dependencies Updates
+
+### Runtime Dependencies
-* Added `com.exasol:error-code-crawler-maven-plugin:0.1.1`
* Updated `com.exasol:error-reporting-java:0.2.0` to `0.2.2`
-* Updated `com.exasol:virtual-schema-common-jdbc:8.0.0` to `9.0.1`
\ No newline at end of file
+* Updated `com.exasol:virtual-schema-common-jdbc:8.0.0` to `9.0.1`
+
+### Test Dependencies
+
+* Updated `org.junit.jupiter:junit-jupiter:5.7.0` to `5.7.1`
+* Updated `org.mockito:mockito-junit-jupiter:3.6.28` to `3.8.0`
+* Updated `nl.jqno.equalsverifier:equalsverifier:3.5` to `3.5.5`
+* Updated `com.exasol:exasol-testcontainers:3.3.1` to `3.5.1`
+* Updated `com.exasol:test-db-builder-java:2.0.0` to `3.1.0`
+* Updated `com.exasol:hamcrest-resultset-matcher:1.2.2` to `1.4.0`
+* Updated `org.testcontainers:junit-jupiter:1.15.0` to `1.15.2`
+* Updated `org.testcontainers:oracle-xe:1.15.0` to `1.15.2`
+
+### Plugin Dependencies
+
+* Added `com.exasol:error-code-crawler-maven-plugin:0.1.1`
+* Updated `org.codehaus.mojo:versions-maven-plugin:2.7` to `2.8.1`
+* Updated `org.jacoco:jacoco-maven-plugin:0.8.5` to `0.8.6`
diff --git a/pom.xml b/pom.xml
index ba86f16..9dece3f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,7 @@
9.0.1
0.2.2
0.1.1
- 1.15.0
+ 1.15.2
target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml
@@ -75,26 +75,26 @@
org.junit.jupiter
junit-jupiter
- 5.7.0
+ 5.7.1
test
org.mockito
mockito-junit-jupiter
- 3.6.28
+ 3.8.0
test
nl.jqno.equalsverifier
equalsverifier
- 3.5
+ 3.5.5
test
com.exasol
exasol-testcontainers
- 3.3.1
+ 3.5.1
test
@@ -118,13 +118,13 @@
com.exasol
test-db-builder-java
- 2.0.0
+ 3.1.0
test
com.exasol
hamcrest-resultset-matcher
- 1.2.2
+ 1.4.0
test
@@ -133,7 +133,7 @@
org.jacoco
jacoco-maven-plugin
- 0.8.5
+ 0.8.6
prepare-agent
@@ -247,7 +247,7 @@
org.codehaus.mojo
versions-maven-plugin
- 2.7
+ 2.8.1
package
diff --git a/src/main/java/com/exasol/adapter/dialects/oracle/OracleSqlDialect.java b/src/main/java/com/exasol/adapter/dialects/oracle/OracleSqlDialect.java
index 6153cd5..fb84b26 100644
--- a/src/main/java/com/exasol/adapter/dialects/oracle/OracleSqlDialect.java
+++ b/src/main/java/com/exasol/adapter/dialects/oracle/OracleSqlDialect.java
@@ -54,7 +54,7 @@ private static Capabilities createCapabilityList() {
ADD_DAYS, ADD_HOURS, ADD_MINUTES, ADD_MONTHS, ADD_SECONDS, ADD_WEEKS, ADD_YEARS, CURRENT_DATE,
CURRENT_TIMESTAMP, DBTIMEZONE, LOCALTIMESTAMP, NUMTODSINTERVAL, NUMTOYMINTERVAL,
SESSIONTIMEZONE, SYSDATE, SYSTIMESTAMP, CAST, TO_CHAR, TO_DATE, TO_DSINTERVAL, TO_YMINTERVAL,
- TO_NUMBER, TO_TIMESTAMP, BIT_AND, BIT_TO_NUM, CASE, NULLIFZERO, ZEROIFNULL)
+ TO_NUMBER, TO_TIMESTAMP, BIT_AND, BIT_TO_NUM, CASE, NULLIFZERO, ZEROIFNULL, INITCAP)
.build();
}
@@ -98,7 +98,7 @@ public StructureElementSupport supportsJdbcSchemas() {
DataType getOracleNumberTargetType() {
if (this.properties.containsKey(ORACLE_CAST_NUMBER_TO_DECIMAL_PROPERTY)) {
- return getOracleNumberTypeFromProperty();
+ return this.getOracleNumberTypeFromProperty();
} else {
return DataType.createMaximumSizeVarChar(DataType.ExaCharset.UTF8);
}
@@ -173,9 +173,9 @@ protected RemoteMetadataReader createRemoteMetadataReader() {
@Override
protected QueryRewriter createQueryRewriter() {
if (this.isImportFromOraEnabled()) {
- return new OracleQueryRewriter(this, createRemoteMetadataReader());
+ return new OracleQueryRewriter(this, this.createRemoteMetadataReader());
}
- return new ImportIntoTemporaryTableQueryRewriter(this, createRemoteMetadataReader(), this.connectionFactory);
+ return new ImportIntoTemporaryTableQueryRewriter(this, this.createRemoteMetadataReader(), this.connectionFactory);
}
private boolean isImportFromOraEnabled() {
@@ -185,8 +185,8 @@ private boolean isImportFromOraEnabled() {
@Override
public void validateProperties() throws PropertyValidationException {
super.validateProperties();
- checkImportPropertyConsistency(ORACLE_IMPORT_PROPERTY, ORACLE_CONNECTION_NAME_PROPERTY);
- validateBooleanProperty(ORACLE_IMPORT_PROPERTY);
- validateCastNumberToDecimalProperty(ORACLE_CAST_NUMBER_TO_DECIMAL_PROPERTY);
+ this.checkImportPropertyConsistency(ORACLE_IMPORT_PROPERTY, ORACLE_CONNECTION_NAME_PROPERTY);
+ this.validateBooleanProperty(ORACLE_IMPORT_PROPERTY);
+ this.validateCastNumberToDecimalProperty(ORACLE_CAST_NUMBER_TO_DECIMAL_PROPERTY);
}
}
\ No newline at end of file
diff --git a/src/test/java/com/exasol/adapter/dialects/oracle/OracleSqlDialectTest.java b/src/test/java/com/exasol/adapter/dialects/oracle/OracleSqlDialectTest.java
index f1541aa..53dc495 100644
--- a/src/test/java/com/exasol/adapter/dialects/oracle/OracleSqlDialectTest.java
+++ b/src/test/java/com/exasol/adapter/dialects/oracle/OracleSqlDialectTest.java
@@ -80,7 +80,7 @@ void testGetCapabilities() {
ADD_MONTHS, ADD_SECONDS, ADD_WEEKS, ADD_YEARS, CURRENT_DATE, CURRENT_TIMESTAMP,
DBTIMEZONE, LOCALTIMESTAMP, NUMTODSINTERVAL, NUMTOYMINTERVAL, SESSIONTIMEZONE, SYSDATE,
SYSTIMESTAMP, CAST, TO_CHAR, TO_DATE, TO_DSINTERVAL, TO_YMINTERVAL, TO_NUMBER,
- TO_TIMESTAMP, BIT_AND, BIT_TO_NUM, CASE, NULLIFZERO, ZEROIFNULL)));
+ TO_TIMESTAMP, BIT_AND, BIT_TO_NUM, CASE, NULLIFZERO, ZEROIFNULL, INITCAP)));
}
@Test