diff --git a/.github/workflows/broken_links_checker.yml b/.github/workflows/broken_links_checker.yml
index 6a69306..29071df 100644
--- a/.github/workflows/broken_links_checker.yml
+++ b/.github/workflows/broken_links_checker.yml
@@ -2,15 +2,26 @@ name: Broken Links Checker
on:
schedule:
- - cron: "0 5 * * *"
+ - cron: "0 5 * * 0"
push:
+ branches:
+ - main
+ pull_request:
jobs:
linkChecker:
runs-on: ubuntu-latest
+ concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
+ - name: Configure broken links checker
+ run: |
+ mkdir -p ./target
+ echo '{ "aliveStatusCodes": [429, 200], "ignorePatterns": [{"pattern": "^https?://(www.)?opensource.org"}] }' > ./target/broken_links_checker.json
- uses: gaurav-nelson/github-action-markdown-link-check@v1
with:
use-quiet-mode: 'yes'
- use-verbose-mode: 'yes'
\ No newline at end of file
+ use-verbose-mode: 'yes'
+ config-file: ./target/broken_links_checker.json
\ No newline at end of file
diff --git a/.github/workflows/ci-build-next-java.yml b/.github/workflows/ci-build-next-java.yml
index 0c35fbc..6a1006c 100644
--- a/.github/workflows/ci-build-next-java.yml
+++ b/.github/workflows/ci-build-next-java.yml
@@ -1,32 +1,35 @@
name: CI Build next Java
on:
- - push
+ push:
+ branches:
+ - main
+ pull_request:
jobs:
- build:
+ java-17-compatibility:
runs-on: ubuntu-latest
+ concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
steps:
- name: Checkout the repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up JDK 17
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 17
- - name: Cache local Maven repository
- uses: actions/cache@v2
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-
+ cache: 'maven'
- name: Run tests and build with Maven
- run: mvn --batch-mode --update-snapshots clean package -DtrimStackTrace=false
+ run: |
+ mvn --batch-mode --update-snapshots clean package -DtrimStackTrace=false \
+ -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
- name: Publish Test Report
uses: scacap/action-surefire-report@v1
- if: ${{ always() }}
+ if: ${{ always() && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]' }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
+ fail_if_no_tests: false
diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml
index a90eca3..e520870 100644
--- a/.github/workflows/ci-build.yml
+++ b/.github/workflows/ci-build.yml
@@ -1,30 +1,55 @@
name: CI Build
on:
- - push
+ push:
+ branches:
+ - main
+ pull_request:
jobs:
build:
runs-on: ubuntu-latest
+ concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
steps:
- name: Checkout the repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up JDK 11
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v3
with:
+ distribution: 'temurin'
java-version: 11
- - name: Cache local Maven repository
- uses: actions/cache@v2
+ cache: 'maven'
+ - name: Cache SonarCloud packages
+ uses: actions/cache@v3
with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-
+ path: ~/.sonar/cache
+ key: ${{ runner.os }}-sonar
+ restore-keys: ${{ runner.os }}-sonar
+ - name: Enable testcontainer reuse
+ run: echo 'testcontainers.reuse.enable=true' > "$HOME/.testcontainers.properties"
- name: Run tests and build with Maven
- run: mvn --batch-mode --update-snapshots clean verify sonar:sonar --file pom.xml -DtrimStackTrace=false -Dsonar.organization=exasol -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=$SONAR_TOKEN
+ run: |
+ mvn --batch-mode clean verify \
+ -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
+ -DtrimStackTrace=false
+ - name: Publish Test Report
+ uses: scacap/action-surefire-report@v1
+ if: ${{ always() && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]' }}
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ - name: Sonar analysis
+ if: ${{ env.SONAR_TOKEN != null }}
+ run: |
+ mvn --batch-mode org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \
+ -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
+ -DtrimStackTrace=false \
+ -Dsonar.organization=exasol \
+ -Dsonar.host.url=https://sonarcloud.io \
+ -Dsonar.login=$SONAR_TOKEN
env:
- GITHUB_OAUTH: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
\ No newline at end of file
diff --git a/.github/workflows/dependencies_check.yml b/.github/workflows/dependencies_check.yml
index d28c0b4..b2ab231 100644
--- a/.github/workflows/dependencies_check.yml
+++ b/.github/workflows/dependencies_check.yml
@@ -9,18 +9,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Set up JDK 11
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 11
- - name: Cache local Maven repository
- uses: actions/cache@v2
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-
+ cache: 'maven'
- name: Checking dependencies for vulnerabilities
- run: mvn org.sonatype.ossindex.maven:ossindex-maven-plugin:audit -f pom.xml
\ No newline at end of file
+ run: mvn --batch-mode org.sonatype.ossindex.maven:ossindex-maven-plugin:audit -f pom.xml
\ No newline at end of file
diff --git a/.github/workflows/release_droid_prepare_original_checksum.yml b/.github/workflows/release_droid_prepare_original_checksum.yml
index 650b120..4a980f8 100644
--- a/.github/workflows/release_droid_prepare_original_checksum.yml
+++ b/.github/workflows/release_droid_prepare_original_checksum.yml
@@ -8,27 +8,23 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up JDK 11
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 11
- - name: Cache local Maven repository
- uses: actions/cache@v2
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-
+ cache: 'maven'
+ - name: Enable testcontainer reuse
+ run: echo 'testcontainers.reuse.enable=true' > "$HOME/.testcontainers.properties"
- name: Run tests and build with Maven
run: mvn --batch-mode clean verify --file pom.xml
- name: Prepare checksum
run: find target -maxdepth 1 -name *.jar -exec sha256sum "{}" + > original_checksum
- name: Upload checksum to the artifactory
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v3
with:
name: original_checksum
retention-days: 5
diff --git a/.github/workflows/release_droid_print_quick_checksum.yml b/.github/workflows/release_droid_print_quick_checksum.yml
index 746fc43..8add957 100644
--- a/.github/workflows/release_droid_print_quick_checksum.yml
+++ b/.github/workflows/release_droid_print_quick_checksum.yml
@@ -8,21 +8,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up JDK 11
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 11
- - name: Cache local Maven repository
- uses: actions/cache@v2
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-
+ cache: 'maven'
- name: Build with Maven skipping tests
run: mvn --batch-mode clean verify -DskipTests
- name: Print checksum
diff --git a/.github/workflows/release_droid_release_on_maven_central.yml b/.github/workflows/release_droid_release_on_maven_central.yml
index 5758ecf..b467607 100644
--- a/.github/workflows/release_droid_release_on_maven_central.yml
+++ b/.github/workflows/release_droid_release_on_maven_central.yml
@@ -8,29 +8,23 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Maven Central Repository
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 11
+ cache: 'maven'
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
- - name: Import GPG Key
- run:
- gpg --import --batch <(echo "${{ secrets.OSSRH_GPG_SECRET_KEY }}")
- - name: Cache local Maven repository
- uses: actions/cache@v2
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-
+ gpg-private-key: ${{ secrets.OSSRH_GPG_SECRET_KEY }}
+ gpg-passphrase: MAVEN_GPG_PASSPHRASE
- name: Publish to Central Repository
+ run: mvn --batch-mode -Dgpg.skip=false -DskipTests clean deploy
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
- run: mvn clean -Dgpg.skip=false -Dgpg.passphrase=${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} -DskipTests deploy
\ No newline at end of file
+ MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
\ No newline at end of file
diff --git a/.github/workflows/release_droid_upload_github_release_assets.yml b/.github/workflows/release_droid_upload_github_release_assets.yml
index e2c761b..1fd0b60 100644
--- a/.github/workflows/release_droid_upload_github_release_assets.yml
+++ b/.github/workflows/release_droid_upload_github_release_assets.yml
@@ -12,21 +12,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up JDK 11
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 11
- - name: Cache local Maven repository
- uses: actions/cache@v2
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-
+ cache: 'maven'
- name: Build with Maven skipping tests
run: mvn --batch-mode clean verify -DskipTests
- name: Generate sha256sum files
diff --git a/.gitignore b/.gitignore
index 6060f39..d68b01e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,4 +29,5 @@ pom.xml.versionsBackup
*.bak
*.orig
*.old
-*.md.html
\ No newline at end of file
+*.md.html
+*.flattened-pom.xml
\ No newline at end of file
diff --git a/.project-keeper.yml b/.project-keeper.yml
new file mode 100644
index 0000000..463fb25
--- /dev/null
+++ b/.project-keeper.yml
@@ -0,0 +1,5 @@
+sources:
+ - type: maven
+ path: pom.xml
+ modules:
+ - maven_central
\ No newline at end of file
diff --git a/README.md b/README.md
index 68c48fb..c784e64 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# Virtual Schema Common Module for JDBC-based Data Access
[![Build Status](https://github.com/exasol/virtual-schema-common-jdbc/actions/workflows/ci-build.yml/badge.svg)](https://github.com/exasol/virtual-schema-common-jdbc/actions/workflows/ci-build.yml)
-[![Maven Central](https://img.shields.io/maven-central/v/com.exasol/virtual-schema-common-jdbc)](https://search.maven.org/artifact/com.exasol/virtual-schema-common-jdbc)
+[![Maven Central – Virtual Schema Common JDBC](https://img.shields.io/maven-central/v/com.exasol/virtual-schema-common-jdbc)](https://search.maven.org/artifact/com.exasol/virtual-schema-common-jdbc)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Avirtual-schema-common-jdbc&metric=alert_status)](https://sonarcloud.io/dashboard?id=com.exasol%3Avirtual-schema-common-jdbc)
diff --git a/dependencies.md b/dependencies.md
index 8d6d35f..d94cc64 100644
--- a/dependencies.md
+++ b/dependencies.md
@@ -5,10 +5,10 @@
| Dependency | License |
| ----------------------------------------------------- | ------------------------------- |
-| [Common module of Exasol Virtual Schemas Adapters][0] | [MIT][1] |
+| [Common module of Exasol Virtual Schemas Adapters][0] | [The MIT License (MIT)][1] |
| [jaxb-api][2] | [CDDL 1.1][3]; [GPL2 w/ CPE][3] |
-| [Test utilities for `java.util.logging`][5] | [MIT][1] |
-| [error-reporting-java][7] | [MIT][1] |
+| [Test utilities for `java.util.logging`][5] | [MIT][6] |
+| [error-reporting-java][7] | [MIT][6] |
## Test Dependencies
@@ -17,7 +17,7 @@
| [Hamcrest][9] | [BSD License 3][10] |
| [JSONassert][11] | [The Apache Software License, Version 2.0][12] |
| [JUnit Jupiter (Aggregator)][13] | [Eclipse Public License v2.0][14] |
-| [EqualsVerifier][15] | [Apache License, Version 2.0][12] |
+| [EqualsVerifier | release normal jar][15] | [Apache License, Version 2.0][16] |
| [mockito-junit-jupiter][17] | [The MIT License][18] |
| [Apache Derby Database Engine and Embedded JDBC Driver][19] | [Apache 2][12] |
@@ -25,61 +25,68 @@
| Dependency | License |
| ------------------------------------------------------- | --------------------------------- |
-| [Maven Surefire Plugin][21] | [Apache License, Version 2.0][22] |
-| [JaCoCo :: Maven Plugin][23] | [Eclipse Public License 2.0][24] |
-| [Apache Maven Compiler Plugin][25] | [Apache License, Version 2.0][22] |
-| [Apache Maven Source Plugin][27] | [Apache License, Version 2.0][22] |
-| [Apache Maven Javadoc Plugin][29] | [Apache License, Version 2.0][22] |
-| [Apache Maven GPG Plugin][31] | [Apache License, Version 2.0][22] |
-| [Apache Maven JAR Plugin][33] | [Apache License, Version 2.0][22] |
-| [org.sonatype.ossindex.maven:ossindex-maven-plugin][35] | [ASL2][12] |
-| [Versions Maven Plugin][37] | [Apache License, Version 2.0][22] |
-| [Apache Maven Enforcer Plugin][39] | [Apache License, Version 2.0][22] |
-| [Apache Maven Deploy Plugin][41] | [Apache License, Version 2.0][12] |
-| [Nexus Staging Maven Plugin][43] | [Eclipse Public License][44] |
-| [Project keeper maven plugin][45] | [MIT][1] |
-| [error-code-crawler-maven-plugin][47] | [MIT][1] |
-| [Reproducible Build Maven Plugin][49] | [Apache 2.0][12] |
-| [Apache Maven Clean Plugin][51] | [Apache License, Version 2.0][22] |
-| [Apache Maven Resources Plugin][53] | [Apache License, Version 2.0][22] |
-| [Apache Maven Install Plugin][55] | [Apache License, Version 2.0][12] |
-| [Apache Maven Site Plugin][57] | [Apache License, Version 2.0][22] |
+| [SonarQube Scanner for Maven][21] | [GNU LGPL 3][22] |
+| [Apache Maven Compiler Plugin][23] | [Apache License, Version 2.0][16] |
+| [Apache Maven Enforcer Plugin][25] | [Apache License, Version 2.0][16] |
+| [Maven Flatten Plugin][27] | [Apache Software Licenese][12] |
+| [org.sonatype.ossindex.maven:ossindex-maven-plugin][29] | [ASL2][12] |
+| [Reproducible Build Maven Plugin][31] | [Apache 2.0][12] |
+| [Maven Surefire Plugin][33] | [Apache License, Version 2.0][16] |
+| [Versions Maven Plugin][35] | [Apache License, Version 2.0][16] |
+| [Apache Maven Deploy Plugin][37] | [Apache License, Version 2.0][16] |
+| [Apache Maven GPG Plugin][39] | [Apache License, Version 2.0][16] |
+| [Apache Maven Source Plugin][41] | [Apache License, Version 2.0][16] |
+| [Apache Maven Javadoc Plugin][43] | [Apache License, Version 2.0][16] |
+| [Nexus Staging Maven Plugin][45] | [Eclipse Public License][46] |
+| [JaCoCo :: Maven Plugin][47] | [Eclipse Public License 2.0][48] |
+| [error-code-crawler-maven-plugin][49] | [MIT][6] |
+| [Apache Maven JAR Plugin][51] | [Apache License, Version 2.0][16] |
+| [Project keeper maven plugin][53] | [The MIT License][54] |
+| [Apache Maven Clean Plugin][55] | [Apache License, Version 2.0][16] |
+| [Apache Maven Resources Plugin][57] | [Apache License, Version 2.0][16] |
+| [Apache Maven Install Plugin][59] | [Apache License, Version 2.0][12] |
+| [Apache Maven Site Plugin][61] | [Apache License, Version 2.0][16] |
-[45]: https://github.com/exasol/project-keeper-maven-plugin
[7]: https://github.com/exasol/error-reporting-java
+[1]: https://github.com/exasol/virtual-schema-common-java/blob/main/LICENSE
[12]: http://www.apache.org/licenses/LICENSE-2.0.txt
-[21]: https://maven.apache.org/surefire/maven-surefire-plugin/
-[43]: http://www.sonatype.com/public-parent/nexus-maven-plugins/nexus-staging/nexus-staging-maven-plugin/
-[1]: https://opensource.org/licenses/MIT
+[33]: https://maven.apache.org/surefire/maven-surefire-plugin/
+[45]: http://www.sonatype.com/public-parent/nexus-maven-plugins/nexus-staging/nexus-staging-maven-plugin/
+[6]: https://opensource.org/licenses/MIT
[17]: https://github.com/mockito/mockito
[19]: http://db.apache.org/derby/
-[37]: http://www.mojohaus.org/versions-maven-plugin/
+[27]: https://www.mojohaus.org/flatten-maven-plugin/
+[35]: http://www.mojohaus.org/versions-maven-plugin/
+[53]: https://github.com/exasol/project-keeper/
[10]: http://opensource.org/licenses/BSD-3-Clause
-[25]: https://maven.apache.org/plugins/maven-compiler-plugin/
+[23]: https://maven.apache.org/plugins/maven-compiler-plugin/
[3]: https://oss.oracle.com/licenses/CDDL+GPL-1.1
-[53]: https://maven.apache.org/plugins/maven-resources-plugin/
-[51]: https://maven.apache.org/plugins/maven-clean-plugin/
-[24]: https://www.eclipse.org/legal/epl-2.0/
-[44]: http://www.eclipse.org/legal/epl-v10.html
+[57]: https://maven.apache.org/plugins/maven-resources-plugin/
+[55]: https://maven.apache.org/plugins/maven-clean-plugin/
+[48]: https://www.eclipse.org/legal/epl-2.0/
+[37]: https://maven.apache.org/plugins/maven-deploy-plugin/
+[46]: http://www.eclipse.org/legal/epl-v10.html
+[22]: http://www.gnu.org/licenses/lgpl.txt
[5]: https://github.com/exasol/java-util-logging-testing
-[23]: https://www.jacoco.org/jacoco/trunk/doc/maven.html
+[47]: https://www.jacoco.org/jacoco/trunk/doc/maven.html
[18]: https://github.com/mockito/mockito/blob/main/LICENSE
-[49]: http://zlika.github.io/reproducible-build-maven-plugin
-[57]: https://maven.apache.org/plugins/maven-site-plugin/
-[22]: https://www.apache.org/licenses/LICENSE-2.0.txt
-[39]: https://maven.apache.org/enforcer/maven-enforcer-plugin/
+[31]: http://zlika.github.io/reproducible-build-maven-plugin
+[54]: https://github.com/exasol/project-keeper/blob/main/LICENSE
+[61]: https://maven.apache.org/plugins/maven-site-plugin/
+[16]: https://www.apache.org/licenses/LICENSE-2.0.txt
+[21]: http://sonarsource.github.io/sonar-scanner-maven/
+[15]: https://www.jqno.nl/equalsverifier
+[25]: https://maven.apache.org/enforcer/maven-enforcer-plugin/
[14]: https://www.eclipse.org/legal/epl-v20.html
[2]: https://github.com/eclipse-ee4j/jaxb-api
-[55]: http://maven.apache.org/plugins/maven-install-plugin/
+[59]: http://maven.apache.org/plugins/maven-install-plugin/
[13]: https://junit.org/junit5/
-[35]: https://sonatype.github.io/ossindex-maven/maven-plugin/
-[31]: https://maven.apache.org/plugins/maven-gpg-plugin/
+[29]: https://sonatype.github.io/ossindex-maven/maven-plugin/
+[39]: https://maven.apache.org/plugins/maven-gpg-plugin/
[11]: https://github.com/skyscreamer/JSONassert
-[15]: http://www.jqno.nl/equalsverifier
-[27]: https://maven.apache.org/plugins/maven-source-plugin/
+[41]: https://maven.apache.org/plugins/maven-source-plugin/
[9]: http://hamcrest.org/JavaHamcrest/
-[41]: http://maven.apache.org/plugins/maven-deploy-plugin/
-[29]: https://maven.apache.org/plugins/maven-javadoc-plugin/
-[0]: https://github.com/exasol/virtual-schema-common-java
-[47]: https://github.com/exasol/error-code-crawler-maven-plugin
-[33]: https://maven.apache.org/plugins/maven-jar-plugin/
+[0]: https://github.com/exasol/virtual-schema-common-java/
+[43]: https://maven.apache.org/plugins/maven-javadoc-plugin/
+[49]: https://github.com/exasol/error-code-crawler-maven-plugin
+[51]: https://maven.apache.org/plugins/maven-jar-plugin/
diff --git a/doc/changes/changes_9.0.5.md b/doc/changes/changes_9.0.5.md
index 29ec3d3..87e247d 100644
--- a/doc/changes/changes_9.0.5.md
+++ b/doc/changes/changes_9.0.5.md
@@ -1,9 +1,39 @@
-# Virtual Schema Common JDBC 9.0.5, released 2022-??-??
+# Virtual Schema Common JDBC 9.0.5, released 2022-06-24
-Code name:
+Code name: Dependency Updates
## Documentation
* #114: Fixed the Javadoc Plugin warnings in the next Java build
## Dependency Updates
+
+### Compile Dependency Updates
+
+* Updated `com.exasol:error-reporting-java:0.4.0` to `0.4.1`
+* Updated `com.exasol:java-util-logging-testing:2.0.0` to `2.0.1`
+* Updated `com.exasol:virtual-schema-common-java:15.3.0` to `15.3.2`
+* Updated `javax.xml.bind:jaxb-api:2.3.1` to `2.4.0-b180830.0359`
+
+### Test Dependency Updates
+
+* Updated `nl.jqno.equalsverifier:equalsverifier:3.7.2` to `3.10`
+* Updated `org.junit.jupiter:junit-jupiter:5.8.1` to `5.8.2`
+* Updated `org.mockito:mockito-junit-jupiter:4.0.0` to `4.6.1`
+
+### Plugin Dependency Updates
+
+* Updated `com.exasol:error-code-crawler-maven-plugin:0.7.1` to `1.1.1`
+* Updated `com.exasol:project-keeper-maven-plugin:1.3.0` to `2.4.6`
+* Updated `io.github.zlika:reproducible-build-maven-plugin:0.13` to `0.15`
+* Updated `org.apache.maven.plugins:maven-compiler-plugin:3.8.1` to `3.10.1`
+* Updated `org.apache.maven.plugins:maven-deploy-plugin:2.8.2` to `3.0.0-M1`
+* Updated `org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3` to `3.0.0`
+* Updated `org.apache.maven.plugins:maven-javadoc-plugin:3.3.1` to `3.4.0`
+* Updated `org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M4` to `3.0.0-M5`
+* Added `org.codehaus.mojo:flatten-maven-plugin:1.2.7`
+* Updated `org.codehaus.mojo:versions-maven-plugin:2.8.1` to `2.10.0`
+* Updated `org.jacoco:jacoco-maven-plugin:0.8.7` to `0.8.8`
+* Added `org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184`
+* Updated `org.sonatype.ossindex.maven:ossindex-maven-plugin:3.1.0` to `3.2.0`
+* Updated `org.sonatype.plugins:nexus-staging-maven-plugin:1.6.8` to `1.6.13`
diff --git a/error_code_config.yml b/error_code_config.yml
index b6b7b0e..c85adca 100644
--- a/error_code_config.yml
+++ b/error_code_config.yml
@@ -1,5 +1,5 @@
error-tags:
- VS-COM-JDBC:
+ VSCJDBC:
packages:
- com.exasol
highest-index: 40
\ No newline at end of file
diff --git a/pk_generated_parent.pom b/pk_generated_parent.pom
new file mode 100644
index 0000000..693f2ec
--- /dev/null
+++ b/pk_generated_parent.pom
@@ -0,0 +1,290 @@
+
+
+ 4.0.0
+ com.exasol
+ virtual-schema-common-jdbc-generated-parent
+ 9.0.5
+ pom
+
+ UTF-8
+ UTF-8
+ 11
+
+ true
+
+
+
+ MIT License
+ https://github.com/exasol/virtual-schema-common-jdbc/blob/main/LICENSE
+ repo
+
+
+
+
+ Exasol
+ opensource@exasol.com
+ Exasol AG
+ https://www.exasol.com/
+
+
+
+ scm:git:https://github.com/exasol/virtual-schema-common-jdbc.git
+ scm:git:https://github.com/exasol/virtual-schema-common-jdbc.git
+ https://github.com/exasol/virtual-schema-common-jdbc/
+
+
+
+
+
+ org.sonarsource.scanner.maven
+ sonar-maven-plugin
+ 3.9.1.2184
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.10.1
+
+
+ ${java.version}
+
+
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+ 3.0.0
+
+
+ enforce-maven
+
+ enforce
+
+
+
+
+ 3.6.3
+
+
+
+
+
+
+
+ org.codehaus.mojo
+ flatten-maven-plugin
+ 1.2.7
+
+ true
+ oss
+
+
+
+ flatten
+ process-resources
+
+ flatten
+
+
+
+ flatten.clean
+ clean
+
+ clean
+
+
+
+
+
+ org.sonatype.ossindex.maven
+ ossindex-maven-plugin
+ 3.2.0
+
+
+ audit
+ package
+
+ audit
+
+
+
+
+
+ io.github.zlika
+ reproducible-build-maven-plugin
+ 0.15
+
+
+ strip-jar
+ package
+
+ strip-jar
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.0.0-M5
+
+
+ -Djava.util.logging.config.file=src/test/resources/logging.properties ${argLine}
+ ${test.excludeTags}
+
+
+
+ org.codehaus.mojo
+ versions-maven-plugin
+ 2.10.0
+
+
+ display-updates
+ package
+
+ display-plugin-updates
+ display-dependency-updates
+
+
+
+
+ file:///${project.basedir}/versionsMavenPluginRules.xml
+
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+ 3.0.0-M1
+
+ true
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ 3.0.1
+
+
+ sign-artifacts
+ verify
+
+ sign
+
+
+
+ --pinentry-mode
+ loopback
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ 3.2.1
+
+
+ attach-sources
+
+ jar
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.4.0
+
+
+ attach-javadocs
+
+ jar
+
+
+
+
+ UTF-8
+
+ true
+ true
+ true
+
+
+
+ org.sonatype.plugins
+ nexus-staging-maven-plugin
+ 1.6.13
+
+ true
+ ossrh
+ https://oss.sonatype.org/
+
+
+
+ default-deploy
+ deploy
+
+ deploy
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.8
+
+
+ prepare-agent
+
+ prepare-agent
+
+
+
+ merge-results
+ verify
+
+ merge
+
+
+
+
+ ${project.build.directory}/
+
+ jacoco*.exec
+
+
+
+ ${project.build.directory}/aggregate.exec
+
+
+
+ report
+ verify
+
+ report
+
+
+ ${project.build.directory}/aggregate.exec
+
+
+
+
+
+ com.exasol
+ error-code-crawler-maven-plugin
+ 1.1.1
+
+
+ verify
+
+ verify
+
+
+
+
+
+
+
diff --git a/pom.xml b/pom.xml
index 96e0a62..d57ba0f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,5 +1,5 @@
-
4.0.0
com.exasol
@@ -7,43 +7,7 @@
9.0.5
Virtual Schema Common JDBC
Common module for JDBC-based data access from Virtual Schemas.
- https://github.com/exasol/virtual-schema-common-jdbc
-
- UTF-8
- UTF-8
- 11
- true
-
-
-
- MIT
- https://opensource.org/licenses/MIT
- repo
-
-
-
-
- Exasol
- opensource@exasol.com
- Exasol AG
- https://www.exasol.com/
-
-
-
- scm:git:https://github.com/exasol/virtual-schema-common-jdbc.git
- scm:git:https://github.com/exasol/virtual-schema-common-jdbc.git
- https://github.com/exasol/virtual-schema-common-jdbc/tree/master
-
-
-
- ossrh
- https://oss.sonatype.org/content/repositories/snapshots
-
-
- ossrh
- https://oss.sonatype.org/service/local/staging/deploy/maven2/
-
-
+ https://github.com/exasol/virtual-schema-common-jdbc/
maven.exasol.com
@@ -64,22 +28,22 @@
com.exasol
virtual-schema-common-java
- 15.3.0
+ 15.3.2
javax.xml.bind
jaxb-api
- 2.3.1
+ 2.4.0-b180830.0359
com.exasol
java-util-logging-testing
- 2.0.0
+ 2.0.1
com.exasol
error-reporting-java
- 0.4.0
+ 0.4.1
org.hamcrest
@@ -96,149 +60,31 @@
org.junit.jupiter
junit-jupiter
- 5.8.1
+ 5.8.2
test
nl.jqno.equalsverifier
equalsverifier
- 3.7.2
+ 3.10
test
org.mockito
mockito-junit-jupiter
- 4.0.0
+ 4.6.1
test
org.apache.derby
derby
+
10.15.2.0
test
-
- org.apache.maven.plugins
- maven-surefire-plugin
- 3.0.0-M4
-
-
- -Djava.util.logging.config.file=src/test/resources/logging.properties ${argLine}
-
-
-
- org.jacoco
- jacoco-maven-plugin
- 0.8.7
-
-
- prepare-agent
-
- prepare-agent
-
-
-
- prepare-agent-integration
-
- prepare-agent-integration
-
-
-
- merge-results
- verify
-
- merge
-
-
-
-
- ${project.build.directory}/
-
- jacoco*.exec
-
-
-
- ${project.build.directory}/aggregate.exec
-
-
-
- report
- verify
-
- report
-
-
- ${project.build.directory}/aggregate.exec
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.8.1
-
-
- ${java.version}
-
-
-
- org.apache.maven.plugins
- maven-source-plugin
- 3.2.1
-
-
- attach-sources
-
- jar
-
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- 3.3.1
-
-
- attach-javadocs
-
- jar
-
-
-
-
- UTF-8
-
- true
- true
- true
-
-
-
- org.apache.maven.plugins
- maven-gpg-plugin
- 3.0.1
-
-
- sign-artifacts
- verify
-
- sign
-
-
-
- --pinentry-mode
- loopback
-
-
-
-
-
org.apache.maven.plugins
maven-jar-plugin
@@ -257,86 +103,10 @@
-
- org.sonatype.ossindex.maven
- ossindex-maven-plugin
- 3.1.0
-
-
- package
-
- audit
-
-
-
-
-
- org.codehaus.mojo
- versions-maven-plugin
- 2.8.1
-
-
- package
-
- display-plugin-updates
- display-dependency-updates
-
-
-
-
- file:///${project.basedir}/versionsMavenPluginRules.xml
-
-
-
- org.apache.maven.plugins
- maven-enforcer-plugin
- 3.0.0-M3
-
-
- enforce-maven
-
- enforce
-
-
-
-
- 3.3.9
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
-
- true
-
-
-
- org.sonatype.plugins
- nexus-staging-maven-plugin
- 1.6.8
-
- true
- ossrh
- https://oss.sonatype.org/
-
-
-
- default-deploy
- deploy
-
- deploy
-
-
-
-
com.exasol
project-keeper-maven-plugin
- 1.3.0
+ 2.4.6
@@ -344,35 +114,6 @@
-
- maven_central
-
-
-
- com.exasol
- error-code-crawler-maven-plugin
- 0.7.1
-
-
-
- verify
-
-
-
-
-
- io.github.zlika
- reproducible-build-maven-plugin
- 0.13
-
-
- strip-jar
- package
-
- strip-jar
-
-
-
@@ -400,4 +141,10 @@
-
\ No newline at end of file
+
+ virtual-schema-common-jdbc-generated-parent
+ com.exasol
+ 9.0.5
+ pk_generated_parent.pom
+
+
diff --git a/src/main/java/com/exasol/adapter/adapternotes/ColumnAdapterNotesJsonConverter.java b/src/main/java/com/exasol/adapter/adapternotes/ColumnAdapterNotesJsonConverter.java
index 28036d4..96e70cf 100644
--- a/src/main/java/com/exasol/adapter/adapternotes/ColumnAdapterNotesJsonConverter.java
+++ b/src/main/java/com/exasol/adapter/adapternotes/ColumnAdapterNotesJsonConverter.java
@@ -59,7 +59,7 @@ public String convertToJson(final ColumnAdapterNotes columnAdapterNotes) {
public ColumnAdapterNotes convertFromJsonToColumnAdapterNotes(final String adapterNotes, final String columnName)
throws AdapterException {
if ((adapterNotes == null) || adapterNotes.isEmpty()) {
- throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-3")
+ throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-3")
.message("Adapter notes for column \"{{columnName|uq}}\" are empty or NULL.", columnName)
.mitigation("Please refresh the virtual schema.").toString());
}
@@ -67,7 +67,7 @@ public ColumnAdapterNotes convertFromJsonToColumnAdapterNotes(final String adapt
try (final JsonReader jr = Json.createReader(new StringReader(adapterNotes))) {
root = jr.readObject();
} catch (final RuntimeException exception) {
- throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-4")
+ throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-4")
.message("Could not parse the column adapter notes of column \"{{columnName|uq}}\".", columnName)
.mitigation("Please refresh the virtual schema.").toString(), exception);
}
diff --git a/src/main/java/com/exasol/adapter/adapternotes/SchemaAdapterNotesJsonConverter.java b/src/main/java/com/exasol/adapter/adapternotes/SchemaAdapterNotesJsonConverter.java
index 710eac6..ac446d0 100644
--- a/src/main/java/com/exasol/adapter/adapternotes/SchemaAdapterNotesJsonConverter.java
+++ b/src/main/java/com/exasol/adapter/adapternotes/SchemaAdapterNotesJsonConverter.java
@@ -67,6 +67,16 @@ public String convertToJson(final SchemaAdapterNotes schemaAdapterNotes) {
return builder.build().toString();
}
+ private static void checkKey(final JsonObject root, final String key, final String schemaName)
+ throws AdapterException {
+ if (!root.containsKey(key)) {
+ throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-7")
+ .message("Adapter notes of virtual schema \"{{schemaName|uq}}\" don't have the key {{key}}.",
+ schemaName, key)
+ .mitigation("Please refresh the virtual schema").toString());
+ }
+ }
+
/**
* Converts JSON representation of schema adapter notes into instance of {@link SchemaAdapterNotes} class.
*
@@ -78,7 +88,7 @@ public String convertToJson(final SchemaAdapterNotes schemaAdapterNotes) {
public SchemaAdapterNotes convertFromJsonToSchemaAdapterNotes(final String adapterNotes, final String schemaName)
throws AdapterException {
if ((adapterNotes == null) || adapterNotes.isEmpty()) {
- throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-5")
+ throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-5")
.message("Adapter notes for virtual schema \"{{schemaName|uq}}\" are empty or NULL.", schemaName)
.mitigation("Please refresh the virtual schema.").toString());
}
@@ -86,7 +96,7 @@ public SchemaAdapterNotes convertFromJsonToSchemaAdapterNotes(final String adapt
try (final JsonReader jr = Json.createReader(new StringReader(adapterNotes))) {
root = jr.readObject();
} catch (final RuntimeException exception) {
- throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-6")
+ throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-6")
.message("Could not parse the schema adapter notes of virtual schema \"{{schemaName|uq}}\".",
schemaName)
.mitigation("Please refresh the virtual schema.").toString(), exception);
@@ -122,14 +132,4 @@ public SchemaAdapterNotes convertFromJsonToSchemaAdapterNotes(final String adapt
.areNullsSortedLow(root.getBoolean(NULLS_ARE_SORTED_LOW)) //
.build();
}
-
- private static void checkKey(final JsonObject root, final String key, final String schemaName)
- throws AdapterException {
- if (!root.containsKey(key)) {
- throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-7")
- .message("Adapter notes of virtual schema \"{{schemaName|uq}}\" don't have the key {{key}}.",
- schemaName, key)
- .mitigation("Please refresh the virtual schema").toString());
- }
- }
}
\ No newline at end of file
diff --git a/src/main/java/com/exasol/adapter/dialects/AbstractSqlDialect.java b/src/main/java/com/exasol/adapter/dialects/AbstractSqlDialect.java
index fd89f9c..694f14f 100644
--- a/src/main/java/com/exasol/adapter/dialects/AbstractSqlDialect.java
+++ b/src/main/java/com/exasol/adapter/dialects/AbstractSqlDialect.java
@@ -205,7 +205,7 @@ protected void validateSupportedPropertiesList() throws PropertyValidationExcept
* @return exception
*/
protected String createUnsupportedElementMessage(final String unsupportedElement, final String property) {
- return ExaError.messageBuilder("E-VS-COM-JDBC-13")
+ return ExaError.messageBuilder("E-VSCJDBC-13")
.message("This dialect does not support {{unsupportedElement}} property.")
.parameter("unsupportedElement", unsupportedElement)
.mitigation(" Please, do not set the {{property}} property.") //
@@ -214,7 +214,7 @@ protected String createUnsupportedElementMessage(final String unsupportedElement
private void validateConnectionNameProperty() throws PropertyValidationException {
if (!this.properties.hasConnectionName()) {
- throw new PropertyValidationException(ExaError.messageBuilder("E-VS-COM-JDBC-14")
+ throw new PropertyValidationException(ExaError.messageBuilder("E-VSCJDBC-14")
.message("Please specify a connection using the property {{connectionNameProperty}}.")
.parameter("connectionNameProperty", CONNECTION_NAME_PROPERTY).toString());
}
@@ -243,7 +243,7 @@ private void validateSchemaNameProperty() throws PropertyValidationException {
protected void validateBooleanProperty(final String property) throws PropertyValidationException {
if (this.properties.containsKey(property) //
&& !BOOLEAN_PROPERTY_VALUE_PATTERN.matcher(this.properties.get(property)).matches()) {
- throw new PropertyValidationException(ExaError.messageBuilder("E-VS-COM-JDBC-15")
+ throw new PropertyValidationException(ExaError.messageBuilder("E-VSCJDBC-15")
.message("The value {{value}} for the property {{property}} is invalid. "
+ "It has to be either 'true' or 'false' (case insensitive).")
.parameter("value", this.properties.get(property)) //
@@ -270,14 +270,14 @@ private void validateDebugPortNumber(final String debugAddress) {
try {
final int port = Integer.parseInt(portAsString);
if ((port < 1) || (port > 65535)) {
- LOGGER.warning(() -> ExaError.messageBuilder("W-VS-COM-JDBC-40")
+ LOGGER.warning(() -> ExaError.messageBuilder("W-VSCJDBC-40")
.message("Debug output port {{port|uq}} is out of range.", port) //
.mitigation("Port specified in property {{debugAddressProperty}} must have "
+ "the following format: [:], and be between 1 and 65535.")
.parameter("debugAddressProperty", DEBUG_ADDRESS_PROPERTY).toString());
}
} catch (final NumberFormatException ex) {
- LOGGER.warning(() -> ExaError.messageBuilder("W-VS-COM-JDBC-39").message(
+ LOGGER.warning(() -> ExaError.messageBuilder("W-VSCJDBC-39").message(
"Illegal debug output port {{portAsString}}. Property {{debugAddressProperty}} must have "
+ "the following format: [:], where port is a number between 1 and 65535.")
.parameter("debugAddressProperty", DEBUG_ADDRESS_PROPERTY)
@@ -292,7 +292,7 @@ private void validateExceptionHandling() throws PropertyValidationException {
if (!((exceptionHandling == null) || exceptionHandling.isEmpty())) {
for (final SqlDialect.ExceptionHandlingMode mode : SqlDialect.ExceptionHandlingMode.values()) {
if (!mode.name().equals(exceptionHandling)) {
- throw new PropertyValidationException(ExaError.messageBuilder("E-VS-COM-JDBC-16").message(
+ throw new PropertyValidationException(ExaError.messageBuilder("E-VSCJDBC-16").message(
"Invalid value {{exceptionHandlingValue}} for property {{exceptionHandlingProperty}}.")
.parameter("exceptionHandlingValue", exceptionHandling)
.parameter("exceptionHandlingProperty", EXCEPTION_HANDLING_PROPERTY)
@@ -320,7 +320,7 @@ protected void checkImportPropertyConsistency(final String importFromProperty, f
final boolean connectionIsEmpty = ((value == null) || value.isEmpty());
if (isDirectImport) {
if (connectionIsEmpty) {
- throw new PropertyValidationException(ExaError.messageBuilder("E-VS-COM-JDBC-17")
+ throw new PropertyValidationException(ExaError.messageBuilder("E-VSCJDBC-17")
.message("You defined the property {{importFromProperty}}.")
.parameter("importFromProperty", importFromProperty)
.mitigation("Please also define {{connectionProperty}}.")
@@ -328,7 +328,7 @@ protected void checkImportPropertyConsistency(final String importFromProperty, f
}
} else {
if (!connectionIsEmpty) {
- throw new PropertyValidationException(ExaError.messageBuilder("E-VS-COM-JDBC-18")
+ throw new PropertyValidationException(ExaError.messageBuilder("E-VSCJDBC-18")
.message("You defined the property {{connectionProperty}} without setting "
+ "{{importFromProperty}} to 'TRUE'. This is not allowed")
.parameter("connectionProperty", connectionProperty)
@@ -350,7 +350,7 @@ protected void validateCastNumberToDecimalProperty(final String castNumberToDeci
final String precisionAndScale = this.properties.get(castNumberToDecimalProperty);
final Matcher matcher = pattern.matcher(precisionAndScale);
if (!matcher.matches()) {
- throw new PropertyValidationException(ExaError.messageBuilder("E-VS-COM-JDBC-19").message(
+ throw new PropertyValidationException(ExaError.messageBuilder("E-VSCJDBC-19").message(
"Unable to parse adapter property {{propertyName}} value {{value}} into a number's precision "
+ "and scale. The required format is ',' where both are integer numbers.")
.parameter("propertyName", castNumberToDecimalProperty) //
diff --git a/src/main/java/com/exasol/adapter/dialects/rewriting/AbstractQueryRewriter.java b/src/main/java/com/exasol/adapter/dialects/rewriting/AbstractQueryRewriter.java
index cb49cf2..b9c05ce 100644
--- a/src/main/java/com/exasol/adapter/dialects/rewriting/AbstractQueryRewriter.java
+++ b/src/main/java/com/exasol/adapter/dialects/rewriting/AbstractQueryRewriter.java
@@ -76,7 +76,7 @@ protected ExaConnectionInformation getConnectionInformation(final ExaMetadata ex
try {
return exaMetadata.getConnection(connectionName);
} catch (final ExaConnectionAccessException exception) {
- throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-8").message(
+ throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-8").message(
"Unable to access information about the Exasol connection named {{connectionName}} trying to"
+ " create a connection definition for rewritten query.")
.parameter("connectionName", connectionName).toString(), exception);
diff --git a/src/main/java/com/exasol/adapter/dialects/rewriting/SqlGenerationVisitor.java b/src/main/java/com/exasol/adapter/dialects/rewriting/SqlGenerationVisitor.java
index 0250aea..2b9ba6d 100644
--- a/src/main/java/com/exasol/adapter/dialects/rewriting/SqlGenerationVisitor.java
+++ b/src/main/java/com/exasol/adapter/dialects/rewriting/SqlGenerationVisitor.java
@@ -67,7 +67,7 @@ protected SqlDialect getDialect() {
protected void checkDialectAliases() {
for (final ScalarFunction function : this.dialect.getScalarFunctionAliases().keySet()) {
if (!function.isSimple()) {
- throw new UnsupportedOperationException(ExaError.messageBuilder("E-VS-COM-JDBC-9")
+ throw new UnsupportedOperationException(ExaError.messageBuilder("E-VSCJDBC-9")
.message(
"The dialect {{dialectName|uq}} provided an alias for the non-simple scalar function "
+ "{{functionName|uq}}. This alias will never be considered.",
@@ -77,7 +77,7 @@ protected void checkDialectAliases() {
}
for (final AggregateFunction function : this.dialect.getAggregateFunctionAliases().keySet()) {
if (!function.isSimple()) {
- throw new UnsupportedOperationException(ExaError.messageBuilder("E-VS-COM-JDBC-10").message(
+ throw new UnsupportedOperationException(ExaError.messageBuilder("E-VSCJDBC-10").message(
"The dialect {{dialectName|uq}} provided an alias for the non-simple aggregate function "
+ "{{functionName|uq}}. This alias will never be considered.",
this.dialect.getName(), function.name()).ticketMitigation().toString());
@@ -343,7 +343,7 @@ private String generateSqlForBinaryInfixFunction(final ScalarFunction scalarFunc
final List sqlArguments) {
final String realFunctionName = this.dialect.getBinaryInfixFunctionAliases().get(scalarFunction);
if (sqlArguments.size() != 2) {
- throw new IllegalArgumentException(ExaError.messageBuilder("E-VS-COM-JDBC-11").message(
+ throw new IllegalArgumentException(ExaError.messageBuilder("E-VSCJDBC-11").message(
"The {{realFunctionName|uq}} function requests 2 arguments, but {{sqlArgumentsSize|uq}} were given.",
realFunctionName, sqlArguments.size()).toString());
}
@@ -357,7 +357,7 @@ private boolean isPrefixFunction(final SqlFunctionScalar function) {
private String generateSqlForPrefixFunction(final ScalarFunction scalarFunction, final List sqlArguments) {
final String realFunctionName = this.dialect.getPrefixFunctionAliases().get(scalarFunction);
if (sqlArguments.size() != 1) {
- throw new IllegalArgumentException(ExaError.messageBuilder("E-VS-COM-JDBC-12").message(
+ throw new IllegalArgumentException(ExaError.messageBuilder("E-VSCJDBC-12").message(
"The {{realFunctionName|uq}} function requests 1 argument, but {{sqlArgumentsSize|uq}} were given.",
realFunctionName, sqlArguments.size()).toString());
}
diff --git a/src/main/java/com/exasol/adapter/jdbc/AbstractRemoteMetadataReader.java b/src/main/java/com/exasol/adapter/jdbc/AbstractRemoteMetadataReader.java
index 573bc11..d38e544 100644
--- a/src/main/java/com/exasol/adapter/jdbc/AbstractRemoteMetadataReader.java
+++ b/src/main/java/com/exasol/adapter/jdbc/AbstractRemoteMetadataReader.java
@@ -107,7 +107,7 @@ private SchemaMetadata readRemoteSchemaMetadataForSelectedTables(final List mapColumns(final String catalogName, final String
tableName, ANY_COLUMN)) {
return getColumnsFromResultSet(remoteColumns);
} catch (final SQLException exception) {
- throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VS-COM-JDBC-1").message(
+ throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VSCJDBC-1").message(
"Unable to read column metadata from remote for catalog \"{{catalogName|uq}}\" and schema \"{{schemaName|uq}}\"",
schemaName, catalogName).toString(), exception);
}
@@ -195,11 +195,11 @@ protected boolean isRemoteColumnNullable(final ResultSet remoteColumn, final Str
try {
return !JDBC_FALSE.equalsIgnoreCase(remoteColumn.getString(NULLABLE_COLUMN));
} catch (final SQLException exception) {
- LOGGER.warning(() -> ExaError.messageBuilder("W-VS-COM-JDBC-20").message(
+ LOGGER.warning(() -> ExaError.messageBuilder("W-VSCJDBC-20").message(
"Caught an SQL exception trying to determine whether column \"{{columnName|uq}}\" is nullable: "
+ "{{exceptionMessage|uq}}",
columnName, exception.getMessage()).toString());
- LOGGER.warning(() -> ExaError.messageBuilder("W-VS-COM-JDBC-38")
+ LOGGER.warning(() -> ExaError.messageBuilder("W-VSCJDBC-38")
.message("Assuming column \"{{columnName|uq}}\" to be nullable.", columnName).toString());
return DEFAULT_NULLABLE;
}
@@ -210,13 +210,13 @@ private boolean isAutoIncrementColumn(final ResultSet remoteColumn, final String
final String identity = remoteColumn.getString(AUTOINCREMENT_COLUMN);
return JDBC_TRUE.equalsIgnoreCase(identity);
} catch (final SQLException exception) {
- LOGGER.warning(() -> ExaError.messageBuilder("W-VS-COM-JDBC-37")
+ LOGGER.warning(() -> ExaError.messageBuilder("W-VSCJDBC-37")
.message(
"Caught an SQL exception trying to determine whether column \"{{columnName|uq}}\" is "
+ "an auto-increment column: {{exceptionMessage|uq}}",
columnName, exception.getMessage())
.toString());
- LOGGER.warning(() -> ExaError.messageBuilder("W-VS-COM-JDBC-36")
+ LOGGER.warning(() -> ExaError.messageBuilder("W-VSCJDBC-36")
.message("Assuming that column \"{{columnName|uq}}\" is not incremented automatically.",
columnName)
.toString());
@@ -417,7 +417,7 @@ protected DataType getNumberTypeFromProperty(final String property) {
final int scale = Integer.parseInt(matcher.group(2));
return DataType.createDecimal(precision, scale);
} else {
- throw new IllegalArgumentException(ExaError.messageBuilder("E-VS-COM-JDBC-2").message(
+ throw new IllegalArgumentException(ExaError.messageBuilder("E-VSCJDBC-2").message(
"Unable to parse adapter property {{property|uq}} value {{precisionAndScale}} into a number precision "
+ "and scale. The required format is '.', where both are integer numbers.",
property, precisionAndScale).toString());
diff --git a/src/main/java/com/exasol/adapter/jdbc/BaseConnectionDefinitionBuilder.java b/src/main/java/com/exasol/adapter/jdbc/BaseConnectionDefinitionBuilder.java
index ac80798..98deb4c 100644
--- a/src/main/java/com/exasol/adapter/jdbc/BaseConnectionDefinitionBuilder.java
+++ b/src/main/java/com/exasol/adapter/jdbc/BaseConnectionDefinitionBuilder.java
@@ -25,7 +25,7 @@ public String buildConnectionDefinition(final AdapterProperties properties,
if (properties.hasConnectionName()) {
return "AT " + properties.getConnectionName();
} else {
- throw new IllegalArgumentException(ExaError.messageBuilder("E-VS-COM-JDBC-23")
+ throw new IllegalArgumentException(ExaError.messageBuilder("E-VSCJDBC-23")
.message("Please, provide a mandatory property {{connectionNameProperty}}.")
.parameter("connectionNameProperty", CONNECTION_NAME_PROPERTY).toString());
}
diff --git a/src/main/java/com/exasol/adapter/jdbc/BaseTableMetadataReader.java b/src/main/java/com/exasol/adapter/jdbc/BaseTableMetadataReader.java
index daee116..3ffe069 100644
--- a/src/main/java/com/exasol/adapter/jdbc/BaseTableMetadataReader.java
+++ b/src/main/java/com/exasol/adapter/jdbc/BaseTableMetadataReader.java
@@ -46,7 +46,7 @@ public List mapTables(final ResultSet remoteTables, final List ExaError.messageBuilder("W-VS-COM-JDBC-35")
+ LOGGER.warning(() -> ExaError.messageBuilder("W-VSCJDBC-35")
.message("Table scan did not find any tables. This can mean that either" //
+ " a) the source does not contain tables (yet)," + " b) the table type is not supported" //
+ " c) the table scan filter criteria is incorrect or" //
@@ -142,7 +142,7 @@ protected boolean tableHasColumns(final TableMetadata tableMetadata) {
private void validateMappedTablesListSize(final List selectedTables) {
if (selectedTables.size() > DEFAULT_MAX_MAPPED_TABLE_LIST_SIZE) {
- throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VS-COM-JDBC-24")
+ throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VSCJDBC-24")
.message("The size of the list of the selected tables exceeded the default allowed maximum: "
+ DEFAULT_MAX_MAPPED_TABLE_LIST_SIZE)
.mitigation("Please, use the 'TABLE_FILTER' property to define the list of tables you need.")
diff --git a/src/main/java/com/exasol/adapter/jdbc/JDBCAdapter.java b/src/main/java/com/exasol/adapter/jdbc/JDBCAdapter.java
index cbb1092..323df15 100644
--- a/src/main/java/com/exasol/adapter/jdbc/JDBCAdapter.java
+++ b/src/main/java/com/exasol/adapter/jdbc/JDBCAdapter.java
@@ -44,7 +44,7 @@ public CreateVirtualSchemaResponse createVirtualSchema(final ExaMetadata exasolM
final SchemaMetadata remoteMeta = readMetadata(properties, exasolMetadata);
return CreateVirtualSchemaResponse.builder().schemaMetadata(remoteMeta).build();
} catch (final SQLException exception) {
- throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-25")
+ throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-25")
.message("Unable create Virtual Schema \"{{virtualSchemaName|uq}}\". Cause: {{cause|uq}}",
request.getVirtualSchemaName(), exception.getMessage())
.toString(), exception);
@@ -102,7 +102,7 @@ public RefreshResponse refresh(final ExaMetadata metadata, final RefreshRequest
final SchemaMetadata remoteMetadata = this.getRemoteMetadata(metadata, request);
return RefreshResponse.builder().schemaMetadata(remoteMetadata).build();
} catch (final SQLException | PropertyValidationException exception) {
- throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-26").message(
+ throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-26").message(
"Unable refresh metadata of Virtual Schema \"{{virtualSchemaName|uq}}\". Cause: {{cause|uq}}",
request.getSchemaMetadataInfo().getSchemaName(), exception.getMessage()).toString(), exception);
}
@@ -243,7 +243,7 @@ public PushDownResponse pushdown(final ExaMetadata exaMetadata, final PushDownRe
final String importFromPushdownQuery = dialect.rewriteQuery(request.getSelect(), exaMetadata);
return PushDownResponse.builder().pushDownSql(importFromPushdownQuery).build();
} catch (final SQLException exception) {
- throw new AdapterException(ExaError.messageBuilder("E-VS-COM-JDBC-27")
+ throw new AdapterException(ExaError.messageBuilder("E-VSCJDBC-27")
.message("Unable to execute push-down request. Cause: {{cause|uq}}", exception.getMessage())
.toString(), exception);
}
diff --git a/src/main/java/com/exasol/adapter/jdbc/RemoteConnectionFactory.java b/src/main/java/com/exasol/adapter/jdbc/RemoteConnectionFactory.java
index 0f97a12..ae2a61b 100644
--- a/src/main/java/com/exasol/adapter/jdbc/RemoteConnectionFactory.java
+++ b/src/main/java/com/exasol/adapter/jdbc/RemoteConnectionFactory.java
@@ -44,7 +44,7 @@ public synchronized Connection getConnection() throws SQLException {
if ((connectionName != null) && !connectionName.isEmpty()) {
this.cachedConnection = createConnection(connectionName, this.exaMetadata);
} else {
- throw new RemoteConnectionException(ExaError.messageBuilder("E-VS-COM-JDBC-28")
+ throw new RemoteConnectionException(ExaError.messageBuilder("E-VSCJDBC-28")
.message("{{connectionNameProperty}} property is missing or empty.")
.parameter("connectionNameProperty", CONNECTION_NAME_PROPERTY)
.mitigation("Please, check the property and try to connect again.").toString());
@@ -66,7 +66,7 @@ private Connection createConnection(final String connectionName, final ExaMetada
return establishConnectionWithRegularCredentials(password, username, address);
}
} catch (final ExaConnectionAccessException exception) {
- throw new RemoteConnectionException(ExaError.messageBuilder("E-VS-COM-JDBC-29")
+ throw new RemoteConnectionException(ExaError.messageBuilder("E-VSCJDBC-29")
.message("Could not access the connection information of connection {{connectionName}}.")
.parameter("connectionName", connectionName).toString(), exception);
}
diff --git a/src/main/java/com/exasol/adapter/jdbc/ResultSetMetadataReader.java b/src/main/java/com/exasol/adapter/jdbc/ResultSetMetadataReader.java
index 6cfda42..2f14ea5 100644
--- a/src/main/java/com/exasol/adapter/jdbc/ResultSetMetadataReader.java
+++ b/src/main/java/com/exasol/adapter/jdbc/ResultSetMetadataReader.java
@@ -48,7 +48,7 @@ public String describeColumns(final String query) {
LOGGER.fine(() -> "Columns description: " + columnsDescription);
return columnsDescription;
} catch (final SQLException exception) {
- throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VS-COM-JDBC-30").message(
+ throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VSCJDBC-30").message(
"Unable to read remote metadata for push-down query trying to generate result column description.")
.mitigation("Please, make sure that you provided valid CATALOG_NAME "
+ "and SCHEMA_NAME properties if required. Caused by: {{cause}}")
@@ -66,7 +66,7 @@ private void validateColumnTypes(final List types, final String query)
++column;
}
if (!illegalColumns.isEmpty()) {
- throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VS-COM-JDBC-31")
+ throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VSCJDBC-31")
.message("Unsupported data type(s) in column(s) in query: {{unsupportedColumns|uq}}.",
illegalColumns.stream().map(String::valueOf).collect(Collectors.joining(", ")))
.mitigation("Please remove those columns from your query:\n{{query|uq}}", query)
@@ -104,7 +104,7 @@ private List mapResultMetadataToExasolDataTypes(final ResultSetMetaDat
private void validateMetadata(final ResultSetMetaData metadata) {
if (metadata == null) {
- throw new RemoteMetadataReaderException(ExaError.messageBuilder("F-VS-COM-JDBC-34") //
+ throw new RemoteMetadataReaderException(ExaError.messageBuilder("F-VSCJDBC-34") //
.message(
"Metadata is missing in the ResultSet. This can happen if the generated query was incorrect,"
+ " but the JDBC driver didn't throw an exception.")
diff --git a/src/main/java/com/exasol/auth/kerberos/KerberosConfigurationCreator.java b/src/main/java/com/exasol/auth/kerberos/KerberosConfigurationCreator.java
index 20e922d..ba4363e 100644
--- a/src/main/java/com/exasol/auth/kerberos/KerberosConfigurationCreator.java
+++ b/src/main/java/com/exasol/auth/kerberos/KerberosConfigurationCreator.java
@@ -50,7 +50,7 @@ public void writeKerberosConfigurationFiles(final String user, final String pass
final String base64EncodedKeyTab = tokens[2];
createKerberosConfiguration(user, base64EncodedKerberosConfig, base64EncodedKeyTab);
} else {
- throw new KerberosConfigurationCreatorException(ExaError.messageBuilder("E-VS-COM-JDBC-32")
+ throw new KerberosConfigurationCreatorException(ExaError.messageBuilder("E-VSCJDBC-32")
.message("Syntax error in Kerberos password."
+ " Must conform to: 'ExaAuthType=Kerberos;;'")
.toString());
@@ -67,7 +67,7 @@ private void createKerberosConfiguration(final String user, final String base64E
final Path jaasConfigPath = createTemporaryJaasConfig(temporaryDirectory, user, keyTabPath);
setKerberosSystemProperties(kerberosConfigPath, jaasConfigPath);
} catch (final IOException exception) {
- throw new KerberosConfigurationCreatorException(ExaError.messageBuilder("E-VS-COM-JDBC-33")
+ throw new KerberosConfigurationCreatorException(ExaError.messageBuilder("E-VSCJDBC-33")
.message("Unable to create temporary Kerberos configuration file.").toString(), exception);
}
}
diff --git a/src/test/java/com/exasol/adapter/adapternotes/ColumnAdapterNotesJsonConverterTest.java b/src/test/java/com/exasol/adapter/adapternotes/ColumnAdapterNotesJsonConverterTest.java
index 8b40248..559ad40 100644
--- a/src/test/java/com/exasol/adapter/adapternotes/ColumnAdapterNotesJsonConverterTest.java
+++ b/src/test/java/com/exasol/adapter/adapternotes/ColumnAdapterNotesJsonConverterTest.java
@@ -56,20 +56,20 @@ void testConvertFromJsonToColumnAdapterNotes() throws AdapterException {
void testConvertFromJsonToColumnAdapterNotesThrowsExceptionWhenAdapterNotesAreNull() {
final AdapterException exception = assertThrows(AdapterException.class,
() -> this.converter.convertFromJsonToColumnAdapterNotes(null, ""));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-3"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-3"));
}
@Test
void testConvertFromJsonToColumnAdapterNotesThrowsExceptionWithEmptyAdapterNotes() {
final AdapterException exception = assertThrows(AdapterException.class,
() -> this.converter.convertFromJsonToColumnAdapterNotes("", ""));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-3"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-3"));
}
@Test
void testConvertFromJsonToColumnAdapterNotesThrowsExceptionWithWrongAdapterNotes() {
final AdapterException exception = assertThrows(AdapterException.class,
() -> this.converter.convertFromJsonToColumnAdapterNotes("testNotes", ""));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-4"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-4"));
}
}
\ No newline at end of file
diff --git a/src/test/java/com/exasol/adapter/adapternotes/SchemaAdapterNotesJsonConverterTest.java b/src/test/java/com/exasol/adapter/adapternotes/SchemaAdapterNotesJsonConverterTest.java
index 55851f8..1c7be4f 100644
--- a/src/test/java/com/exasol/adapter/adapternotes/SchemaAdapterNotesJsonConverterTest.java
+++ b/src/test/java/com/exasol/adapter/adapternotes/SchemaAdapterNotesJsonConverterTest.java
@@ -51,21 +51,21 @@ void testConvertFromJsonToSchemaAdapterNotesWithDefaultValues() throws AdapterEx
void testConvertFromJsonToSchemaAdapterNotesThrowsExceptionWhenEmptyAdapterNotesAreBzkk() {
final AdapterException exception = assertThrows(AdapterException.class,
() -> this.converter.convertFromJsonToSchemaAdapterNotes(null, ""));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-5"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-5"));
}
@Test
void testConvertFromJsonToSchemaAdapterNotesThrowsExceptionWithEmptyAdapterNotes() {
final AdapterException exception = assertThrows(AdapterException.class,
() -> this.converter.convertFromJsonToSchemaAdapterNotes("", ""));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-5"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-5"));
}
@Test
void testConvertFromJsonToSchemaAdapterNotesThrowsExceptionWithWrongAdapterNotes() {
final AdapterException exception = assertThrows(AdapterException.class,
() -> this.converter.convertFromJsonToSchemaAdapterNotes("testNotes", ""));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-6"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-6"));
}
@Test
@@ -74,6 +74,6 @@ void testCheckKey() {
+ "\"areNullsSortedLow\":false}";
final AdapterException exception = assertThrows(AdapterException.class,
() -> this.converter.convertFromJsonToSchemaAdapterNotes(serializedString, ""));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-7"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-7"));
}
}
\ No newline at end of file
diff --git a/src/test/java/com/exasol/adapter/dialects/AbstractSqlDialectTest.java b/src/test/java/com/exasol/adapter/dialects/AbstractSqlDialectTest.java
index 78cf571..a67f6b6 100644
--- a/src/test/java/com/exasol/adapter/dialects/AbstractSqlDialectTest.java
+++ b/src/test/java/com/exasol/adapter/dialects/AbstractSqlDialectTest.java
@@ -46,7 +46,7 @@ void testNoConnectionName() {
final PropertyValidationException exception = assertThrows(PropertyValidationException.class,
sqlDialect::validateProperties);
assertThat(exception.getMessage(),
- containsString("E-VS-COM-JDBC-14: Please specify a connection using the property '"
+ containsString("E-VSCJDBC-14: Please specify a connection using the property '"
+ CONNECTION_NAME_PROPERTY + "'."));
}
@@ -106,7 +106,7 @@ void testInvalidExceptionHandling() {
final PropertyValidationException exception = assertThrows(PropertyValidationException.class,
sqlDialect::validateProperties);
assertThat(exception.getMessage(),
- containsString("E-VS-COM-JDBC-16: Invalid value 'IGNORE_ALL' for property 'EXCEPTION_HANDLING'. "
+ containsString("E-VSCJDBC-16: Invalid value 'IGNORE_ALL' for property 'EXCEPTION_HANDLING'. "
+ "Choose one of: [IGNORE_INVALID_VIEWS, NONE]."));
}
@@ -174,7 +174,7 @@ void testValidateSupportedPropertiesList() {
final SqlDialect sqlDialect = new DummySqlDialect(null, new AdapterProperties(this.rawProperties));
final PropertyValidationException exception = assertThrows(PropertyValidationException.class,
sqlDialect::validateProperties);
- assertAll(() -> assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-13")),
+ assertAll(() -> assertThat(exception.getMessage(), containsString("E-VSCJDBC-13")),
() -> assertThat(exception.getMessage(), containsString("SOME_PROPERTY")));
}
@@ -185,7 +185,7 @@ void testValidateCatalogNameProperty() {
final SqlDialect sqlDialect = new DummySqlDialect(null, new AdapterProperties(this.rawProperties));
final PropertyValidationException exception = assertThrows(PropertyValidationException.class,
sqlDialect::validateProperties);
- assertAll(() -> assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-13")),
+ assertAll(() -> assertThat(exception.getMessage(), containsString("E-VSCJDBC-13")),
() -> assertThat(exception.getMessage(), containsString(CATALOG_NAME_PROPERTY)));
}
@@ -196,7 +196,7 @@ void testValidateSchemaNameProperty() {
final SqlDialect sqlDialect = new DummySqlDialect(null, new AdapterProperties(this.rawProperties));
final PropertyValidationException exception = assertThrows(PropertyValidationException.class,
sqlDialect::validateProperties);
- assertAll(() -> assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-13")),
+ assertAll(() -> assertThat(exception.getMessage(), containsString("E-VSCJDBC-13")),
() -> assertThat(exception.getMessage(), containsString(SCHEMA_NAME_PROPERTY)));
}
@@ -206,7 +206,7 @@ void testValidateBooleanProperty() {
final DummySqlDialect sqlDialect = new DummySqlDialect(null, new AdapterProperties(this.rawProperties));
final PropertyValidationException exception = assertThrows(PropertyValidationException.class,
() -> sqlDialect.validateBooleanProperty(IS_LOCAL_PROPERTY));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-15"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-15"));
}
@Test
@@ -216,7 +216,7 @@ void testValidateExceptionHandling() {
final SqlDialect sqlDialect = new DummySqlDialect(null, new AdapterProperties(this.rawProperties));
final PropertyValidationException exception = assertThrows(PropertyValidationException.class,
sqlDialect::validateProperties);
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-16"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-16"));
}
@Test
@@ -226,7 +226,7 @@ void testCheckImportPropertyConsistencyWrongValue() {
final DummySqlDialect sqlDialect = new DummySqlDialect(null, new AdapterProperties(this.rawProperties));
final PropertyValidationException exception = assertThrows(PropertyValidationException.class,
() -> sqlDialect.checkImportPropertyConsistency("SOME_PROPERTY", CONNECTION_NAME_PROPERTY));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-18"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-18"));
}
@Test
@@ -236,7 +236,7 @@ void testCheckImportPropertyConsistencyNoConnection() {
final DummySqlDialect sqlDialect = new DummySqlDialect(null, new AdapterProperties(this.rawProperties));
final PropertyValidationException exception = assertThrows(PropertyValidationException.class,
() -> sqlDialect.checkImportPropertyConsistency("SOME_PROPERTY", CONNECTION_NAME_PROPERTY));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-17"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-17"));
}
@Test
@@ -245,6 +245,6 @@ void testValidateCastNumberToDecimalProperty() {
final DummySqlDialect sqlDialect = new DummySqlDialect(null, new AdapterProperties(this.rawProperties));
final PropertyValidationException exception = assertThrows(PropertyValidationException.class,
() -> sqlDialect.validateCastNumberToDecimalProperty("SOME_PROPERTY"));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-19"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-19"));
}
}
\ No newline at end of file
diff --git a/src/test/java/com/exasol/adapter/dialects/SqlDialectTest.java b/src/test/java/com/exasol/adapter/dialects/SqlDialectTest.java
index e7eb78a..607fd11 100644
--- a/src/test/java/com/exasol/adapter/dialects/SqlDialectTest.java
+++ b/src/test/java/com/exasol/adapter/dialects/SqlDialectTest.java
@@ -94,7 +94,7 @@ void testInvalidAliases() {
final SqlDialect dialect = new AliasesSqlDialect(Map.of(), scalarAliases, Map.of(), Map.of());
final UnsupportedOperationException exception = assertThrows(UnsupportedOperationException.class,
() -> new SqlGenerationVisitor(dialect, context));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-9"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-9"));
}
}
for (final AggregateFunction function : AggregateFunction.values()) {
@@ -103,7 +103,7 @@ void testInvalidAliases() {
final SqlDialect dialect = new AliasesSqlDialect(aggregateAliases, Map.of(), Map.of(), Map.of());
final UnsupportedOperationException exception = assertThrows(UnsupportedOperationException.class,
() -> new SqlGenerationVisitor(dialect, context));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-10"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-10"));
}
}
}
diff --git a/src/test/java/com/exasol/adapter/dialects/SqlGenerationVisitorTest.java b/src/test/java/com/exasol/adapter/dialects/SqlGenerationVisitorTest.java
index 7d61dfd..843b9f3 100644
--- a/src/test/java/com/exasol/adapter/dialects/SqlGenerationVisitorTest.java
+++ b/src/test/java/com/exasol/adapter/dialects/SqlGenerationVisitorTest.java
@@ -637,7 +637,7 @@ void visitBinaryScalarFunctionThrowsException() {
final SqlFunctionScalar functionScalar = new SqlFunctionScalar(ScalarFunction.ADD, List.of());
final IllegalArgumentException exception = assertThrows(IllegalArgumentException.class,
() -> sqlGenerationVisitor.visit(functionScalar));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-11"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-11"));
}
@Test
@@ -645,7 +645,7 @@ void visitPrefixScalarFunctionThrowsException() {
final SqlFunctionScalar functionScalar = new SqlFunctionScalar(ScalarFunction.NEG, List.of());
final IllegalArgumentException exception = assertThrows(IllegalArgumentException.class,
() -> sqlGenerationVisitor.visit(functionScalar));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-12"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-12"));
}
private static class TestDialect extends DummySqlDialect {
diff --git a/src/test/java/com/exasol/adapter/dialects/rewriting/AbstractQueryRewriterTest.java b/src/test/java/com/exasol/adapter/dialects/rewriting/AbstractQueryRewriterTest.java
index 74f1161..b467c4f 100644
--- a/src/test/java/com/exasol/adapter/dialects/rewriting/AbstractQueryRewriterTest.java
+++ b/src/test/java/com/exasol/adapter/dialects/rewriting/AbstractQueryRewriterTest.java
@@ -27,7 +27,7 @@ void testGetConnectionInformationThrowsException() throws ExaConnectionAccessExc
final AdapterException exception = assertThrows(AdapterException.class,
() -> dummyQueryRewriter.getConnectionInformation(exaMetadataMock,
new AdapterProperties(Map.of("CONNECTION_NAME", "my_connection"))));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-8"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-8"));
}
static class DummyQueryRewriter extends AbstractQueryRewriter {
diff --git a/src/test/java/com/exasol/adapter/jdbc/AbstractRemoteMetadataReaderTest.java b/src/test/java/com/exasol/adapter/jdbc/AbstractRemoteMetadataReaderTest.java
index 9c38524..e2921dd 100644
--- a/src/test/java/com/exasol/adapter/jdbc/AbstractRemoteMetadataReaderTest.java
+++ b/src/test/java/com/exasol/adapter/jdbc/AbstractRemoteMetadataReaderTest.java
@@ -46,6 +46,6 @@ void testReadRemoteSchemaMetadataWithTableListAndSqlException() throws SQLExcept
final List tables = Collections.emptyList();
final RemoteMetadataReaderException exception = assertThrows(RemoteMetadataReaderException.class,
() -> reader.readRemoteSchemaMetadata(tables));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-22"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-22"));
}
}
\ No newline at end of file
diff --git a/src/test/java/com/exasol/adapter/jdbc/BaseColumnMetadataReaderTest.java b/src/test/java/com/exasol/adapter/jdbc/BaseColumnMetadataReaderTest.java
index 0e46683..b77fadc 100644
--- a/src/test/java/com/exasol/adapter/jdbc/BaseColumnMetadataReaderTest.java
+++ b/src/test/java/com/exasol/adapter/jdbc/BaseColumnMetadataReaderTest.java
@@ -111,6 +111,6 @@ void testGetNumberTypeFromProperty() {
IdentifierCaseHandling.INTERPRET_AS_UPPER, IdentifierCaseHandling.INTERPRET_CASE_SENSITIVE));
final IllegalArgumentException exception = assertThrows(IllegalArgumentException.class,
() -> reader.getNumberTypeFromProperty("SOME_PROPERTY"));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-2"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-2"));
}
}
\ No newline at end of file
diff --git a/src/test/java/com/exasol/adapter/jdbc/BaseTableMetadataReaderTest.java b/src/test/java/com/exasol/adapter/jdbc/BaseTableMetadataReaderTest.java
index 473a3a9..1c00567 100644
--- a/src/test/java/com/exasol/adapter/jdbc/BaseTableMetadataReaderTest.java
+++ b/src/test/java/com/exasol/adapter/jdbc/BaseTableMetadataReaderTest.java
@@ -111,7 +111,7 @@ void testValidateMappedTablesListSize() throws SQLException {
final TableMetadataReader metadataReader = createDefaultTableMetadataReader();
final RemoteMetadataReaderException exception = assertThrows(RemoteMetadataReaderException.class,
() -> metadataReader.mapTables(resultSetMock, Collections.emptyList()));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-24"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-24"));
}
@Test
diff --git a/src/test/java/com/exasol/adapter/jdbc/ColumnMetadataReaderTest.java b/src/test/java/com/exasol/adapter/jdbc/ColumnMetadataReaderTest.java
index 817ada6..5bade85 100644
--- a/src/test/java/com/exasol/adapter/jdbc/ColumnMetadataReaderTest.java
+++ b/src/test/java/com/exasol/adapter/jdbc/ColumnMetadataReaderTest.java
@@ -391,7 +391,7 @@ void testMapColumnsWrapsSqlException() throws SQLException {
final BaseColumnMetadataReader defaultColumnMetadataReader = createDefaultColumnMetadataReader();
final RemoteMetadataReaderException exception = assertThrows(RemoteMetadataReaderException.class,
() -> defaultColumnMetadataReader.mapColumns(""));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-1"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-1"));
}
diff --git a/src/test/java/com/exasol/adapter/jdbc/JDBCAdapterTest.java b/src/test/java/com/exasol/adapter/jdbc/JDBCAdapterTest.java
index 1d3684c..d974f60 100644
--- a/src/test/java/com/exasol/adapter/jdbc/JDBCAdapterTest.java
+++ b/src/test/java/com/exasol/adapter/jdbc/JDBCAdapterTest.java
@@ -71,7 +71,7 @@ private SchemaMetadataInfo createSchemaMetadataInfo() {
void testPushdownWithIllegalStatementThrowsException() {
final RemoteMetadataReaderException exception = assertThrows(RemoteMetadataReaderException.class,
() -> pushStatementDown(TestSqlStatementFactory.createSelectOneFromDual()));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-30"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-30"));
}
@Test
diff --git a/src/test/java/com/exasol/adapter/jdbc/RemoteConnectionFactoryTest.java b/src/test/java/com/exasol/adapter/jdbc/RemoteConnectionFactoryTest.java
index 92ac54d..ee1347a 100644
--- a/src/test/java/com/exasol/adapter/jdbc/RemoteConnectionFactoryTest.java
+++ b/src/test/java/com/exasol/adapter/jdbc/RemoteConnectionFactoryTest.java
@@ -69,7 +69,7 @@ void testGetConnectionThrowsException() throws ExaConnectionAccessException {
this.rawProperties.put("CONNECTION_NAME", "");
final RemoteConnectionException exception = assertThrows(RemoteConnectionException.class,
this::createConnection);
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-28"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-28"));
}
@Test
@@ -79,7 +79,7 @@ void testGetConnectionWithInaccessibleNamedConnectionThrowsException() throws Ex
this.rawProperties.put("CONNECTION_NAME", CONNECTION_NAME);
final RemoteConnectionException exception = assertThrows(RemoteConnectionException.class,
this::createConnection);
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-29"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-29"));
}
@Test
diff --git a/src/test/java/com/exasol/adapter/jdbc/ResultSetMetadataReaderTest.java b/src/test/java/com/exasol/adapter/jdbc/ResultSetMetadataReaderTest.java
index a592e2a..ed54568 100644
--- a/src/test/java/com/exasol/adapter/jdbc/ResultSetMetadataReaderTest.java
+++ b/src/test/java/com/exasol/adapter/jdbc/ResultSetMetadataReaderTest.java
@@ -56,7 +56,7 @@ void testDescribeColumnThrowsExceptionIfUnsupportedColumnContained() throws SQLE
final RemoteMetadataReaderException thrown = assertThrows(RemoteMetadataReaderException.class,
() -> reader.describeColumns("FOOBAR"));
assertThat(thrown.getMessage(),
- containsString("E-VS-COM-JDBC-31: Unsupported data type(s) in column(s) in query: 2, 4"));
+ containsString("E-VSCJDBC-31: Unsupported data type(s) in column(s) in query: 2, 4"));
}
@Test
@@ -68,6 +68,6 @@ void testEmptyMetadata() throws SQLException {
columnMetadataReader);
final RemoteMetadataReaderException exception = assertThrows(RemoteMetadataReaderException.class,
() -> metadataReader.describeColumns("FOOBAR"));
- assertThat(exception.getMessage(), containsString("F-VS-COM-JDBC-34"));
+ assertThat(exception.getMessage(), containsString("F-VSCJDBC-34"));
}
}
diff --git a/src/test/java/com/exasol/auth/kerberos/KerberosConfigurationCreatorTest.java b/src/test/java/com/exasol/auth/kerberos/KerberosConfigurationCreatorTest.java
index 0b446bc..ac5ec56 100644
--- a/src/test/java/com/exasol/auth/kerberos/KerberosConfigurationCreatorTest.java
+++ b/src/test/java/com/exasol/auth/kerberos/KerberosConfigurationCreatorTest.java
@@ -104,6 +104,6 @@ void testIllegalKerberosPasswordThrowsException(final String password) {
final KerberosConfigurationCreatorException exception = assertThrows(
KerberosConfigurationCreatorException.class,
() -> this.creator.writeKerberosConfigurationFiles("anyone", password));
- assertThat(exception.getMessage(), containsString("E-VS-COM-JDBC-32"));
+ assertThat(exception.getMessage(), containsString("E-VSCJDBC-32"));
}
}
\ No newline at end of file