Skip to content

Releases: exasol/virtual-schema-common-java

18.0.3 Fix locale-dependent request serialization

Choose a tag to compare

@github-actions github-actions released this 08 Jun 12:50
f0d4801

This release consistently uses Locale.ROOT for converting strings to upper/lower case. This avoids locale dependent bugs.

Bugfixes

  • #335: Fixed incomplete Locale.ROOT hardening in request parsing and rendering. Locale-sensitive casing is now avoided when parsing table metadata and IS JSON constraints, and when rendering pushdown JSON for node types, data types, character sets, and join types.

18.0.2 Improve code quality

Choose a tag to compare

@github-actions github-actions released this 02 Jun 11:52
7f81279

This release includes many small bugfixes and code improvements. Some methods are now deprecated and will be removed in a future release.

The release also makes interfaces VirtualSchemaAdapter and AdapterFactory AutoCloseable. This allows adapters to cleanup resources after processing a request. The interfaces provide a default implementation of close(), so that users of the interface don't need to change.

Deprecations

  • Capabilities.subtractCapabilities() is now deprecated for removal and delegates to the new pure Capabilities.subtract() implementation. Code that relied on the previous side effect of mutating the receiver must be adapted (#305).
  • Constructor ColumnMetadata.Builder() is now deprecated for removal. Use ColumnMetadata.builder() to create a new instance (#306).
  • Constructor Capabilities.Builder() is now deprecated for removal. Use Capabilities.builder() to create a new instance (#305).
  • Constructor SqlStatementSelect.Builder() is now deprecated for removal. Use SqlStatementSelect.builder() to create a new instance (#306).
  • Methods SqlLimit.setLimit(int) and SqlLimit.setOffset(int) are deprecated for removal.
  • Constructor VersionCollector() is now deprecated for removal. Use VersionCollector(final String path) to create a new instance (#312)
  • Methods SqlFunctionAggregateListagg.Behavior.setTruncationType(TruncationType) and SqlFunctionAggregateListagg.Behavior.setTruncationFiller(SqlLiteralString) are deprecated for removal.

Features

  • #333: Make VirtualSchemaAdapter and AdapterFactory AutoCloseable

Bugfixes

  • #305: Fixed Capabilities.subtractCapabilities() so it no longer mutates the receiver. Added the pure Capabilities.subtract() method.
  • #306: Fixed TablesMetadataParser so omitted isIdentity values default to false while omitted isNullable values still default to true.
  • #311: Fixed metadata parsing and conversion diagnostics for missing JSON fields and nullable notes/comments, and made SqlFunctionScalarCast tolerate a null argument consistently with related SQL AST nodes.
  • #310: Fixed SqlStatementSelect.Builder.build() so empty and partial builders no longer fail with a raw NullPointerException.
  • #309: Fixed the SqlNodeVisitor API documentation and parameter names for SqlPredicateIsNotNull and SqlPredicateIsNull.
  • #317: Applied small allocation cleanups in request parsing, logging timestamp formatting, and schema metadata JSON conversion.
  • #308: Fixed SqlLimit so limit and offset stay non-negative for the full object lifetime by making the node immutable and aligning the validation message with the accepted zero values.
  • #307: Fixed PushdownSqlRenderer so HASHTYPE data types include bytesize in rendered pushdown SQL JSON.
  • #315: Improved PushdownSqlParser lookup and traversal performance by caching involved table metadata, defensively copying the metadata list, and replacing Stack-based traversals with ArrayDeque.
  • #313: Fixed mutable DTO and SQL AST collection handling by adding defensive copies, unmodifiable getters, null-to-empty normalization, and constructor-time SqlOrderBy validation.
  • #312: Fixed logging utility resource and handler lifecycle issues by closing version metadata streams, falling back when the thread context class loader is missing, defaulting absent version properties to UNKNOWN, closing replaced root log handlers, and resetting closed remote socket handlers before reuse.
  • #316: Fixed LoggingConfiguration so invalid LOG_LEVEL values now fail with a structured error message that names the invalid value and lists the available log levels.
  • #318: Fixed several small naming, Javadoc, message, and parsing robustness issues, including locale-independent SQL parser uppercasing and trimmed telemetry property parsing.
  • Fixed ColumnMetadata.toString() so defaultValue quotes stay balanced even when no comment is set.
  • #314: Fixed SqlFunctionAggregateListagg.Behavior so LISTAGG overflow behavior is null-safe, value-based, and constructed immutably by the parser.

Dependency Updates

Compile Dependency Updates

  • Updated com.exasol:udf-api-java:1.0.8 to 1.0.9

Test Dependency Updates

  • Updated org.itsallcode:junit5-system-extensions:1.2.2 to 1.2.3
  • Updated org.junit.jupiter:junit-jupiter-params:5.14.3 to 5.14.4

Plugin Dependency Updates

  • Updated com.exasol:project-keeper-maven-plugin:5.5.2 to 5.6.2

18.0.1 Update telemetry endpoint

Choose a tag to compare

@github-actions github-actions released this 30 Apr 07:05
bd2b9bb

This release updates the telemetry-java library to use the correct telemetry endpoint.

Bugfixes

  • #303: Upgrade telemetry-java to use correct telemetry endpoint

Dependency Updates

Compile Dependency Updates

  • Updated com.exasol:telemetry-java:0.2.0 to 0.2.1

Plugin Dependency Updates

  • Updated com.exasol:error-code-crawler-maven-plugin:2.0.6 to 2.0.7
  • Updated com.exasol:project-keeper-maven-plugin:5.4.6 to 5.5.2
  • Updated io.github.git-commit-id:git-commit-id-maven-plugin:9.0.2 to 10.0.0
  • Updated org.apache.maven.plugins:maven-resources-plugin:3.4.0 to 3.5.0
  • Updated org.apache.maven.plugins:maven-surefire-plugin:3.5.4 to 3.5.5

18.0.0 Anonymous feature tracking

Choose a tag to compare

@github-actions github-actions released this 20 Apr 15:33
5ef61b6

This release adds anonymous feature tracking using the telemetry-java library. When you integrate this new version into another product, please observe the required user documentation.

AdapterCallExecutor was updated to track usage of the following features:

  • createVirtualSchema
  • dropVirtualSchema
  • refreshVirtualSchema
  • setProperties

The release also adds support for scalar functions REGEXP_COUNT and DAYOFWEEK.

Breaking Changes

  • Class ErrorMessages and its static method askForBugReport() are deprecated now. Replace it with ErrorMessageBuilder.ticketMitigation() from error-reporting-java.
  • Interface AdapterFactory was updated and implementors need to adapt the following:
    • Method createAdapter() now receives an argument of type AdapterContext, giving you access to the TelemetryClient. You can use it to send adapter specific feature tracking.
    • New method getAdapterProjectShortTag() must return the adapter's project short tag as defined in error_code_config.yml, e.g. VSMYSQL or VSS3.

Features

  • #300: Add anonymous feature tracking
  • #290: Add support for scalar function REGEXP_COUNT
  • #299: Add support for scalar function DAYOFWEEK

Dependency Updates

Compile Dependency Updates

  • Updated com.exasol:error-reporting-java:1.0.1 to 1.0.2
  • Added com.exasol:telemetry-java:0.2.0
  • Updated com.exasol:udf-api-java:1.0.5 to 1.0.8

Test Dependency Updates

  • Updated nl.jqno.equalsverifier:equalsverifier:3.16.1 to 3.19.4
  • Updated org.hamcrest:hamcrest:2.2 to 3.0
  • Updated org.itsallcode:junit5-system-extensions:1.2.0 to 1.2.2
  • Added org.junit.jupiter:junit-jupiter-params:5.14.3
  • Removed org.junit.jupiter:junit-jupiter:5.10.2
  • Updated org.mockito:mockito-junit-jupiter:5.11.0 to 5.23.0
  • Updated org.skyscreamer:jsonassert:1.5.1 to 1.5.3

Plugin Dependency Updates

  • Updated com.exasol:error-code-crawler-maven-plugin:2.0.5 to 2.0.6
  • Updated com.exasol:project-keeper-maven-plugin:5.4.3 to 5.4.6
  • Updated org.apache.maven.plugins:maven-compiler-plugin:3.14.1 to 3.15.0
  • Updated org.apache.maven.plugins:maven-resources-plugin:3.3.1 to 3.4.0
  • Updated org.apache.maven.plugins:maven-source-plugin:3.2.1 to 3.4.0
  • Updated org.codehaus.mojo:versions-maven-plugin:2.19.1 to 2.21.0
  • Updated org.sonarsource.scanner.maven:sonar-maven-plugin:5.2.0.4988 to 5.5.0.6356
  • Updated org.sonatype.central:central-publishing-maven-plugin:0.9.0 to 0.10.0

17.1.2 Fix for wrong COUNT and HAVING handling in empty group by.

Choose a tag to compare

@github-actions github-actions released this 24 Nov 10:32
96e3182

This release fixes inconsistent result of COUNT and HAVING statements in empty group by.

Features

  • #292: [L3-3596] COUNT(*) returns NULL from an empty group by
  • #297: Wrong handling of aggregate functions in HAVING statement

17.1.1 Fixing the main branch, updating PK

Choose a tag to compare

@github-actions github-actions released this 13 Nov 08:04
d1166f9

This is a technical release needed to fix the main branch consistency.

Features

  • #293: The main branch is broken

Dependency Updates

Plugin Dependency Updates

  • Updated com.exasol:error-code-crawler-maven-plugin:2.0.2 to 2.0.5
  • Updated com.exasol:project-keeper-maven-plugin:4.3.0 to 5.4.3
  • Added com.exasol:quality-summarizer-maven-plugin:0.2.1
  • Added io.github.git-commit-id:git-commit-id-maven-plugin:9.0.2
  • Removed io.github.zlika:reproducible-build-maven-plugin:0.16
  • Added org.apache.maven.plugins:maven-artifact-plugin:3.6.1
  • Updated org.apache.maven.plugins:maven-clean-plugin:3.2.0 to 3.5.0
  • Updated org.apache.maven.plugins:maven-compiler-plugin:3.13.0 to 3.14.1
  • Updated org.apache.maven.plugins:maven-deploy-plugin:3.1.1 to 3.1.4
  • Updated org.apache.maven.plugins:maven-enforcer-plugin:3.4.1 to 3.6.2
  • Updated org.apache.maven.plugins:maven-gpg-plugin:3.2.2 to 3.2.8
  • Updated org.apache.maven.plugins:maven-install-plugin:3.1.2 to 3.1.4
  • Updated org.apache.maven.plugins:maven-javadoc-plugin:3.6.3 to 3.12.0
  • Updated org.apache.maven.plugins:maven-site-plugin:3.12.1 to 3.21.0
  • Updated org.apache.maven.plugins:maven-surefire-plugin:3.2.5 to 3.5.4
  • Updated org.apache.maven.plugins:maven-toolchains-plugin:3.1.0 to 3.2.0
  • Updated org.codehaus.mojo:flatten-maven-plugin:1.6.0 to 1.7.3
  • Updated org.codehaus.mojo:versions-maven-plugin:2.16.2 to 2.19.1
  • Updated org.jacoco:jacoco-maven-plugin:0.8.12 to 0.8.14
  • Updated org.sonarsource.scanner.maven:sonar-maven-plugin:3.11.0.3922 to 5.2.0.4988
  • Added org.sonatype.central:central-publishing-maven-plugin:0.9.0
  • Removed org.sonatype.plugins:nexus-staging-maven-plugin:1.6.13

17.1.0 Add `WIDTH_BUCKET`

Choose a tag to compare

@github-actions github-actions released this 24 Apr 10:06
65e10c5

This release adds support for scalar function WIDTH_BUCKET and capability FN_WIDTH_BUCKET by adding the following enum values:

  • ScalarFunctionCapability.WIDTH_BUCKET
  • ScalarFunction.WIDTH_BUCKET

The release also adds support for TIMESTAMP precision.

Breaking Changes: This release removes the following deprecated fields/methods from class com.exasol.adapter.AdapterProperties:

  • Constant EXCEPTION_HANDLING_PROPERTY
  • Method getExceptionHandling()
  • Method hasExceptionHandling()

Breaking Changes

  • #269: Removed deprecated exception handling fields/methods from AdapterProperties

Features

  • #279: Added support for TIMESTAMP precision field fractionalSecondsPrecision with default 3.
  • #278: Added support for scalar function WIDTH_BUCKET

Dependency Updates

Compile Dependency Updates

  • Updated com.exasol:udf-api-java:1.0.3 to 1.0.5

Test Dependency Updates

  • Updated nl.jqno.equalsverifier:equalsverifier:3.15.3 to 3.16.1
  • Updated org.junit.jupiter:junit-jupiter:5.10.1 to 5.10.2
  • Updated org.mockito:mockito-junit-jupiter:5.7.0 to 5.11.0

Plugin Dependency Updates

  • Updated com.exasol:error-code-crawler-maven-plugin:1.3.1 to 2.0.2
  • Updated com.exasol:project-keeper-maven-plugin:2.9.16 to 4.3.0
  • Updated org.apache.maven.plugins:maven-compiler-plugin:3.11.0 to 3.13.0
  • Updated org.apache.maven.plugins:maven-gpg-plugin:3.1.0 to 3.2.2
  • Updated org.apache.maven.plugins:maven-javadoc-plugin:3.6.2 to 3.6.3
  • Updated org.apache.maven.plugins:maven-surefire-plugin:3.2.2 to 3.2.5
  • Added org.apache.maven.plugins:maven-toolchains-plugin:3.1.0
  • Updated org.codehaus.mojo:flatten-maven-plugin:1.5.0 to 1.6.0
  • Updated org.codehaus.mojo:versions-maven-plugin:2.16.1 to 2.16.2
  • Updated org.jacoco:jacoco-maven-plugin:0.8.11 to 0.8.12
  • Updated org.sonarsource.scanner.maven:sonar-maven-plugin:3.10.0.2594 to 3.11.0.3922

17.0.1: Improve logging

Choose a tag to compare

@kaklakariada kaklakariada released this 17 Nov 08:09
89b6631

Summary

This release logs responses for adapter calls at level FINER to simplify debugging and makes LoggingConfiguration serializable to allow configuring other components that require serializing.

The release also marks exception handling properties as deprecated in preparation of #269.

Features

  • #276: Improved logging

Dependency Updates

Compile Dependency Updates

  • Updated com.exasol:udf-api-java:1.0.2 to 1.0.3
  • Updated jakarta.json:jakarta.json-api:2.1.2 to 2.1.3

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.2.3 to 1.3.1
  • Updated com.exasol:project-keeper-maven-plugin:2.9.7 to 2.9.16
  • Updated org.apache.maven.plugins:maven-enforcer-plugin:3.3.0 to 3.4.1
  • Updated org.apache.maven.plugins:maven-gpg-plugin:3.0.1 to 3.1.0
  • Updated org.apache.maven.plugins:maven-javadoc-plugin:3.5.0 to 3.6.2
  • Updated org.apache.maven.plugins:maven-surefire-plugin:3.0.0 to 3.2.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.1
  • Updated org.jacoco:jacoco-maven-plugin:0.8.9 to 0.8.11
  • Updated org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184 to 3.10.0.2594

17.0.0: Removed Adapter Properties

Choose a tag to compare

@ckunki ckunki released this 06 Jul 11:07
e6339b7

Summary

This release updates dependencies and removes some adapter properties for different reasons.

As removing the adapter properties is considered a breaking change in the public API of VSCOMJAVA this release comes with an updated major version.

Removed adapter properties

  • BINARY_COLUMN_HANDLING
  • IS_LOCAL

BINARY_COLUMN_HANDLING

Removed constants and access methods in class AdapterProperties:

  • String BINARY_COLUMN_HANDLING
  • BinaryColumnHandling hasBinaryColumnHandling()
  • BinaryColumnHandling getBinaryColumnHandling()
  • class com.exasol.adapter.BinaryColumnHandling

Rationale:

  • This property was never implemented by any virtual schema up to now.
  • As the property also was never used by any virtual schema in GitHub org exasol the removal is expected to go without any consequences.

IS_LOCAL

Removed constants and access methods in class AdapterProperties:

  • String IS_LOCAL_PROPERTY
  • boolean hasIsLocal()
  • boolean isLocalSource()

Rationale:

  • This property is specific only for Exasol virtual schema.
  • Hence its implementation has been moved with ticket VSEXA #85.

Rationale:

  • Potentially remove
  • See also ticket #269.

Features

  • #268: Removed adapter properties BINARY_COLUMN_HANDLING and IS_LOCAL

Dependency Updates

Compile Dependency Updates

  • Updated com.exasol:error-reporting-java:1.0.0 to 1.0.1
  • Updated com.exasol:udf-api-java:1.0.1 to 1.0.2
  • Updated jakarta.json:jakarta.json-api:2.1.1 to 2.1.2

Test Dependency Updates

  • Updated nl.jqno.equalsverifier:equalsverifier:3.12 to 3.14.3
  • Updated org.junit.jupiter:junit-jupiter:5.9.1 to 5.9.3
  • Updated org.mockito:mockito-junit-jupiter:4.9.0 to 5.4.0

Plugin Dependency Updates

  • Updated com.exasol:error-code-crawler-maven-plugin:1.2.1 to 1.2.3
  • Updated com.exasol:project-keeper-maven-plugin:2.9.1 to 2.9.7
  • Updated org.apache.maven.plugins:maven-compiler-plugin:3.10.1 to 3.11.0
  • Updated org.apache.maven.plugins:maven-deploy-plugin:3.0.0 to 3.1.1
  • Updated org.apache.maven.plugins:maven-enforcer-plugin:3.1.0 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-M7 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.13.0 to 2.15.0
  • Updated org.jacoco:jacoco-maven-plugin:0.8.8 to 0.8.9

16.2.0: Dependency Upgrade

Choose a tag to compare

@ckunki ckunki released this 02 Dec 10:45
16a368a

Summary

Discontinuation of Exasol's artifactory maven.exasol.com caused some problems. In particular maven coordinates of com.exasol:exasol-script-api:6.1.7 have changed to com:exasol:udf-api-java:1.0.1.

Bugfixes

  • #270: Updated dependencies

Dependency Updates

Compile Dependency Updates

  • Updated com.exasol:error-reporting-java:0.4.1 to 1.0.0
  • Removed com.exasol:exasol-script-api:6.1.7
  • Added com.exasol:udf-api-java:1.0.1
  • Updated jakarta.json:jakarta.json-api:2.1.0 to 2.1.1

Test Dependency Updates

  • Updated nl.jqno.equalsverifier:equalsverifier:3.10 to 3.12
  • 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

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