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