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();
     }
 }

Reply via email to