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

morningman pushed a commit to branch branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 9728a86086c15709261921bede121a86912cf494
Author: morrySnow <101034200+morrys...@users.noreply.github.com>
AuthorDate: Fri Mar 31 13:42:24 2023 +0800

    [fix](planner) lateral view do not support lower case table name config 
(#18165)
    
    TableFunctionNode lower_case_table_names set to 1 and 2
---
 .../org/apache/doris/analysis/LateralViewRef.java  | 54 +++++++++++-------
 .../java/org/apache/doris/analysis/TableName.java  |  4 ++
 regression-test/conf/regression-conf.groovy        | 65 +++++++++++++++-------
 3 files changed, 83 insertions(+), 40 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/analysis/LateralViewRef.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/LateralViewRef.java
index 0b1812a6dd..522b661a62 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/LateralViewRef.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/LateralViewRef.java
@@ -132,28 +132,40 @@ public class LateralViewRef extends TableRef {
             if (tableName == null) {
                 // t1 lateral view explode_split(k1, ",")
                 slotRef.setTblName(relatedTableName.cloneWithoutAnalyze());
-            } else if (tableName.getDb() == null && tableName.getTbl() != 
null) {
-                if (Config.lower_case_table_names != 0) {
-                    // TODO support case insensitive
-                    throw new AnalysisException("Not support specify table 
name in table function "
-                            + "when config.lower_case_table_names is not 0");
-                }
-                if (tableName.getTbl().equals(relatedTableName.getTbl())) {
-                    // t1 lateral view explode_split(t1.k1, ",")
-                    tableName.setDb(relatedTableName.getDb());
-                } else {
-                    // t1 lateral view explode_split(t2.k1, ",")
-                    throw new AnalysisException("The column " + 
slotRef.toMySql()
-                            + " in lateral view must come from the origin 
table "
-                            + relatedTableName.toSql());
-                }
-            } else {
-                if 
(!tableName.getDb().equalsIgnoreCase(relatedTableName.getDb())) {
-                    // db2.t1 lateral view explode_split(db1.t1.k1, ",")
-                    throw new AnalysisException("The column " + 
slotRef.toMySql()
-                            + " in lateral view must come from the origin 
table "
-                            + relatedTableRef.toSql());
+                return;
+            }
+            if (tableName.getDb() != null && 
!tableName.getDb().equalsIgnoreCase(relatedTableName.getDb())) {
+                // db2.t1 lateral view explode_split(db1.t1.k1, ",")
+                throw new AnalysisException("The column " + slotRef.toMySql()
+                        + " in lateral view must come from the origin table "
+                        + relatedTableRef.toSql());
+            }
+
+            if (tableName.getTbl() != null) {
+                switch (Config.lower_case_table_names) {
+                    case 0:
+                        if 
(tableName.getTbl().equals(relatedTableName.getTbl())) {
+                            // t1 lateral view explode_split(t1.k1, ",")
+                            tableName.setDb(relatedTableName.getDb());
+                            return;
+                        }
+                        break;
+                    case 1:
+                    case 2:
+                        if 
(tableName.getTbl().equalsIgnoreCase(relatedTableName.getTbl())) {
+                            tableName.setTbl(relatedTableName.getTbl());
+                            tableName.setDb(relatedTableName.getDb());
+                            return;
+                        }
+                        break;
+                    default:
+                        throw new AnalysisException("Not support specify table 
name in table function "
+                                + "when config.lower_case_table_names is not 
0, 1 or 2");
                 }
+                // t1 lateral view explode_split(t2.k1, ",")
+                throw new AnalysisException("The column " + slotRef.toMySql()
+                        + " in lateral view must come from the origin table "
+                        + relatedTableName.toSql());
             }
         }
     }
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/TableName.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/TableName.java
index b5841ea9ae..6ae8132a6d 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/TableName.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/TableName.java
@@ -122,6 +122,10 @@ public class TableName implements Writable {
         return tbl;
     }
 
+    public void setTbl(String tbl) {
+        this.tbl = tbl;
+    }
+
     public boolean isEmpty() {
         return tbl.isEmpty();
     }
diff --git a/regression-test/conf/regression-conf.groovy 
b/regression-test/conf/regression-conf.groovy
index 8f59bed3f7..ebb52dbe28 100644
--- a/regression-test/conf/regression-conf.groovy
+++ b/regression-test/conf/regression-conf.groovy
@@ -23,11 +23,12 @@ defaultDb = "regression_test"
 // add useLocalSessionState so that the jdbc will not send
 // init cmd like: select @@session.tx_read_only
 // at each time we connect.
-jdbcUrl = "jdbc:mysql://127.0.0.1:9033/?useLocalSessionState=true"
+// add allowLoadLocalInfile so that the jdbc can execute mysql load data from 
client.
+jdbcUrl = 
"jdbc:mysql://127.0.0.1:9030/?useLocalSessionState=true&allowLoadLocalInfile=true"
 jdbcUser = "root"
 jdbcPassword = ""
 
-feHttpAddress = "127.0.0.1:8033"
+feHttpAddress = "127.0.0.1:8030"
 feHttpUser = "root"
 feHttpPassword = ""
 
@@ -37,8 +38,6 @@ suitePath = "${DORIS_HOME}/regression-test/suites"
 dataPath = "${DORIS_HOME}/regression-test/data"
 pluginPath = "${DORIS_HOME}/regression-test/plugins"
 realDataPath = "${DORIS_HOME}/regression-test/realdata"
-// sf1DataPath can be url like 
"https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com"; or local 
path like "/data"
-sf1DataPath = 
"https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com";
 
 // will test <group>/<suite>.groovy
 // empty group will test all group
@@ -51,9 +50,9 @@ testDirectories = ""
 // this groups will not be executed
 excludeGroups = ""
 // this suites will not be executed
-excludeSuites = "test_date_function,create_table_use_partition_policy"
+excludeSuites = "test_broker_load"
 // this directories will not be executed
-excludeDirectories = ""
+excludeDirectories = "segcompaction_p1"
 
 customConf1 = "test_custom_conf_value"
 
@@ -72,27 +71,55 @@ sk=""
 // jdbc connector test config
 // To enable jdbc test, you need first start mysql/pg container.
 // See `docker/thirdparties/start-thirdparties-docker.sh`
-enableJdbcTest=true
-mysql_57_port=3336
-pg_14_port=5444
-oracle_11_port=1522
-sqlserver_2022_port=1434
+enableJdbcTest=false
+mysql_57_port=3316
+pg_14_port=5442
+oracle_11_port=1521
+sqlserver_2022_port=1433
 
 // hive catalog test config
 // To enable jdbc test, you need first start hive container.
 // See `docker/thirdparties/start-thirdparties-docker.sh`
-enableHiveTest=true
-hms_port=9184
-hdfs_port=50088
+enableHiveTest=false
+hms_port=9183
+hdfs_port=8120
 
 // elasticsearch catalog test config
 // See `docker/thirdparties/start-thirdparties-docker.sh`
-enableEsTest=true
-es_6_port=19222
-es_7_port=29222
-es_8_port=39222
+enableEsTest=false
+es_6_port=19200
+es_7_port=29200
+es_8_port=39200
 
-cacheDataPath = "/mnt/disk2/yunyou/cachedata"
+
+//hive  catalog test config for bigdata
+enableExternalHiveTest = false
+extHiveHmsHost = "***.**.**.**"
+extHiveHmsPort = 7004
+extHdfsPort = 4007
+extHiveHmsUser = "****"
+extHiveHmsPassword= "***********"
+
+//mysql jdbc connector test config for bigdata
+enableExternalMysqlTest = false
+extMysqlHost = "***.**.**.**"
+extMysqlPort = 3306
+extMysqlUser = "****"
+extMysqlPassword = "***********"
+
+//postgresql jdbc connector test config for bigdata
+enableExternalPgTest = false
+extPgHost = "***.**.**.*"
+extPgPort = 5432
+extPgUser = "****"
+extPgPassword = "***********"
+
+// elasticsearch external test config for bigdata
+enableExternalEsTest = false
+extEsHost = "***********"
+extEsPort = 9200
+extEsUser = "*******"
+extEsPassword = "***********"
 
 s3Endpoint = "cos.ap-hongkong.myqcloud.com"
 s3BucketName = "doris-build-hk-1308700295"


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to