diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md index b6cb5ee..69b2249 100644 --- a/doc/changes/changelog.md +++ b/doc/changes/changelog.md @@ -1,5 +1,6 @@ # Changes +* [2.0.6](changes_2.0.6.md) * [2.0.5](changes_2.0.5.md) * [2.0.4](changes_2.0.4.md) * [2.0.3](changes_2.0.3.md) diff --git a/doc/changes/changes_2.0.6.md b/doc/changes/changes_2.0.6.md new file mode 100644 index 0000000..b3016b5 --- /dev/null +++ b/doc/changes/changes_2.0.6.md @@ -0,0 +1,18 @@ +# Virtual Schema for PostgreSQL 2.0.6, released 2022-??-?? + +Code name: Renamed error codes from PGVS to VSPG + +## Summary + +Renamed error codes from PGVS to VSPG + +## Features + +* #59: Renamed error codes from PGVS to VSPG. + +## Dependency Updates + +### Test Dependency Updates + +* Updated `org.testcontainers:junit-jupiter:1.17.3` to `1.17.4` +* Updated `org.testcontainers:postgresql:1.17.3` to `1.17.4` diff --git a/doc/user_guide/postgresql_user_guide.md b/doc/user_guide/postgresql_user_guide.md index 8d9a52b..f007816 100644 --- a/doc/user_guide/postgresql_user_guide.md +++ b/doc/user_guide/postgresql_user_guide.md @@ -45,7 +45,7 @@ The SQL statement below creates the adapter script, defines the Java class that --/ CREATE OR REPLACE JAVA ADAPTER SCRIPT ADAPTER.JDBC_ADAPTER AS %scriptclass com.exasol.adapter.RequestDispatcher; - %jar /buckets///virtual-schema-dist-10.0.1-postgresql-2.0.5.jar; + %jar /buckets///virtual-schema-dist-10.0.1-postgresql-2.0.6.jar; %jar /buckets///postgresql-.jar; / ``` diff --git a/error_code_config.yml b/error_code_config.yml index e576096..d77efac 100644 --- a/error_code_config.yml +++ b/error_code_config.yml @@ -1,5 +1,5 @@ error-tags: - PGVS: + VSPG: packages: - com.exasol.adapter.dialects.postgresql - com.exasol.closeafterall diff --git a/pk_generated_parent.pom b/pk_generated_parent.pom index 381e7d5..c3eedd2 100644 --- a/pk_generated_parent.pom +++ b/pk_generated_parent.pom @@ -3,7 +3,7 @@ 4.0.0 com.exasol postgresql-virtual-schema-generated-parent - 2.0.5 + 2.0.6 pom UTF-8 diff --git a/pom.xml b/pom.xml index 982d763..e6557cb 100644 --- a/pom.xml +++ b/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.exasol postgresql-virtual-schema - 2.0.5 + 2.0.6 Virtual Schema for PostgreSQL Virtual Schema for connecting PostgreSQL as data source to Exasol 10.0.1 - 1.17.3 + 1.17.4 target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml @@ -199,19 +199,19 @@ org.sonatype.ossindex.maven ossindex-maven-plugin - - - - CVE-2022-38752 - - + + + + CVE-2022-38752 + + postgresql-virtual-schema-generated-parent com.exasol - 2.0.5 + 2.0.6 pk_generated_parent.pom https://github.com/exasol/postgresql-virtual-schema/ diff --git a/src/main/java/com/exasol/adapter/dialects/postgresql/PostgreSQLIdentifierMapping.java b/src/main/java/com/exasol/adapter/dialects/postgresql/PostgreSQLIdentifierMapping.java index 509c4ae..69068d2 100644 --- a/src/main/java/com/exasol/adapter/dialects/postgresql/PostgreSQLIdentifierMapping.java +++ b/src/main/java/com/exasol/adapter/dialects/postgresql/PostgreSQLIdentifierMapping.java @@ -25,11 +25,11 @@ public static PostgreSQLIdentifierMapping parse(final String mapping) { case "PRESERVE_ORIGINAL_CASE": return PRESERVE_ORIGINAL_CASE; default: - throw new IllegalArgumentException(ExaError.messageBuilder("E-PGVS-2") + throw new IllegalArgumentException(ExaError.messageBuilder("E-VSPG-2") .message("Unable to parse PostgreSQL identifier mapping {{mapping}}.", mapping).toString()); } } else { - throw new IllegalArgumentException(ExaError.messageBuilder("E-PGVS-1") + throw new IllegalArgumentException(ExaError.messageBuilder("E-VSPG-1") .message("Unable to parse PostgreSQL identifier mapping from a null value.").toString()); } } diff --git a/src/main/java/com/exasol/adapter/dialects/postgresql/PostgreSQLSqlDialect.java b/src/main/java/com/exasol/adapter/dialects/postgresql/PostgreSQLSqlDialect.java index 00d9d14..a3417d0 100644 --- a/src/main/java/com/exasol/adapter/dialects/postgresql/PostgreSQLSqlDialect.java +++ b/src/main/java/com/exasol/adapter/dialects/postgresql/PostgreSQLSqlDialect.java @@ -115,7 +115,7 @@ protected RemoteMetadataReader createRemoteMetadataReader() { try { return new PostgreSQLMetadataReader(this.connectionFactory.getConnection(), this.properties); } catch (final SQLException exception) { - throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-PGVS-3") + throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VSPG-3") .message("Unable to create PostgreSQL remote metadata reader. Caused by: {{cause}}", exception.getMessage()) .toString(), exception); @@ -210,7 +210,7 @@ private void checkPostgreSQLIdentifierPropertyConsistency() throws PropertyValid final String propertyValue = this.properties.get(POSTGRESQL_IDENTIFIER_MAPPING_PROPERTY); if (!propertyValue.equals(POSTGRESQL_IDENTIFER_MAPPING_PRESERVE_ORIGINAL_CASE_VALUE) && !propertyValue.equals(POSTGRESQL_IDENTIFIER_MAPPING_CONVERT_TO_UPPER_VALUE)) { - throw new PropertyValidationException(ExaError.messageBuilder("E-PGVS-4") + throw new PropertyValidationException(ExaError.messageBuilder("E-VSPG-4") .message("Value for " + POSTGRESQL_IDENTIFIER_MAPPING_PROPERTY + " must be " + POSTGRESQL_IDENTIFER_MAPPING_PRESERVE_ORIGINAL_CASE_VALUE + " or " + POSTGRESQL_IDENTIFIER_MAPPING_CONVERT_TO_UPPER_VALUE) @@ -219,7 +219,7 @@ private void checkPostgreSQLIdentifierPropertyConsistency() throws PropertyValid } if (this.properties.hasIgnoreErrors() && !List.of(POSTGRESQL_UPPERCASE_TABLES_SWITCH).containsAll(this.properties.getIgnoredErrors())) { - throw new PropertyValidationException(ExaError.messageBuilder("E-PGVS-5").message( + throw new PropertyValidationException(ExaError.messageBuilder("E-VSPG-5").message( "Unknown error identifier in list of ignored errors ({{propertyName}}). Pick one of: {{availableValues}}", IGNORE_ERRORS_PROPERTY, POSTGRESQL_UPPERCASE_TABLES_SWITCH).toString()); } diff --git a/src/main/java/com/exasol/adapter/dialects/postgresql/PostgreSQLTableMetadataReader.java b/src/main/java/com/exasol/adapter/dialects/postgresql/PostgreSQLTableMetadataReader.java index 3989c82..db2a95c 100644 --- a/src/main/java/com/exasol/adapter/dialects/postgresql/PostgreSQLTableMetadataReader.java +++ b/src/main/java/com/exasol/adapter/dialects/postgresql/PostgreSQLTableMetadataReader.java @@ -68,7 +68,7 @@ protected boolean isUppercaseTableIncludedByMapping(final String tableName) { + POSTGRESQL_UPPERCASE_TABLES_SWITCH + "."); return false; } else { - throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-PGVS-6").message( + throw new RemoteMetadataReaderException(ExaError.messageBuilder("E-VSPG-6").message( "Table {{tableName}} cannot be used in virtual schema. Set property {{propertyName}} to {{propertyValue}} to enforce schema creation.", tableName, IGNORE_ERRORS_PROPERTY, POSTGRESQL_UPPERCASE_TABLES_SWITCH).toString()); } diff --git a/src/test/java/com/exasol/adapter/dialects/postgresql/PostgreSQLIdentifierMappingTest.java b/src/test/java/com/exasol/adapter/dialects/postgresql/PostgreSQLIdentifierMappingTest.java index 05458fe..2d110e0 100644 --- a/src/test/java/com/exasol/adapter/dialects/postgresql/PostgreSQLIdentifierMappingTest.java +++ b/src/test/java/com/exasol/adapter/dialects/postgresql/PostgreSQLIdentifierMappingTest.java @@ -24,13 +24,13 @@ void testParseConvertToPreserverOriginalCase() { void testParseNullMappingThrowsException() { final IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> PostgreSQLIdentifierMapping.parse(null)); - assertThat(exception.getMessage(), containsString("E-PGVS-1")); + assertThat(exception.getMessage(), containsString("E-VSPG-1")); } @Test void testParseUnknownMappingThrowsException() { final IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> PostgreSQLIdentifierMapping.parse("UNKNOWN")); - assertThat(exception.getMessage(), containsString("E-PGVS-2")); + assertThat(exception.getMessage(), containsString("E-VSPG-2")); } } \ No newline at end of file diff --git a/src/test/java/com/exasol/adapter/dialects/postgresql/PostgreSQLSqlDialectIT.java b/src/test/java/com/exasol/adapter/dialects/postgresql/PostgreSQLSqlDialectIT.java index 91e11be..16f4445 100644 --- a/src/test/java/com/exasol/adapter/dialects/postgresql/PostgreSQLSqlDialectIT.java +++ b/src/test/java/com/exasol/adapter/dialects/postgresql/PostgreSQLSqlDialectIT.java @@ -300,7 +300,7 @@ void testUnsetIgnoreUpperCaseTablesAndRefreshThrowsException() throws SQLExcepti + " set POSTGRESQL_IDENTIFIER_MAPPING = 'CONVERT_TO_UPPER'"); final Exception exception = assertThrows(SQLException.class, () -> statementExasol .execute("ALTER VIRTUAL SCHEMA " + virtualSchemaPostgresUppercaseTable.getName() + " REFRESH")); - assertThat(exception.getMessage(), containsString("E-PGVS-6: Table '" + TABLE_POSTGRES_MIXED_CASE + assertThat(exception.getMessage(), containsString("E-VSPG-6: Table '" + TABLE_POSTGRES_MIXED_CASE + "' cannot be used in virtual schema. Set property 'IGNORE_ERRORS' to 'POSTGRESQL_UPPERCASE_TABLES' to enforce schema creation.")); } diff --git a/src/test/java/com/exasol/adapter/dialects/postgresql/PostgreSQLSqlDialectTest.java b/src/test/java/com/exasol/adapter/dialects/postgresql/PostgreSQLSqlDialectTest.java index 940fd43..176fa42 100644 --- a/src/test/java/com/exasol/adapter/dialects/postgresql/PostgreSQLSqlDialectTest.java +++ b/src/test/java/com/exasol/adapter/dialects/postgresql/PostgreSQLSqlDialectTest.java @@ -55,7 +55,7 @@ void testCreateRemoteMetadataReaderConnectionFails(@Mock final Connection connec when(this.connectionFactoryMock.getConnection()).thenThrow(new SQLException()); final RemoteMetadataReaderException exception = assertThrows(RemoteMetadataReaderException.class, this.dialect::createRemoteMetadataReader); - assertThat(exception.getMessage(), containsString("E-PGVS-3")); + assertThat(exception.getMessage(), containsString("E-VSPG-3")); } @Test @@ -123,7 +123,7 @@ void testPostgreSQLIdentifierMappingInvalidPropertyValueThrowsException() { "POSTGRESQL_IDENTIFIER_MAPPING", "CONVERT"))); final PropertyValidationException exception = assertThrows(PropertyValidationException.class, sqlDialect::validateProperties); - assertThat(exception.getMessage(), containsString("E-PGVS-4")); + assertThat(exception.getMessage(), containsString("E-VSPG-4")); } @Test @@ -133,7 +133,7 @@ void testIgnoreErrorsConsistency() { "IGNORE_ERRORS", "ORACLE_ERROR"))); final PropertyValidationException exception = assertThrows(PropertyValidationException.class, sqlDialect::validateProperties); - assertThat(exception.getMessage(), containsString("E-PGVS-5")); + assertThat(exception.getMessage(), containsString("E-VSPG-5")); } @Test diff --git a/src/test/java/com/exasol/adapter/dialects/postgresql/PostgreSQLTableMetadataReaderTest.java b/src/test/java/com/exasol/adapter/dialects/postgresql/PostgreSQLTableMetadataReaderTest.java index 9f00b13..140cee4 100644 --- a/src/test/java/com/exasol/adapter/dialects/postgresql/PostgreSQLTableMetadataReaderTest.java +++ b/src/test/java/com/exasol/adapter/dialects/postgresql/PostgreSQLTableMetadataReaderTest.java @@ -65,6 +65,6 @@ void testIsUppercaseTableIncludedByMappingWithIgnoringUppercaseTables() { void testIsUppercaseTableIncludedByMappingWithConvertToUpperNotIgnoringUppercaseTablesThrowsException() { final RemoteMetadataReaderException exception = assertThrows(RemoteMetadataReaderException.class, () -> this.reader.isTableIncludedByMapping("\"FooBar\"")); - assertThat(exception.getMessage(), containsString("E-PGVS-6")); + assertThat(exception.getMessage(), containsString("E-VSPG-6")); } } \ No newline at end of file diff --git a/src/test/java/com/exasol/adapter/dialects/postgresql/PostgresVirtualSchemaIntegrationTestSetup.java b/src/test/java/com/exasol/adapter/dialects/postgresql/PostgresVirtualSchemaIntegrationTestSetup.java index 4176f69..a2e6550 100644 --- a/src/test/java/com/exasol/adapter/dialects/postgresql/PostgresVirtualSchemaIntegrationTestSetup.java +++ b/src/test/java/com/exasol/adapter/dialects/postgresql/PostgresVirtualSchemaIntegrationTestSetup.java @@ -25,7 +25,7 @@ * This class contains the common integration test setup for all PostgreSQL virtual schemas. */ public class PostgresVirtualSchemaIntegrationTestSetup implements Closeable { - private static final String VIRTUAL_SCHEMAS_JAR_NAME_AND_VERSION = "virtual-schema-dist-10.0.1-postgresql-2.0.5.jar"; + private static final String VIRTUAL_SCHEMAS_JAR_NAME_AND_VERSION = "virtual-schema-dist-10.0.1-postgresql-2.0.6.jar"; private static final Path PATH_TO_VIRTUAL_SCHEMAS_JAR = Path.of("target", VIRTUAL_SCHEMAS_JAR_NAME_AND_VERSION); private static final String SCHEMA_EXASOL = "SCHEMA_EXASOL"; private static final String ADAPTER_SCRIPT_EXASOL = "ADAPTER_SCRIPT_EXASOL"; @@ -86,7 +86,7 @@ private static void uploadDriverToBucket(final Bucket bucket) bucket.uploadFile(JDBC_DRIVER_PATH, JDBC_DRIVER_NAME); } catch (final BucketAccessException | FileNotFoundException exception) { throw new IllegalStateException( - ExaError.messageBuilder("F-PGVS-8") + ExaError.messageBuilder("F-VSPG-8") .message("An error occurred while uploading the jdbc driver to the bucket.") .mitigation("Make sure the {{JDBC_DRIVER_PATH}} file exists.") .parameter("JDBC_DRIVER_PATH", JDBC_DRIVER_PATH) diff --git a/src/test/java/com/exasol/closeafterall/CloseAfterAllExtension.java b/src/test/java/com/exasol/closeafterall/CloseAfterAllExtension.java index 95e2284..80e900d 100644 --- a/src/test/java/com/exasol/closeafterall/CloseAfterAllExtension.java +++ b/src/test/java/com/exasol/closeafterall/CloseAfterAllExtension.java @@ -40,7 +40,7 @@ private void closeObject(final Field field, final Object annotatedObject) throws if (annotatedObject instanceof Closeable) { ((Closeable) annotatedObject).close(); } else { - throw new IllegalStateException(ExaError.messageBuilder("E-PGVS-9").message( + throw new IllegalStateException(ExaError.messageBuilder("E-VSPG-9").message( "Could not close the field {{field}} annotated with @CloseAfterAll since it does not implement Closable.") .parameter("field", field.getName()).toString()); }