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

fanjia 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 9b371cd312 [Improve][Transform-V2] Remove SQL query validation on 
table name (#7020)
9b371cd312 is described below

commit 9b371cd3129845183d14aed303ef2b4657fc0055
Author: Jia Fan <[email protected]>
AuthorDate: Thu Jun 20 09:57:57 2024 +0800

    [Improve][Transform-V2] Remove SQL query validation on table name (#7020)
---
 .../transform/sql/zeta/ZetaSQLEngine.java          | 11 ++++-
 .../seatunnel/transform/sql/SQLTransformTest.java  | 15 ++++++
 .../transform/sql/zeta/ZetaSQLEngineTest.java      | 54 ----------------------
 3 files changed, 24 insertions(+), 56 deletions(-)

diff --git 
a/seatunnel-transforms-v2/src/main/java/org/apache/seatunnel/transform/sql/zeta/ZetaSQLEngine.java
 
b/seatunnel-transforms-v2/src/main/java/org/apache/seatunnel/transform/sql/zeta/ZetaSQLEngine.java
index 1fa01c0dfa..42f5d8205d 100644
--- 
a/seatunnel-transforms-v2/src/main/java/org/apache/seatunnel/transform/sql/zeta/ZetaSQLEngine.java
+++ 
b/seatunnel-transforms-v2/src/main/java/org/apache/seatunnel/transform/sql/zeta/ZetaSQLEngine.java
@@ -24,6 +24,9 @@ import 
org.apache.seatunnel.common.exception.CommonErrorCodeDeprecated;
 import org.apache.seatunnel.transform.exception.TransformException;
 import org.apache.seatunnel.transform.sql.SQLEngine;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import net.sf.jsqlparser.JSQLParserException;
 import net.sf.jsqlparser.expression.Expression;
 import net.sf.jsqlparser.parser.CCJSqlParserUtil;
@@ -46,6 +49,7 @@ import java.util.ServiceLoader;
 import java.util.stream.Collectors;
 
 public class ZetaSQLEngine implements SQLEngine {
+    private static final Logger log = 
LoggerFactory.getLogger(ZetaSQLEngine.class);
     private String inputTableName;
     @Nullable private String catalogTableName;
     private SeaTunnelRowType inputRowType;
@@ -119,8 +123,11 @@ public class ZetaSQLEngine implements SQLEngine {
                 String tableName = table.getName();
                 if (!inputTableName.equalsIgnoreCase(tableName)
                         && !tableName.equalsIgnoreCase(catalogTableName)) {
-                    throw new IllegalArgumentException(
-                            String.format("Table name: %s not found", 
tableName));
+                    log.warn(
+                            "SQL table name {} is not equal to input table 
name {} or catalog table name {}",
+                            tableName,
+                            inputTableName,
+                            catalogTableName);
                 }
             } else {
                 throw new IllegalArgumentException("Unsupported sub table 
syntax");
diff --git 
a/seatunnel-transforms-v2/src/test/java/org/apache/seatunnel/transform/sql/SQLTransformTest.java
 
b/seatunnel-transforms-v2/src/test/java/org/apache/seatunnel/transform/sql/SQLTransformTest.java
index c1002b5968..854fae5cb3 100644
--- 
a/seatunnel-transforms-v2/src/test/java/org/apache/seatunnel/transform/sql/SQLTransformTest.java
+++ 
b/seatunnel-transforms-v2/src/test/java/org/apache/seatunnel/transform/sql/SQLTransformTest.java
@@ -69,6 +69,21 @@ public class SQLTransformTest {
                         });
     }
 
+    @Test
+    public void testQueryWithAnyTable() {
+        SQLTransform sqlTransform =
+                new SQLTransform(
+                        ReadonlyConfig.fromMap(
+                                new HashMap<String, Object>() {
+                                    {
+                                        put("query", "select * from 
anyTableName");
+                                    }
+                                }),
+                        getCatalogTable());
+        TableSchema tableSchema = sqlTransform.transformTableSchema();
+        Assertions.assertEquals(4, tableSchema.getColumns().size());
+    }
+
     @Test
     public void testNotLoseSourceTypeAndOptions() {
         SQLTransform sqlTransform = new SQLTransform(READONLY_CONFIG, 
getCatalogTable());
diff --git 
a/seatunnel-transforms-v2/src/test/java/org/apache/seatunnel/transform/sql/zeta/ZetaSQLEngineTest.java
 
b/seatunnel-transforms-v2/src/test/java/org/apache/seatunnel/transform/sql/zeta/ZetaSQLEngineTest.java
deleted file mode 100644
index 94e1060af8..0000000000
--- 
a/seatunnel-transforms-v2/src/test/java/org/apache/seatunnel/transform/sql/zeta/ZetaSQLEngineTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.seatunnel.transform.sql.zeta;
-
-import org.apache.seatunnel.api.table.type.BasicType;
-import org.apache.seatunnel.api.table.type.SeaTunnelDataType;
-import org.apache.seatunnel.api.table.type.SeaTunnelRowType;
-import org.apache.seatunnel.transform.exception.TransformException;
-import org.apache.seatunnel.transform.sql.SQLEngine;
-import org.apache.seatunnel.transform.sql.SQLEngineFactory;
-
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-
-public class ZetaSQLEngineTest {
-
-    @Test
-    public void testCatalogNameAndSourceTableNameBothSupport() {
-
-        SQLEngine sqlEngine = 
SQLEngineFactory.getSQLEngine(SQLEngineFactory.EngineType.ZETA);
-
-        SeaTunnelRowType rowType =
-                new SeaTunnelRowType(
-                        new String[] {"id", "name", "age"},
-                        new SeaTunnelDataType[] {
-                            BasicType.INT_TYPE, BasicType.STRING_TYPE, 
BasicType.INT_TYPE
-                        });
-        sqlEngine.init("test", null, rowType, "select * from test");
-        sqlEngine.init("test", "nameFromCatalog", rowType, "select * from 
test");
-        sqlEngine.init("test", "nameFromCatalog", rowType, "select * from 
nameFromCatalog");
-
-        Assertions.assertThrows(
-                TransformException.class,
-                () -> sqlEngine.init("test", "nameFromCatalog", rowType, 
"select * from unknown"));
-        Assertions.assertThrows(
-                TransformException.class,
-                () -> sqlEngine.init("test", null, rowType, "select * from 
unknown"));
-    }
-}

Reply via email to