This is an automated email from the ASF dual-hosted git repository.

gaojun2048 pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new 4b6c13e8fc [Hotfix][Jdbc] Fix oracle savemode create table (#6651)
4b6c13e8fc is described below

commit 4b6c13e8fcdb47fb3de816b879ca55eeb514bf76
Author: hailin0 <[email protected]>
AuthorDate: Tue May 14 10:19:56 2024 +0800

    [Hotfix][Jdbc] Fix oracle savemode create table (#6651)
---
 .../seatunnel/jdbc/catalog/oracle/OracleCatalog.java      | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git 
a/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/catalog/oracle/OracleCatalog.java
 
b/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/catalog/oracle/OracleCatalog.java
index e27d51d847..1a3ac8178c 100644
--- 
a/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/catalog/oracle/OracleCatalog.java
+++ 
b/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/catalog/oracle/OracleCatalog.java
@@ -120,6 +120,21 @@ public class OracleCatalog extends AbstractJdbcCatalog {
         return new OracleCreateTableSqlBuilder(table).build(tablePath);
     }
 
+    @Override
+    protected void createTableInternal(TablePath tablePath, CatalogTable table)
+            throws CatalogException {
+        String dbUrl = getUrlFromDatabaseName(tablePath.getDatabaseName());
+        try {
+            String createTableSQL = getCreateTableSql(tablePath, table);
+            for (String sql : createTableSQL.split(";")) {
+                executeInternal(dbUrl, sql);
+            }
+        } catch (Exception e) {
+            // fallback to super
+            super.createTableInternal(tablePath, table);
+        }
+    }
+
     @Override
     protected String getDropTableSql(TablePath tablePath) {
         return String.format("DROP TABLE %s", 
tablePath.getSchemaAndTableName("\""));

Reply via email to