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