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

morrysnow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git

The following commit(s) were added to refs/heads/master by this push:
     new 65ccd32babc [fix](planner) fix bug of InlineViewRef's tableNameToSql 
method (#33575)
65ccd32babc is described below

commit 65ccd32babc586ee4af16563b27ace6cee56a4f0
Author: starocean999 <40539150+starocean...@users.noreply.github.com>
AuthorDate: Mon Apr 15 14:59:09 2024 +0800

    [fix](planner) fix bug of InlineViewRef's tableNameToSql method (#33575)
---
 .../org/apache/doris/analysis/InlineViewRef.java   |  4 +--
 .../org/apache/doris/qe/OlapQueryCacheTest.java    | 10 +++----
 .../suites/ddl_p0/test_create_view.groovy          | 32 +++++++++++++++++++++-
 3 files changed, 37 insertions(+), 9 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/analysis/InlineViewRef.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/InlineViewRef.java
index 86e93c42061..a6418abf3b0 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/InlineViewRef.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/InlineViewRef.java
@@ -514,9 +514,7 @@ public class InlineViewRef extends TableRef {
             aliasSql = ToSqlUtils.getIdentSql(alias);
         }
         StringBuilder sb = new StringBuilder();
-        sb.append("(").append(queryStmt.toSql()).append(") ")
-            .append(aliasSql);
-
+        sb.append("(").append(queryStmt.toSqlWithSelectList()).append(") 
").append(aliasSql);
         return sb.toString();
     }
 
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/qe/OlapQueryCacheTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/qe/OlapQueryCacheTest.java
index 9ff7042e76e..5767f1c4b78 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/qe/OlapQueryCacheTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/qe/OlapQueryCacheTest.java
@@ -975,7 +975,7 @@ public class OlapQueryCacheTest {
             LOG.warn("Sub nokey={}", cache.getNokeyStmt().toSql());
             Assert.assertEquals(cache.getNokeyStmt().toSql(),
                     "SELECT `eventdate` AS `eventdate`, sum(`pv`) AS 
`sum(``pv``)` "
-                            + "FROM (SELECT `eventdate` AS `eventdate`, 
count(`userid`) AS `pv` "
+                            + "FROM (SELECT `eventdate`, count(`userid`) `pv` "
                             + "FROM `testDb`.`appevent` WHERE (`eventid` = 1) 
GROUP BY `eventdate`) tbl "
                             + "GROUP BY `eventdate`");
 
@@ -997,7 +997,7 @@ public class OlapQueryCacheTest {
             LOG.warn("Sub rewrite={}", sql);
             Assert.assertEquals(sql,
                     "SELECT `eventdate` AS `eventdate`, sum(`pv`) AS 
`sum(``pv``)` "
-                            + "FROM (SELECT `eventdate` AS `eventdate`, 
count(`userid`) AS `pv` "
+                            + "FROM (SELECT `eventdate`, count(`userid`) `pv` "
                             + "FROM `testDb`.`appevent` WHERE (`eventdate` > 
'2020-01-13') "
                             + "AND (`eventdate` < '2020-01-16') AND (`eventid` 
= 1) GROUP BY `eventdate`) tbl "
                             + "GROUP BY `eventdate`");
@@ -1133,8 +1133,8 @@ public class OlapQueryCacheTest {
         SqlCache sqlCache = (SqlCache) ca.getCache();
         String cacheKey = sqlCache.getSqlWithViewStmt();
         Assert.assertEquals(cacheKey, "SELECT `origin`.`eventdate` AS 
`eventdate`, "
-                + "`origin`.`userid` AS `userid` FROM (SELECT 
`view2`.`eventdate` AS `eventdate`, "
-                + "`view2`.`userid` AS `userid` FROM `testDb`.`view2` view2 "
+                + "`origin`.`userid` AS `userid` FROM (SELECT 
`view2`.`eventdate` `eventdate`, "
+                + "`view2`.`userid` `userid` FROM `testDb`.`view2` view2 "
                 + "WHERE (`view2`.`eventdate` >= '2020-01-12') AND 
(`view2`.`eventdate` <= '2020-01-14')) origin|"
                 + "SELECT `eventdate` AS `eventdate`, `userid` AS `userid` 
FROM `testDb`.`appevent`");
         Assert.assertEquals(selectedPartitionIds.size(), 
sqlCache.getSumOfPartitionNum());
@@ -1219,7 +1219,7 @@ public class OlapQueryCacheTest {
             Assert.assertEquals(cache.getNokeyStmt().getWhereClause(), null);
             Assert.assertEquals(cache.getSqlWithViewStmt(),
                     "SELECT `origin`.`eventdate` AS `eventdate`, 
`origin`.`cnt` AS `cnt` "
-                            + "FROM (SELECT `eventdate` AS `eventdate`, 
count(`userid`) AS `cnt` "
+                            + "FROM (SELECT `eventdate`, count(`userid`) `cnt` 
"
                             + "FROM `testDb`.`view2` GROUP BY `eventdate`) 
origin|SELECT `eventdate` "
                             + "AS `eventdate`, `userid` AS `userid` FROM 
`testDb`.`appevent`");
         } catch (Exception e) {
diff --git a/regression-test/suites/ddl_p0/test_create_view.groovy 
b/regression-test/suites/ddl_p0/test_create_view.groovy
index e66798e50bb..e5d6f41d319 100644
--- a/regression-test/suites/ddl_p0/test_create_view.groovy
+++ b/regression-test/suites/ddl_p0/test_create_view.groovy
@@ -204,4 +204,34 @@ suite("test_create_view") {
       view_column_name_test
     """
     qt_test_view_6 """ SHOW VIEW FROM view_column_name_test;"""
-}
\ No newline at end of file
+
+    sql """ drop view if exists xxx;"""
+    sql """CREATE VIEW
+            `xxx` COMMENT 'VIEW' AS
+            WITH
+            CHENGBENJIA AS (
+                SELECT
+                RN
+                FROM
+                (
+                    SELECT
+                    row_number() OVER (
+                        PARTITION BY `A`.`timestamp`,
+                        `A`.`type`
+                        ORDER BY
+                        CAST(
+                            concat(
+                            CAST(`A`.`error_msg` AS VARCHAR(*)),
+                            CAST(`A`.`remark` AS VARCHAR(*))
+                            ) AS INT
+                        ) DESC NULLS LAST
+                    ) AS `RN`
+                    FROM
+                    view_column_name_test A
+                ) A
+            )
+            SELECT
+            * from CHENGBENJIA;"""
+    sql """select * from xxx;"""
+    sql """ drop view if exists xxx;"""
+}


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

Reply via email to