This is an automated email from the ASF dual-hosted git repository. xxyu pushed a commit to branch kylin5 in repository https://gitbox.apache.org/repos/asf/kylin.git
commit 676fdf7691e530052ef6f11d67a21335307e64ec Author: ChenLiang <31469905+yab...@users.noreply.github.com> AuthorDate: Mon Oct 31 21:14:21 2022 +0800 KYLIN-5370 DDL operations ignore table name case --- .../main/java/org/apache/kylin/common/msg/CnMessage.java | 2 +- .../java/org/apache/kylin/rest/service/SparkDDLTest.java | 2 +- .../java/org/apache/kylin/spark/ddl/SourceTableCheck.java | 14 ++++++++++---- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/core-common/src/main/java/org/apache/kylin/common/msg/CnMessage.java b/src/core-common/src/main/java/org/apache/kylin/common/msg/CnMessage.java index 3306e85266..af50c20b53 100644 --- a/src/core-common/src/main/java/org/apache/kylin/common/msg/CnMessage.java +++ b/src/core-common/src/main/java/org/apache/kylin/common/msg/CnMessage.java @@ -1757,7 +1757,7 @@ public class CnMessage extends Message { @Override public String getDDLUnSupported() { - return "不支持的 DDL 语法,仅支持 `create view`, `drop view`, `alter view`, `show create view` 语法"; + return "不支持的 DDL 语法,仅支持 `create view`, `drop view`, `alter view`, `show create table` 语法"; } @Override diff --git a/src/datasource-service/src/test/java/org/apache/kylin/rest/service/SparkDDLTest.java b/src/datasource-service/src/test/java/org/apache/kylin/rest/service/SparkDDLTest.java index df4af60863..fbdb21528f 100644 --- a/src/datasource-service/src/test/java/org/apache/kylin/rest/service/SparkDDLTest.java +++ b/src/datasource-service/src/test/java/org/apache/kylin/rest/service/SparkDDLTest.java @@ -45,7 +45,7 @@ public class SparkDDLTest extends NLocalFileMetadataTestCase { private final IUserGroupService userGroupService = Mockito.spy(NUserGroupService.class); private static final String CREATEVIEW_SQL1 = - "CREATE VIEW `ssb`.`ke_order_view` as select LO_ORDERKEY, C_NAME from SSB.P_LINEORDER t1 left join " + "CREATE VIEW `ssb`.`ke_order_view` as select LO_ORDERKEY, C_NAME from SSB.p_lineorder t1 left join " + "SSB. CUSTOMER t2 on t1. LO_CUSTKEY = t2. C_CUSTKEY"; private static final String CREATEVIEW_SQL2 = "CREATE VIEW `ssb`.`order_view2` as select * from SSB.P_LINEORDER"; private static final String CREATEVIEW_SQL3 = "CREATE VIEW `ssb`.`order_view2` as abc"; diff --git a/src/spark-project/spark-ddl-plugin/src/main/java/org/apache/kylin/spark/ddl/SourceTableCheck.java b/src/spark-project/spark-ddl-plugin/src/main/java/org/apache/kylin/spark/ddl/SourceTableCheck.java index c3c54623e5..beb157bddc 100644 --- a/src/spark-project/spark-ddl-plugin/src/main/java/org/apache/kylin/spark/ddl/SourceTableCheck.java +++ b/src/spark-project/spark-ddl-plugin/src/main/java/org/apache/kylin/spark/ddl/SourceTableCheck.java @@ -17,6 +17,9 @@ */ package org.apache.kylin.spark.ddl; +import java.util.List; +import java.util.stream.Collectors; + import org.apache.kylin.common.KylinConfig; import org.apache.kylin.common.msg.MsgPicker; import org.apache.kylin.metadata.model.ISourceAware; @@ -62,12 +65,15 @@ public class SourceTableCheck implements DDLCheck { for (LogicalPlan plan : scala.collection.JavaConverters.seqAsJavaListConverter(relationLeaves).asJava()) { if (plan instanceof UnresolvedRelation) { val tableName = ((UnresolvedRelation) plan).tableName(); - TableDesc tableDesc = tableManager.getTableDesc(tableName); - if (tableDesc == null) { + List<TableDesc> loadTable = tableManager.listAllTables().stream() + .filter(table -> table.getTableAlias().equalsIgnoreCase(tableName)) + .collect(Collectors.toList()); + if (loadTable.isEmpty()) { throwException(MsgPicker.getMsg().getDDLTableNotLoad(tableName)); } - if (ISourceAware.ID_HIVE != tableDesc.getSourceType() - && ISourceAware.ID_SPARK != tableDesc.getSourceType()) { + TableDesc table = loadTable.get(0); + if (ISourceAware.ID_HIVE != table.getSourceType() + && ISourceAware.ID_SPARK != table.getSourceType()) { throwException(MsgPicker.getMsg().getDDLTableNotSupport(tableName)); } }