This is an automated email from the ASF dual-hosted git repository. github-merge-queue[bot] pushed a commit to branch gh-readonly-queue/dev/pr-12596-3ac7003fb90d35e5945f94834742247fabd3dec7 in repository https://gitbox.apache.org/repos/asf/seatunnel.git
commit d54576be41f5561c6d6d9465ee107b90afec6215 Author: Pravin Jaywantrao Maske <[email protected]> AuthorDate: Thu Oct 8 12:54:07 2026 +0000 [Fix][Connector-V2] Quote SQL Server table path in DROP TABLE (#12596) --- .../seatunnel/jdbc/catalog/sqlserver/SqlServerCatalog.java | 2 +- .../connectors/seatunnel/jdbc/catalog/PreviewActionTest.java | 2 +- .../seatunnel/connectors/seatunnel/jdbc/JdbcSqlServerIT.java | 11 +++++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/catalog/sqlserver/SqlServerCatalog.java b/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/catalog/sqlserver/SqlServerCatalog.java index e6c0966c08..2ee23e576d 100644 --- a/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/catalog/sqlserver/SqlServerCatalog.java +++ b/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/catalog/sqlserver/SqlServerCatalog.java @@ -139,7 +139,7 @@ public class SqlServerCatalog extends AbstractJdbcCatalog { @Override protected String getDropTableSql(TablePath tablePath) { - return String.format("DROP TABLE %s", tablePath.getFullName()); + return String.format("DROP TABLE %s", tablePath.getFullNameWithQuoted("[", "]")); } @Override diff --git a/seatunnel-connectors-v2/connector-jdbc/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/catalog/PreviewActionTest.java b/seatunnel-connectors-v2/connector-jdbc/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/catalog/PreviewActionTest.java index 8a2dc91255..5acbdcc2fe 100644 --- a/seatunnel-connectors-v2/connector-jdbc/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/catalog/PreviewActionTest.java +++ b/seatunnel-connectors-v2/connector-jdbc/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/catalog/PreviewActionTest.java @@ -363,7 +363,7 @@ public class PreviewActionTest { assertPreviewResult( catalog, Catalog.ActionType.DROP_TABLE, - "DROP TABLE testddatabase.testtable", + "DROP TABLE [testddatabase].[testtable]", Optional.empty()); assertPreviewResult( catalog, diff --git a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-3/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/JdbcSqlServerIT.java b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-3/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/JdbcSqlServerIT.java index 1d92e50bb8..3721748089 100644 --- a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-3/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/JdbcSqlServerIT.java +++ b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-3/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/JdbcSqlServerIT.java @@ -371,6 +371,17 @@ public class JdbcSqlServerIT extends AbstractJdbcIT { // drop table sqlServerCatalog.dropTable(tablePathSqlserverSink, true); Assertions.assertFalse(sqlServerCatalog.tableExists(tablePathSqlserverSink)); + // database name that must be quoted + TablePath specialTablePath = TablePath.of("test-db", "dbo", "sink_lw"); + sqlServerCatalog.createDatabase(specialTablePath, true); + try { + sqlServerCatalog.createTable(specialTablePath, catalogTable, true); + Assertions.assertTrue(sqlServerCatalog.tableExists(specialTablePath)); + sqlServerCatalog.dropTable(specialTablePath, true); + Assertions.assertFalse(sqlServerCatalog.tableExists(specialTablePath)); + } finally { + sqlServerCatalog.dropDatabase(specialTablePath, true); + } sqlServerCatalog.close(); } }
