Skip to content

Releases: exasol/virtual-schema-common-jdbc

12.0.0: Changes to importing text types and removing deprecated property exception handling.

12 Jan 12:36
0794e3f
Compare
Choose a tag to compare

Summary

Changes to importing text types and removing deprecated property exception handling.

Refactoring

  • #157: Always use utf-8 characterset when importing text types and deprecate IMPORT_DATA_TYPES property (and value FROM_RESULT_SET)
  • #156: Remove deprecated property EXCEPTION_HANDLING

Note: This release excludes vulnerability CVE-2022-46337 in test dependency org.apache.derby:derby:jar:10.14.2.0. Newer versions don’t support Java 8 any more.

Security

  • #154: Updated dependencies

Dependency Updates

Compile Dependency Updates

  • Updated com.exasol:virtual-schema-common-java:17.0.0 to 17.0.1

Test Dependency Updates

  • Updated nl.jqno.equalsverifier:equalsverifier:3.14.3 to 3.15.3
  • Updated org.junit.jupiter:junit-jupiter:5.9.3 to 5.10.1
  • Updated org.mockito:mockito-junit-jupiter:5.4.0 to 5.7.0

Plugin Dependency Updates

  • Updated com.exasol:error-code-crawler-maven-plugin:1.3.0 to 1.3.1
  • Updated com.exasol:project-keeper-maven-plugin:2.9.11 to 3.0.0
  • Updated org.apache.maven.plugins:maven-enforcer-plugin:3.4.0 to 3.4.1
  • Added org.apache.maven.plugins:maven-failsafe-plugin:3.2.3
  • Updated org.apache.maven.plugins:maven-javadoc-plugin:3.5.0 to 3.6.3
  • Updated org.apache.maven.plugins:maven-surefire-plugin:3.1.2 to 3.2.3
  • Added org.apache.maven.plugins:maven-toolchains-plugin:3.1.0
  • Updated org.codehaus.mojo:versions-maven-plugin:2.16.0 to 2.16.2
  • Updated org.jacoco:jacoco-maven-plugin:0.8.10 to 0.8.11
  • Updated org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184 to 3.10.0.2594

11.0.2: Fix in JDBC connection management

15 Sep 08:53
b636605
Compare
Choose a tag to compare

Summary

Connection factory is reused (might improve performance on high-latency DBs).
Close connections after the end of request.

Features

  • #151: Ensured all connections are closed on failure, fixed connection factory creation

Dependency Updates

Plugin Dependency Updates

  • Updated com.exasol:project-keeper-maven-plugin:2.9.9 to 2.9.11
  • Updated org.apache.maven.plugins:maven-enforcer-plugin:3.3.0 to 3.4.0

11.0.1: Fix Issue With Integer Constants in `GROUP BY`

11 Jul 06:25
255e547
Compare
Choose a tag to compare

Summary

This release fixes an issue with queries using DISTINCT with integer constants. The Exasol SQL processor turns DISTINCT <integer> into GROUP BY <integer> before push-down as an optimization. The adapter must not feed this back as Exasol interprets integers in GROUP BY clauses as column numbers which could lead to invalid results or the following error:

42000:Wrong column number. Too small value 0 as select list column reference in GROUP BY (smallest possible value is 1)

To fix this, VSCJDBC now replaces integer constants in GROUP BY clauses with a constant string.

Please that you can still safely use GROUP BY <column-number> in your original query, since Exasol internally converts this to GROUP BY "<column-name>", so that the virtual schema adapter can tell both situations apart.

Bugfixes

  • #149: Fixed issue with integer constants in GROUP BY

Documentation

  • #147: Removed duplicate documentation about logging

Dependency Updates

Plugin Dependency Updates

  • Updated com.exasol:error-code-crawler-maven-plugin:1.2.3 to 1.3.0
  • Updated com.exasol:project-keeper-maven-plugin:2.9.8 to 2.9.9
  • Updated org.apache.maven.plugins:maven-clean-plugin:3.1.0 to 2.5
  • Updated org.apache.maven.plugins:maven-gpg-plugin:3.0.1 to 3.1.0
  • Updated org.apache.maven.plugins:maven-install-plugin:2.5.2 to 2.4
  • Updated org.apache.maven.plugins:maven-resources-plugin:3.2.0 to 2.6
  • Updated org.apache.maven.plugins:maven-site-plugin:3.9.1 to 3.3
  • Updated org.apache.maven.plugins:maven-surefire-plugin:3.0.0 to 3.1.2
  • Updated org.basepom.maven:duplicate-finder-maven-plugin:1.5.1 to 2.0.1
  • Updated org.codehaus.mojo:flatten-maven-plugin:1.4.1 to 1.5.0
  • Updated org.codehaus.mojo:versions-maven-plugin:2.15.0 to 2.16.0
  • Updated org.jacoco:jacoco-maven-plugin:0.8.9 to 0.8.10

