diff --git a/.github/workflows/broken_links_checker.yml b/.github/workflows/broken_links_checker.yml index ee8df76..5b14f64 100644 --- a/.github/workflows/broken_links_checker.yml +++ b/.github/workflows/broken_links_checker.yml @@ -23,7 +23,7 @@ jobs: steps: - { id: checkout, - uses: actions/checkout@v5 + uses: actions/checkout@v6 } - id: configure-broken-links-checker name: Configure broken links checker diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index cc82473..0103844 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -50,7 +50,7 @@ jobs: sudo rm -rf /usr/share/dotnet - name: Checkout the repository id: checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: { fetch-depth: 0 } @@ -68,7 +68,7 @@ jobs: server-password: OSSINDEX_API_TOKEN - name: Cache SonarCloud packages id: cache-sonar - uses: actions/cache@v4 + uses: actions/cache@v5 with: { path: ~/.sonar/cache, key: '${{ runner.os }}-sonar', @@ -111,7 +111,7 @@ jobs: } - name: Upload artifacts id: upload-artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: { name: 'artifacts-exasol-${{ matrix.exasol_db_version }}', path: '${{ steps.build-pk-verify.outputs.release-artifacts }}', @@ -150,7 +150,7 @@ jobs: steps: - name: Checkout the repository id: checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: { fetch-depth: 0 } @@ -192,7 +192,7 @@ jobs: steps: - name: Checkout the repository id: checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: { fetch-depth: 0 } diff --git a/.github/workflows/dependencies_check.yml b/.github/workflows/dependencies_check.yml index b0877fc..eaf24e7 100644 --- a/.github/workflows/dependencies_check.yml +++ b/.github/workflows/dependencies_check.yml @@ -28,7 +28,7 @@ jobs: - { name: Checkout, id: checkout, - uses: actions/checkout@v5 + uses: actions/checkout@v6 } - name: Set up JDKs id: setup-jdks @@ -55,7 +55,7 @@ jobs: } - name: Create GitHub Issues id: create-security-issues - uses: exasol/python-toolbox/.github/actions/security-issues@1.9.0 + uses: exasol/python-toolbox/.github/actions/security-issues@4.0.1 with: { format: maven, command: cat ossindex-report.json, diff --git a/.github/workflows/dependencies_update.yml b/.github/workflows/dependencies_update.yml index 2ba2785..aa849a6 100644 --- a/.github/workflows/dependencies_update.yml +++ b/.github/workflows/dependencies_update.yml @@ -34,7 +34,7 @@ jobs: cancel-in-progress: false } steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 id: checkout with: { fetch-depth: 0 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dbc1ea2..e411dc4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -75,7 +75,7 @@ jobs: steps: - name: Checkout the repository id: checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: { fetch-depth: 0 } diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 7644ed3..f5f6a72 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -122,8 +122,10 @@ org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.processAnnotations=disabled org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.source=11 +org.eclipse.jdt.core.formatter.align_arrows_in_switch_on_columns=false org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 +org.eclipse.jdt.core.formatter.align_selector_in_method_invocation_on_expression_first_line=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false org.eclipse.jdt.core.formatter.align_with_spaces=false @@ -151,6 +153,8 @@ org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_switch_case_with_arrow=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_switch_case_with_colon=0 org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 @@ -159,6 +163,7 @@ org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_permitted_types_in_type_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_record_components=16 org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 @@ -169,6 +174,7 @@ org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_switch_case_with_arrow=0 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_type_annotations=0 @@ -194,6 +200,7 @@ org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case_after_arrow=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line @@ -213,6 +220,7 @@ org.eclipse.jdt.core.formatter.comment.format_header=false org.eclipse.jdt.core.formatter.comment.format_html=true org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_markdown_comments=true org.eclipse.jdt.core.formatter.comment.format_source_code=true org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false org.eclipse.jdt.core.formatter.comment.indent_root_tags=false @@ -220,7 +228,8 @@ org.eclipse.jdt.core.formatter.comment.indent_tag_description=false org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags=do not insert org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert -org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.javadoc_do_not_separate_block_tags=false +org.eclipse.jdt.core.formatter.comment.line_length=160 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false @@ -292,6 +301,7 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arg org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_permitted_types=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert @@ -383,6 +393,7 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_ar org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_permitted_types=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert @@ -446,7 +457,8 @@ org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_ org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_line_comments=false +org.eclipse.jdt.core.formatter.join_lines_in_comments=false org.eclipse.jdt.core.formatter.join_wrapped_lines=false org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_never org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_never @@ -466,9 +478,11 @@ org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_switch_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_switch_case_with_arrow_on_one_line=one_line_never org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never -org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.lineSplit=160 org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0 @@ -506,5 +520,6 @@ org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true +org.eclipse.jdt.core.formatter.wrap_before_switch_case_arrow_operator=false org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/.settings/org.eclipse.jdt.ui.prefs b/.settings/org.eclipse.jdt.ui.prefs index 54d02ac..14b7a65 100644 --- a/.settings/org.eclipse.jdt.ui.prefs +++ b/.settings/org.eclipse.jdt.ui.prefs @@ -61,7 +61,7 @@ cleanup_settings_version=2 eclipse.preferences.version=1 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true formatter_profile=_Exasol -formatter_settings_version=21 +formatter_settings_version=23 org.eclipse.jdt.ui.ignorelowercasenames=true org.eclipse.jdt.ui.importorder=java;javax;org;com; org.eclipse.jdt.ui.ondemandthreshold=3 diff --git a/dependencies.md b/dependencies.md index 89d950d..57719c8 100644 --- a/dependencies.md +++ b/dependencies.md @@ -37,7 +37,7 @@ | [Apache Maven Artifact Plugin][29] | [Apache-2.0][13] | | [Apache Maven Deploy Plugin][30] | [Apache-2.0][13] | | [Apache Maven GPG Plugin][31] | [Apache-2.0][13] | -| [Apache Maven Source Plugin][32] | [Apache License, Version 2.0][13] | +| [Apache Maven Source Plugin][32] | [Apache-2.0][13] | | [Apache Maven Javadoc Plugin][33] | [Apache-2.0][13] | | [Central Publishing Maven Plugin][34] | [The Apache License, Version 2.0][13] | | [Maven Failsafe Plugin][35] | [Apache-2.0][13] | @@ -64,7 +64,7 @@ [14]: https://maven.apache.org/plugins/maven-install-plugin/ [15]: https://maven.apache.org/plugins/maven-resources-plugin/ [16]: https://maven.apache.org/plugins/maven-site-plugin/ -[17]: http://docs.sonarqube.org/display/PLUG/Plugin+Library/sonar-scanner-maven/sonar-maven-plugin +[17]: https://docs.sonarsource.com/sonarqube-server/latest/extension-guide/developing-a-plugin/plugin-basics/sonar-scanner-maven/sonar-maven-plugin/ [18]: http://www.gnu.org/licenses/lgpl.txt [19]: https://maven.apache.org/plugins/maven-toolchains-plugin/ [20]: https://maven.apache.org/plugins/maven-compiler-plugin/ diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md index a552e93..05fb0ee 100644 --- a/doc/changes/changelog.md +++ b/doc/changes/changelog.md @@ -1,5 +1,6 @@ # Changes +* [1.1.7](changes_1.1.7.md) * [1.1.6](changes_1.1.6.md) * [1.1.5](changes_1.1.5.md) * [1.1.4](changes_1.1.4.md) diff --git a/doc/changes/changes_1.1.7.md b/doc/changes/changes_1.1.7.md new file mode 100644 index 0000000..ac63b24 --- /dev/null +++ b/doc/changes/changes_1.1.7.md @@ -0,0 +1,26 @@ +# Database Cleaner 1.1.7, released 2026-??-?? + +Code name: + +## Summary + +## Features + +* ISSUE_NUMBER: description + +## Dependency Updates + +### Test Dependency Updates + +* Updated `com.exasol:exasol-testcontainers:7.2.0` to `7.2.2` + +### Plugin Dependency Updates + +* Updated `com.exasol:error-code-crawler-maven-plugin:2.0.5` to `2.0.6` +* Updated `com.exasol:project-keeper-maven-plugin:5.4.3` to `5.4.6` +* Updated `org.apache.maven.plugins:maven-compiler-plugin:3.14.1` to `3.15.0` +* Updated `org.apache.maven.plugins:maven-resources-plugin:3.3.1` to `3.4.0` +* Updated `org.apache.maven.plugins:maven-source-plugin:3.2.1` to `3.4.0` +* Updated `org.codehaus.mojo:versions-maven-plugin:2.19.1` to `2.21.0` +* Updated `org.sonarsource.scanner.maven:sonar-maven-plugin:5.2.0.4988` to `5.5.0.6356` +* Updated `org.sonatype.central:central-publishing-maven-plugin:0.9.0` to `0.10.0` diff --git a/pk_generated_parent.pom b/pk_generated_parent.pom index 91547bd..e3fd4ed 100644 --- a/pk_generated_parent.pom +++ b/pk_generated_parent.pom @@ -3,7 +3,7 @@ 4.0.0 com.exasol database-cleaner-generated-parent - 1.1.6 + 1.1.7 pom UTF-8 @@ -55,7 +55,7 @@ org.apache.maven.plugins maven-resources-plugin - 3.3.1 + 3.4.0 org.apache.maven.plugins @@ -65,7 +65,7 @@ org.sonarsource.scanner.maven sonar-maven-plugin - 5.2.0.4988 + 5.5.0.6356 org.apache.maven.plugins @@ -89,7 +89,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.14.1 + 3.15.0 ${java.version} ${java.version} @@ -170,16 +170,18 @@ maven-surefire-plugin 3.5.4 - - -Djava.util.logging.config.file=src/test/resources/logging.properties ${argLine} + ${argLine} + + + src/test/resources/logging.properties + ${test.excludeTags} org.codehaus.mojo versions-maven-plugin - 2.19.1 + 2.21.0 display-updates @@ -276,10 +278,7 @@ org.apache.maven.plugins maven-source-plugin - - 3.2.1 + 3.4.0 attach-sources @@ -314,7 +313,7 @@ org.sonatype.central central-publishing-maven-plugin - 0.9.0 + 0.10.0 true maven-central-portal @@ -330,9 +329,11 @@ maven-failsafe-plugin 3.5.4 - - -Djava.util.logging.config.file=src/test/resources/logging.properties ${argLine} - + ${argLine} + + + src/test/resources/logging.properties + ${test.excludeTags} @@ -402,7 +403,7 @@ com.exasol error-code-crawler-maven-plugin - 2.0.5 + 2.0.6 verify diff --git a/pom.xml b/pom.xml index ca8a5e2..21bd1ef 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.exasol database-cleaner - 1.1.6 + 1.1.7 database-cleaner Tool that deletes all objects in an Exasol database https://github.com/exasol/database-cleaner/ @@ -17,7 +17,7 @@ com.exasol exasol-testcontainers - 7.2.0 + 7.2.2 test @@ -68,7 +68,7 @@ com.exasol project-keeper-maven-plugin - 5.4.3 + 5.4.6 @@ -82,7 +82,7 @@ database-cleaner-generated-parent com.exasol - 1.1.6 + 1.1.7 pk_generated_parent.pom diff --git a/src/test/java/com/exasol/dbcleaner/ExasolDatabaseCleanerIT.java b/src/test/java/com/exasol/dbcleaner/ExasolDatabaseCleanerIT.java index e1f6547..e78e692 100644 --- a/src/test/java/com/exasol/dbcleaner/ExasolDatabaseCleanerIT.java +++ b/src/test/java/com/exasol/dbcleaner/ExasolDatabaseCleanerIT.java @@ -85,6 +85,13 @@ void testPurgeFunctionWithNonImplicitSchemaName() throws SQLException { assertDoesNotThrow(() -> createFunction("S1")); } + @Test + void testPurgeSchemaOwnedByDifferentUser() throws SQLException { + createDbaUserWithSchemaAndTable(); + cleaner.cleanDatabase(); + assertDoesNotThrow(this::createDbaUserWithSchemaAndTable); + } + private void createFunction(final String schemaName) throws SQLException { statement.executeUpdate("CREATE SCHEMA " + schemaName + ";"); statement.executeUpdate("CREATE FUNCTION " + schemaName @@ -110,4 +117,17 @@ private void createTable() throws SQLException { private void createConnection() throws SQLException { statement.executeUpdate("CREATE CONNECTION exa_connection TO '192.168.6.11:8563';"); } + + private void createDbaUserWithSchemaAndTable() throws SQLException { + statement.executeUpdate("CREATE USER other_user IDENTIFIED BY \"h12_xhz\""); + statement.executeUpdate("GRANT DBA TO other_user"); + try (Statement otherStatement = + CONTAINER.createConnectionForUser("other_user", "h12_xhz") + .createStatement()) { + otherStatement.executeUpdate("CREATE SCHEMA OTHER_SCHEMA;"); + otherStatement.executeUpdate( + "CREATE TABLE OTHER_SCHEMA.T1 (ID INT);"); + } + } + }