Releases: exasol/virtual-schema-common-jdbc
12.0.0: Changes to importing text types and removing deprecated property exception handling.
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
to17.0.1
Test Dependency Updates
- Updated
nl.jqno.equalsverifier:equalsverifier:3.14.3
to3.15.3
- Updated
org.junit.jupiter:junit-jupiter:5.9.3
to5.10.1
- Updated
org.mockito:mockito-junit-jupiter:5.4.0
to5.7.0
Plugin Dependency Updates
- Updated
com.exasol:error-code-crawler-maven-plugin:1.3.0
to1.3.1
- Updated
com.exasol:project-keeper-maven-plugin:2.9.11
to3.0.0
- Updated
org.apache.maven.plugins:maven-enforcer-plugin:3.4.0
to3.4.1
- Added
org.apache.maven.plugins:maven-failsafe-plugin:3.2.3
- Updated
org.apache.maven.plugins:maven-javadoc-plugin:3.5.0
to3.6.3
- Updated
org.apache.maven.plugins:maven-surefire-plugin:3.1.2
to3.2.3
- Added
org.apache.maven.plugins:maven-toolchains-plugin:3.1.0
- Updated
org.codehaus.mojo:versions-maven-plugin:2.16.0
to2.16.2
- Updated
org.jacoco:jacoco-maven-plugin:0.8.10
to0.8.11
- Updated
org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184
to3.10.0.2594
11.0.2: Fix in JDBC connection management
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
to2.9.11
- Updated
org.apache.maven.plugins:maven-enforcer-plugin:3.3.0
to3.4.0
11.0.1: Fix Issue With Integer Constants in `GROUP BY`
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
to1.3.0
- Updated
com.exasol:project-keeper-maven-plugin:2.9.8
to2.9.9
- Updated
org.apache.maven.plugins:maven-clean-plugin:3.1.0
to2.5
- Updated
org.apache.maven.plugins:maven-gpg-plugin:3.0.1
to3.1.0
- Updated
org.apache.maven.plugins:maven-install-plugin:2.5.2
to2.4
- Updated
org.apache.maven.plugins:maven-resources-plugin:3.2.0
to2.6
- Updated
org.apache.maven.plugins:maven-site-plugin:3.9.1
to3.3
- Updated
org.apache.maven.plugins:maven-surefire-plugin:3.0.0
to3.1.2
- Updated
org.basepom.maven:duplicate-finder-maven-plugin:1.5.1
to2.0.1
- Updated
org.codehaus.mojo:flatten-maven-plugin:1.4.1
to1.5.0
- Updated
org.codehaus.mojo:versions-maven-plugin:2.15.0
to2.16.0
- Updated
org.jacoco:jacoco-maven-plugin:0.8.9
to0.8.10
11.0.0: Dependency Update on top of 10.5.0
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
to17.0.0
Test Dependency Updates
- Updated
nl.jqno.equalsverifier:equalsverifier:3.14
to3.14.3
- Updated
org.junit.jupiter:junit-jupiter:5.9.2
to5.9.3
- Updated
org.mockito:mockito-junit-jupiter:5.2.0
to5.4.0
Plugin Dependency Updates
- Updated
com.exasol:error-code-crawler-maven-plugin:1.2.2
to1.2.3
- Updated
com.exasol:project-keeper-maven-plugin:2.9.4
to2.9.8
- Updated
org.apache.maven.plugins:maven-compiler-plugin:3.10.1
to3.11.0
- Updated
org.apache.maven.plugins:maven-deploy-plugin:3.1.0
to3.1.1
- Updated
org.apache.maven.plugins:maven-enforcer-plugin:3.2.1
to3.3.0
- Updated
org.apache.maven.plugins:maven-javadoc-plugin:3.4.1
to3.5.0
- Updated
org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M8
to3.0.0
- Added
org.basepom.maven:duplicate-finder-maven-plugin:1.5.1
- Updated
org.codehaus.mojo:flatten-maven-plugin:1.3.0
to1.4.1
- Updated
org.codehaus.mojo:versions-maven-plugin:2.14.2
to2.15.0
- Updated
org.jacoco:jacoco-maven-plugin:0.8.8
to0.8.9
10.5.0: Escape SQL Wild Cards Optionally
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
to5.2.0
Plugin Dependency Updates
- Updated
com.exasol:project-keeper-maven-plugin:2.9.3
to2.9.4
- Updated
org.apache.maven.plugins:maven-deploy-plugin:3.0.0
to3.1.0
- Updated
org.apache.maven.plugins:maven-enforcer-plugin:3.1.0
to3.2.1
10.4.0: Validators for Adapter Properties
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 propertiesSchemaNameProperty
checking mandatory propertySCHEMA_NAME
MandatoryProperty
checking arbitrary mandatory properties
Refactorings
#140: Created PropertyValidator for checkImportPropertyConsistency()
10.3.0: Escape Wildcards
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
to1.0.1
Test Dependency Updates
- Updated
com.exasol:java-util-logging-testing:2.0.2
to2.0.3
- Updated
nl.jqno.equalsverifier:equalsverifier:3.11.1
to3.14
- Updated
org.junit.jupiter:junit-jupiter:5.9.1
to5.9.2
- Updated
org.mockito:mockito-junit-jupiter:4.9.0
to5.1.1
10.2.0: More Tables
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
to1.2.2
- Updated
com.exasol:project-keeper-maven-plugin:2.9.1
to2.9.3
- Updated
org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M7
to3.0.0-M8
- Updated
org.codehaus.mojo:versions-maven-plugin:2.13.0
to2.14.2
10.1.0: Adapter Property to Configure Data Type Detection for Import Statement
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
orVARCHAR
- 8-bit character sets with encodings like
latin1
orISO-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
to1.0.0
- Updated
com.exasol:virtual-schema-common-java:16.1.1
to16.2.0
Test Dependency Updates
- Updated
com.exasol:java-util-logging-testing:2.0.1
to2.0.2
- Updated
nl.jqno.equalsverifier:equalsverifier:3.10
to3.11.1
- Updated
org.junit.jupiter:junit-jupiter:5.8.2
to5.9.1
- Updated
org.mockito:mockito-junit-jupiter:4.6.1
to4.9.0
- Updated
org.skyscreamer:jsonassert:1.5.0
to1.5.1
Plugin Dependency Updates
- Updated
com.exasol:error-code-crawler-maven-plugin:1.1.2
to1.2.1
- Updated
com.exasol:project-keeper-maven-plugin:2.7.0
to2.9.1
- Updated
io.github.zlika:reproducible-build-maven-plugin:0.15
to0.16
- Updated
org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1
to3.0.0
- Updated
org.apache.maven.plugins:maven-javadoc-plugin:3.4.0
to3.4.1
- Updated
org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5
to3.0.0-M7
- Updated
org.codehaus.mojo:flatten-maven-plugin:1.2.7
to1.3.0
- Updated
org.codehaus.mojo:versions-maven-plugin:2.10.0
to2.13.0
10.0.1: Update dependency to virtual-schema-common-java
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
to16.1.1