diff --git a/.gitattributes b/.gitattributes index dfdb8b77..b0398da8 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,5 @@ *.sh text eol=lf +doc/changes/changelog.md linguist-generated=true +.github/workflows/broken_links_checker.yml linguist-generated=true +.github/workflows/project-keeper.sh linguist-generated=true +.github/workflows/project-keeper-verify.yml linguist-generated=true diff --git a/.github/workflows/broken_links_checker.yml b/.github/workflows/broken_links_checker.yml index 51e2c124..c4ff3be8 100644 --- a/.github/workflows/broken_links_checker.yml +++ b/.github/workflows/broken_links_checker.yml @@ -9,7 +9,7 @@ on: pull_request: jobs: - markdown-link-check: + linkChecker: runs-on: ubuntu-latest concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -19,7 +19,10 @@ jobs: - name: Configure broken links checker run: | mkdir -p ./target - echo '{ "aliveStatusCodes": [429, 200], "ignorePatterns": [{"pattern": "^https?://(www.)?opensource.org"}] }' > ./target/broken_links_checker.json + echo '{"aliveStatusCodes": [429, 200], "ignorePatterns": [' \ + '{"pattern": "^https?://(www|dev).mysql.com/"},' \ + '{"pattern": "^https?://(www.)?opensource.org"}' \ + ']}' > ./target/broken_links_checker.json - uses: gaurav-nelson/github-action-markdown-link-check@v1 with: use-quiet-mode: 'yes' diff --git a/.github/workflows/project-keeper-verify.yml b/.github/workflows/project-keeper-verify.yml new file mode 100644 index 00000000..719f17a1 --- /dev/null +++ b/.github/workflows/project-keeper-verify.yml @@ -0,0 +1,52 @@ +name: Project Keeper Verify + +on: + push: + branches: + - main + pull_request: + +jobs: + project-keeper-verify: + runs-on: ubuntu-latest + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + steps: + - name: Checkout the repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + distribution: "temurin" + java-version: 11 + + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: 1.19 + + - name: Cache Project Keeper + uses: actions/cache@v3 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-pk-${{ hashFiles('.github/workflows/project-keeper.sh') }} + restore-keys: | + ${{ runner.os }}-pk- + + - name: Cache go-licenses + uses: actions/cache@v3 + with: + path: | + ~/.cache/go-build + ~/go/pkg/mod + key: ${{ runner.os }}-go-licenses-${{ hashFiles('.github/workflows/project-keeper-verify.yml') }} + restore-keys: | + ${{ runner.os }}-go-licenses-${{ hashFiles('.github/workflows/project-keeper-verify.yml') }} + ${{ runner.os }}-go-licenses- + + - name: Project Keeper Verify + run: ./.github/workflows/project-keeper.sh diff --git a/.github/workflows/project-keeper.sh b/.github/workflows/project-keeper.sh new file mode 100755 index 00000000..ccce9eeb --- /dev/null +++ b/.github/workflows/project-keeper.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +readonly pk_mode="${1-verify}"; +readonly version="2.9.4" + +readonly pk_jar="$HOME/.m2/repository/com/exasol/project-keeper-cli/$version/project-keeper-cli-$version.jar" + +if [ ! -f "$pk_jar" ]; then + echo "Downloading Project Keeper $version" + mvn --batch-mode org.apache.maven.plugins:maven-dependency-plugin:3.3.0:get -Dartifact=com.exasol:project-keeper-cli:$version +fi + +echo "Running Project Keeper $version with mode $pk_mode from $pk_jar" +java -jar "$pk_jar" "$pk_mode" diff --git a/.gitignore b/.gitignore index cef7a255..e4439593 100644 --- a/.gitignore +++ b/.gitignore @@ -19,4 +19,14 @@ dependency-reduced-pom.xml local Scripts .dbeaver* -**/*.log \ No newline at end of file +**/*.log +.directory +venv/ +pom.xml.versionsBackup +~* +*.lock +*.bak +*.orig +*.old +*.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 00000000..d45cbf08 --- /dev/null +++ b/.project-keeper.yml @@ -0,0 +1,8 @@ +version: 6.0.2 +linkReplacements: +excludes: + - "E-PK-CORE-18: Outdated content: '.github/workflows/project-keeper-verify.yml'" + - regex: "(?s)E-PK-CORE-62: The project's README.md does not contain a valid badges block.*" + - "E-PK-CORE-61: The project's README.md does not reference the dependencies.md file.' Please add a link like '[Dependencies](dependencies.md)' to the README.md." + - "E-PK-CORE-50: This project does not have a dependencies.md file." + diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..f938933d --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,17 @@ +{ + "editor.formatOnSave": true, + "editor.codeActionsOnSave": { + "source.organizeImports": true, + "source.generate.finalModifiers": true, + "source.fixAll": true + }, + "java.codeGeneration.useBlocks": true, + "java.saveActions.organizeImports": true, + "java.sources.organizeImports.starThreshold": 3, + "java.sources.organizeImports.staticStarThreshold": 3, + "java.test.config": { + "vmArgs": [ + "-Djava.util.logging.config.file=src/test/resources/logging.properties" + ] + } +} diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md index 37152578..2c6a1a5f 100644 --- a/doc/changes/changelog.md +++ b/doc/changes/changelog.md @@ -1,5 +1,6 @@ # Changes +* [6.0.2](changes_6.0.2.md) * [6.0.1](changes_6.0.1.md) * [6.0.0](changes_6.0.0.md) * [5.0.0](changes_5.0.0.md) @@ -7,4 +8,4 @@ * [4.0.4](changes_4.0.4.md) * [4.0.3](changes_4.0.3.md) * [4.0.2](changes_4.0.2.md) -* [4.0.1](changes_4.0.1.md) \ No newline at end of file +* [4.0.1](changes_4.0.1.md) diff --git a/doc/changes/changes_4.0.3.md b/doc/changes/changes_4.0.3.md index 7a0af3b5..7084bac8 100644 --- a/doc/changes/changes_4.0.3.md +++ b/doc/changes/changes_4.0.3.md @@ -13,8 +13,8 @@ ## Documentation * #317: Worked on reducing redundancy between user_guid.md and docs.exasol.com -* #354: Added datatypes mapping info to the postgres documentation. -* #355: Updated general deployment guide. +* #354: Added datatypes mapping info to the postgres documentation. +* #355: Updated general deployment guide. * #359: Replaced links to products with links to dialect in the README's feature list. * #369: Added supported data types list to Oracle dialect. @@ -22,8 +22,8 @@
Click to expand - -* Added `org.junit.jupiter:junit-jupiter:5.6.2` + +* Added `org.junit.jupiter:junit-jupiter:5.6.2` * Updated `com.exasol:virtual-schema-common-jdbc` from 5.0.2 to 5.0.4 * Updated `com.exasol:exasol-testcontainers` from 2.0.3 to 2.1.0 * Updated `mysql:mysql-connector-java` from 8.0.20 to 8.0.21 @@ -32,7 +32,6 @@ * Removed `org.junit.jupiter:junit-jupiter-engine` * Removed `org.junit.platform:junit-platform-runner` * Removed `org.mockito.mockito-core` -* Excluded `com.fasterxml.jackson.core:jackson-databind` from `org.apache.hbase:hbase-server` to remove vulnerabilities: -https://ossindex.sonatype.org/component/pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.7.8 +* Excluded `com.fasterxml.jackson.core:jackson-databind` from `org.apache.hbase:hbase-server` to remove vulnerabilities.
diff --git a/doc/changes/changes_6.0.2.md b/doc/changes/changes_6.0.2.md new file mode 100644 index 00000000..13926653 --- /dev/null +++ b/doc/changes/changes_6.0.2.md @@ -0,0 +1,11 @@ +# Virtual Schemas 6.0.2, released 2023-03-17 + +Code name: Documentation Update + +## Summary + +This release adds information to the Exasol dialect in the list of supported dialects. + +## Documentation + +* #482: Improved list of supported dialects diff --git a/doc/user-guide/dialects.md b/doc/user-guide/dialects.md index f7628d7c..55eca39c 100644 --- a/doc/user-guide/dialects.md +++ b/doc/user-guide/dialects.md @@ -1,31 +1,36 @@ # Supported Dialects -Dialect name | OEM | Type | Repository | Latest release | -------------------------------------------|-----------|-----------|-------------------------------------------------------------------|----------------------------------------------------| -[Athena][athena-dialect-doc] | AWS | document | [Athena Virtual Schema][athena-vs-repository] | [Latest release][athena-vs-releases] | -[Aurora][aurora-dialect-doc] | AWS | JDBC | [Virtual Schemas][virtual-schemas-repository] | [Latest release][virtual-schemas-releases] | -[Azure Blob Storage document files][azure-blob-storage-vs-doc] | Microsoft | document | [Azure Blob Storage document files Virtual Schema][azure-blob-storage-vs-repository] | [Latest release][azure-blob-storage-vs-releases] | -[Azure Data Lake Storage Gen2 document files][azure-data-lake-storage-gen2-vs-doc] | Microsoft | document | [Azure Data Lake Storage Gen2 document files Virtual Schema][azure-data-lake-storage-gen2-vs-repository] | [Latest release][azure-data-lake-storage-gen2-vs-releases] | -[BucketFS document files][bucketfs-vs-doc] | Exasol | document | [BucketFS document files Virtual Schema][bucketfs-vs-repository] | [Latest release][bucketfs-vs-releases] | -[DB2][db2-dialect-doc] | IBM | JDBC | [DB2 Virtual Schemas][db2-virtual-schema-repository] | [Latest release][db2-virtual-schema-releases] | -[Dynamo DB][dynamodb-vs-doc] | AWS | document | [Dynamo DB Virtual Schema][dynamodb-vs-repository] | [Latest release][dynamodb-vs-releases] | -[ElasticSearch][elasticsearch-dialect-doc] | | JDBC | [ElasticSearch][elasticsearch-repository] | [Latest release][elasticsearch-releases] | -[Exasol][exasol-dialect-doc] | Exasol | JDBC | [Exasol Virtual Schema][exasol-vs-repository] | [Latest release][exasol-vs-releases] | -[Google Big Query][bigquery-dialect-doc] | Google | JDBC | [Big Query Virtual Schema][bigquery-virtual-schema-repository] | [Latest release][bigquery-virtual-schema-releases] | -[Google Cloud Storage document files][google-cloud-storage-vs-doc] | Google | document | [Google Cloud Storage document files Virtual Schema][google-cloud-storage-vs-repository] | [Latest release][google-cloud-storage-vs-releases] | -[HANA][hana-dialect-doc] | SAP | JDBC | [Hana Virtual Schemas][hana-vs-repository] | [Latest release][hana-vs-releases] | -[Hive][hive-dialect-doc] | Apache | JDBC | [Hive Virtual Schemas][hive-vs-repository] | [Latest release][hive-vs-releases] | -[Impala][impala-dialect-doc] | Apache | JDBC | [Impala Virtual Schema][impala-vs-repository] | [Latest release][impala-vs-releases] | -[MySQL][mysql-dialect-doc] | | JDBC | [MySQL Virtual Schema][mysql-vs-repository] | [Latest release][mysql-vs-releases] | -[Oracle][oracle-dialect-doc] | Oracle | JDBC | [Oracle Virtual Schema][oracle-vs-repository] | [Latest release][oracle-vs-releases] | -[PostgreSQL][pg-dialect-doc] | | JDBC | [PostgreSQL Virtual Schema][pg-vs-repository] | [Latest release][pg-vs-releases] | -[Redshift][redshift-dialect-doc] | AWS | JDBC | [Redshift Virtual Schema][redshift-vs-repository] | [Latest release][redshift-vs-releases] | -[S3 document files][s3-vs-doc] | AWS | document | [S3 document files Virtual Schema][s3-vs-repository] | [Latest release][s3-vs-releases] | -[SQL Server][sql-server-dialect-doc] | Microsoft | JDBC | [SQL Server Virtual Schema][sqlserver-vs-repository] | [Latest release][sqlserver-vs-releases] | -[Sybase ASE][sybase-dialect-doc] | Sybase | JDBC | [Sybase Virtual Schema][sybase-vs-repository] | [Latest release][sybase-vs-releases] | -Generic | Exasol | (generic) | [Virtual Schemas][virtual-schemas-repository] | [Latest release][virtual-schemas-releases] | -Generic JDBC-capable RDBMS | Exasol | JDBC | [Generic JDBC-capable RDBMS][jdbc-vs-repository] | [Latest release][jdbc-vs-releases] | -[Generic Document Files][document-vs-doc] | Exasol | document | [Generic Document Files][document-vs-repository] | [Latest release][document-vs-releases] | +| Dialect name | OEM | Type | Repository | Latest release | +|------------------------------------------------------------------------------------|-----------|-----------|----------------------------------------------------------------------------------------------------------|------------------------------------------------------------| +| [Athena][athena-dialect-doc] | AWS | document | [Athena Virtual Schema][athena-vs-repository] | [Latest release][athena-vs-releases] | +| [Aurora][aurora-dialect-doc] | AWS | JDBC | [Virtual Schemas][virtual-schemas-repository] | [Latest release][virtual-schemas-releases] | +| [Azure Blob Storage document files][azure-blob-storage-vs-doc] | Microsoft | document | [Azure Blob Storage document files Virtual Schema][azure-blob-storage-vs-repository] | [Latest release][azure-blob-storage-vs-releases] | +| [Azure Data Lake Storage Gen2 document files][azure-data-lake-storage-gen2-vs-doc] | Microsoft | document | [Azure Data Lake Storage Gen2 document files Virtual Schema][azure-data-lake-storage-gen2-vs-repository] | [Latest release][azure-data-lake-storage-gen2-vs-releases] | +| [BucketFS document files][bucketfs-vs-doc] | Exasol | document | [BucketFS document files Virtual Schema][bucketfs-vs-repository] | [Latest release][bucketfs-vs-releases] | +| [DB2][db2-dialect-doc] | IBM | JDBC | [DB2 Virtual Schemas][db2-virtual-schema-repository] | [Latest release][db2-virtual-schema-releases] | +| [Dynamo DB][dynamodb-vs-doc] | AWS | document | [Dynamo DB Virtual Schema][dynamodb-vs-repository] | [Latest release][dynamodb-vs-releases] | +| [ElasticSearch][elasticsearch-dialect-doc] | | JDBC | [ElasticSearch][elasticsearch-repository] | [Latest release][elasticsearch-releases] | +| [Exasol][exasol-dialect-doc] | Exasol | JDBC *) | [Exasol Virtual Schema][exasol-vs-repository] | [Latest release][exasol-vs-releases] | +| [Google Big Query][bigquery-dialect-doc] | Google | JDBC | [Big Query Virtual Schema][bigquery-virtual-schema-repository] | [Latest release][bigquery-virtual-schema-releases] | +| [Google Cloud Storage document files][google-cloud-storage-vs-doc] | Google | document | [Google Cloud Storage document files Virtual Schema][google-cloud-storage-vs-repository] | [Latest release][google-cloud-storage-vs-releases] | +| [HANA][hana-dialect-doc] | SAP | JDBC | [Hana Virtual Schemas][hana-vs-repository] | [Latest release][hana-vs-releases] | +| [Hive][hive-dialect-doc] | Apache | JDBC | [Hive Virtual Schemas][hive-vs-repository] | [Latest release][hive-vs-releases] | +| [Impala][impala-dialect-doc] | Apache | JDBC | [Impala Virtual Schema][impala-vs-repository] | [Latest release][impala-vs-releases] | +| [MySQL][mysql-dialect-doc] | | JDBC | [MySQL Virtual Schema][mysql-vs-repository] | [Latest release][mysql-vs-releases] | +| [Oracle][oracle-dialect-doc] | Oracle | JDBC | [Oracle Virtual Schema][oracle-vs-repository] | [Latest release][oracle-vs-releases] | +| [PostgreSQL][pg-dialect-doc] | | JDBC | [PostgreSQL Virtual Schema][pg-vs-repository] | [Latest release][pg-vs-releases] | +| [Redshift][redshift-dialect-doc] | AWS | JDBC | [Redshift Virtual Schema][redshift-vs-repository] | [Latest release][redshift-vs-releases] | +| [S3 document files][s3-vs-doc] | AWS | document | [S3 document files Virtual Schema][s3-vs-repository] | [Latest release][s3-vs-releases] | +| [SQL Server][sql-server-dialect-doc] | Microsoft | JDBC | [SQL Server Virtual Schema][sqlserver-vs-repository] | [Latest release][sqlserver-vs-releases] | +| [Sybase ASE][sybase-dialect-doc] | Sybase | JDBC | [Sybase Virtual Schema][sybase-vs-repository] | [Latest release][sybase-vs-releases] | +| Generic | Exasol | (generic) | [Virtual Schemas][virtual-schemas-repository] | [Latest release][virtual-schemas-releases] | +| Generic JDBC-capable RDBMS | Exasol | JDBC | [Generic JDBC-capable RDBMS][jdbc-vs-repository] | [Latest release][jdbc-vs-releases] | +| [Generic Document Files][document-vs-doc] | Exasol | document | [Generic Document Files][document-vs-repository] | [Latest release][document-vs-releases] | + +\*) The Virtual Schema for Exasol databases supports three connection variants in total: +* Import from JDBC +* Using EXA Import +* Using `IS_LOCAL` If your database is not part of that list but provides a JDBC driver, try to use the Generic driver. You can also [develop a custom dialect][developing-dialect]. diff --git a/release_config.yml b/release_config.yml new file mode 100644 index 00000000..aec8f962 --- /dev/null +++ b/release_config.yml @@ -0,0 +1,3 @@ +release-platforms: + - GitHub +language: Generic