11.0.0: Dependency Update on top of 10.5.0

06 Jul 13:46
214fc44
Compare
Choose a tag to compare

Summary

This release updates dependencies including version 17.0.0 of VSCOMJAVA which removed some adapter properties.

The major version of VSCJDBC has been incremented, too, to signal changes in the public API of VSCOMJAVA to downstream dependencies.

Refactoring

  • #145: Updated dependencies

Dependency Updates

Compile Dependency Updates

  • Updated com.exasol:virtual-schema-common-java:16.2.0 to 17.0.0

Test Dependency Updates

  • Updated nl.jqno.equalsverifier:equalsverifier:3.14 to 3.14.3
  • Updated org.junit.jupiter:junit-jupiter:5.9.2 to 5.9.3
  • Updated org.mockito:mockito-junit-jupiter:5.2.0 to 5.4.0

Plugin Dependency Updates

  • Updated com.exasol:error-code-crawler-maven-plugin:1.2.2 to 1.2.3
  • Updated com.exasol:project-keeper-maven-plugin:2.9.4 to 2.9.8
  • Updated org.apache.maven.plugins:maven-compiler-plugin:3.10.1 to 3.11.0
  • Updated org.apache.maven.plugins:maven-deploy-plugin:3.1.0 to 3.1.1
  • Updated org.apache.maven.plugins:maven-enforcer-plugin:3.2.1 to 3.3.0
  • Updated org.apache.maven.plugins:maven-javadoc-plugin:3.4.1 to 3.5.0
  • Updated org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M8 to 3.0.0
  • Added org.basepom.maven:duplicate-finder-maven-plugin:1.5.1
  • Updated org.codehaus.mojo:flatten-maven-plugin:1.3.0 to 1.4.1
  • Updated org.codehaus.mojo:versions-maven-plugin:2.14.2 to 2.15.0
  • Updated org.jacoco:jacoco-maven-plugin:0.8.8 to 0.8.9

10.5.0: Escape SQL Wild Cards Optionally

15 Mar 14:19
b65836f
Compare
Choose a tag to compare

Summary

Release 10.3.0 introduced escaping wild cards in the names of database schemas and tables when retrieving column metadata from JDBC.

The current release fixes two problems in this area

Problem Fix
VSCJDBC also escaped wild cards in the name of the database catalog, conflicting with the parameter's documentation as literal string. Do not escape potential wild cards in the name of the database catalog.
VSCJDBC always used the backslash as escape string, while there are SQL dialects with different escape string, e.g. VSORA using a forward slash /. Use java.sql.DatabaseMetaData.getSearchStringEscape() to inquire the escape string for the specific SQL dialect.

Additionally the current release makes wild card escaping optional. In case of problems SQL dialects then can simply override BaseColumnMetadataReader.getColumnMetadata:

@Override
protected ResultSet getColumnMetadata(String catalogName, String schemaName, String tableName) throws SQLException {
     return getColumnMetadataAllowingPatterns(catalogName, schemaName, tableName);
}

Bugfixes

  • #142: Fixed escaping wildcards in column lookup and made escaping optional

Dependency Updates

Test Dependency Updates

  • Updated org.mockito:mockito-junit-jupiter:5.1.1 to 5.2.0

Plugin Dependency Updates

  • Updated com.exasol:project-keeper-maven-plugin:2.9.3 to 2.9.4
  • Updated org.apache.maven.plugins:maven-deploy-plugin:3.0.0 to 3.1.0
  • Updated org.apache.maven.plugins:maven-enforcer-plugin:3.1.0 to 3.2.1

10.4.0: Validators for Adapter Properties

10 Mar 13:07
d55721e
Compare
Choose a tag to compare

Summary

This release adds validators for adapter properties enabling derived SQL dialects to simply add these validator to the existing chain.

  • ImportProperty checking the consistency of import and connection properties
  • SchemaNameProperty checking mandatory property SCHEMA_NAME
  • MandatoryProperty checking arbitrary mandatory properties

Refactorings

#140: Created PropertyValidator for checkImportPropertyConsistency()

10.3.0: Escape Wildcards

10 Mar 08:21
79626e8
Compare
Choose a tag to compare

Summary

This release fixes ambiguous results by escaping SQL wildcards such as underscore _ and percent % in names of catalogs, schemas, and tables when retrieving column metadata from JDBC driver.

The release also adds a constructor enabling derived SQL dialects to add additional validators for adapter properties, hence removing the need to override method AbstractSqlDialect.validateProperties().

Bugfixes

  • #136: Fixed column lookup for tables not escaping wildcards
  • #138: Enabled SQL dialects to add property validators

Dependency Updates

Compile Dependency Updates

  • Updated com.exasol:error-reporting-java:1.0.0 to 1.0.1

Test Dependency Updates

  • Updated com.exasol:java-util-logging-testing:2.0.2 to 2.0.3
  • Updated nl.jqno.equalsverifier:equalsverifier:3.11.1 to 3.14
  • Updated org.junit.jupiter:junit-jupiter:5.9.1 to 5.9.2
  • Updated org.mockito:mockito-junit-jupiter:4.9.0 to 5.1.1

10.2.0: More Tables

01 Mar 14:34
c131ac9
Compare
Choose a tag to compare

Summary

Allowed to ignore or raise the limit of 1000 mapped tables that was introduced in version 9.0.0.

Additionally the property validation has been refactored which enabled to mark the following methods as deprecated:

  • JDBCAdapter.readMetadata()
  • AbstractSqlDialect.validateSupportedPropertiesList()
  • AbstractSqlDialect.createUnsupportedElementMessage()
  • AbstractSqlDialect.validateBooleanProperty()
  • AbstractSqlDialect.validateCastNumberToDecimalProperty()

Features

  • #133: New adapter property 'MAX_TABLE_COUNT' allows to override the default limit of 1000.

Dependency Updates

Plugin Dependency Updates

  • Updated com.exasol:error-code-crawler-maven-plugin:1.2.1 to 1.2.2
  • Updated com.exasol:project-keeper-maven-plugin:2.9.1 to 2.9.3
  • Updated org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M7 to 3.0.0-M8
  • Updated org.codehaus.mojo:versions-maven-plugin:2.13.0 to 2.14.2

10.1.0: Adapter Property to Configure Data Type Detection for Import Statement

02 Dec 10:45
ce4a92c
Compare
Choose a tag to compare

Summary

Version 10.0.0 introduced enhanced detection for data types of result sets.

Unfortunately with the new algorithm compatibility problems with the source database can happen under the following circumstances:

  • data type CHAR or VARCHAR
  • 8-bit character sets with encodings like latin1 or ISO-8859-1
  • characters being not strictly ASCII, e.g. German umlaut "Ãœ"

The current release therefore introduces an additional adapter property IMPORT_DATA_TYPES to configure the data type detection. For details please see the User Guide.

Features

  • #130: Added switch for data type detection strategy for IMPORT statement.

Dependency Updates

Compile Dependency Updates

  • Updated com.exasol:error-reporting-java:0.4.1 to 1.0.0
  • Updated com.exasol:virtual-schema-common-java:16.1.1 to 16.2.0

Test Dependency Updates

  • Updated com.exasol:java-util-logging-testing:2.0.1 to 2.0.2
  • Updated nl.jqno.equalsverifier:equalsverifier:3.10 to 3.11.1
  • Updated org.junit.jupiter:junit-jupiter:5.8.2 to 5.9.1
  • Updated org.mockito:mockito-junit-jupiter:4.6.1 to 4.9.0
  • Updated org.skyscreamer:jsonassert:1.5.0 to 1.5.1

Plugin Dependency Updates

  • Updated com.exasol:error-code-crawler-maven-plugin:1.1.2 to 1.2.1
  • Updated com.exasol:project-keeper-maven-plugin:2.7.0 to 2.9.1
  • Updated io.github.zlika:reproducible-build-maven-plugin:0.15 to 0.16
  • Updated org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1 to 3.0.0
  • Updated org.apache.maven.plugins:maven-javadoc-plugin:3.4.0 to 3.4.1
  • Updated org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5 to 3.0.0-M7
  • Updated org.codehaus.mojo:flatten-maven-plugin:1.2.7 to 1.3.0
  • Updated org.codehaus.mojo:versions-maven-plugin:2.10.0 to 2.13.0

10.0.1: Update dependency to virtual-schema-common-java

15 Sep 08:52
1704a24
Compare
Choose a tag to compare

Summary

Ticket exasol/virtual-schema-common-java#258 fixed detection of data types for result set. This release of virtual-schema-common-jdbc updates dependencies in order to use the fix.

Bug Fixes

  • #124: Updated dependency to virtual-schema-common-java.

Dependency Updates

Compile Dependency Updates

  • Updated com.exasol:virtual-schema-common-java:16.1.0 to 16.1.1