This is an automated email from the ASF dual-hosted git repository. englefly 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 0a9d71ebd2f [Fix](Planner) fix varchar does not show real length (#25171) 0a9d71ebd2f is described below commit 0a9d71ebd2f161c6681800a5b36dbb1a82a4b683 Author: LiBinfeng <46676950+libinfeng...@users.noreply.github.com> AuthorDate: Tue Nov 14 10:49:21 2023 +0800 [Fix](Planner) fix varchar does not show real length (#25171) Problem: when we create table with datatype varchar(), we regard it to be max length by default. But when we desc, it does not show real length but show varchar() Reason: when we upgrade version from 2.0.1 to 2.0.2, we support new feature of creating varchar(), and it shows the same way with ddl schema. So user would confuse of the length of varchar Solved: change the showing of varchar() to varchar(65533), which in compatible with hive --- .../src/main/java/org/apache/doris/catalog/ScalarType.java | 2 +- .../org/apache/doris/nereids/parser/LogicalPlanBuilder.java | 4 ++++ .../doris/nereids/parser/trino/LogicalPlanTrinoBuilder.java | 4 ++++ .../main/java/org/apache/doris/nereids/types/VarcharType.java | 6 +++++- .../test/java/org/apache/doris/catalog/CreateFunctionTest.java | 10 +++++----- .../org/apache/doris/planner/MaterializedViewFunctionTest.java | 4 ++-- .../src/test/java/org/apache/doris/planner/QueryPlanTest.java | 4 ++-- .../doris/rewrite/ExtractCommonFactorsRuleFunctionTest.java | 10 +++++----- .../bloom_filter_p0/test_create_table_with_bloom_filter.out | 4 ++-- regression-test/data/ddl_p0/test_create_table_like.out | 4 ++-- regression-test/data/ddl_p0/test_createtable_strlen.out | 2 +- .../data/external_table_p0/jdbc/test_mysql_jdbc_catalog.out | 2 +- .../data/external_table_p0/jdbc/test_pg_jdbc_catalog.out | 2 +- regression-test/data/mv_p0/varchar_length/varchar_length.out | 2 +- .../data/nereids_p0/create_table/test_create_blocked.out | 2 +- regression-test/data/nereids_syntax_p0/rollup/hll/hll.out | 2 +- .../rollup/hll_with_light_sc/hll_with_light_sc.out | 2 +- regression-test/data/rollup/test_materialized_view_hll.out | 2 +- .../data/rollup/test_materialized_view_hll_with_light_sc.out | 2 +- .../suites/mv_p0/ut/testNDVToHll/testNDVToHll.groovy | 1 + regression-test/suites/view_p0/view_p0.groovy | 2 +- 21 files changed, 43 insertions(+), 30 deletions(-) diff --git a/fe/fe-common/src/main/java/org/apache/doris/catalog/ScalarType.java b/fe/fe-common/src/main/java/org/apache/doris/catalog/ScalarType.java index 492cb8e15b6..79e9d4b4ab8 100644 --- a/fe/fe-common/src/main/java/org/apache/doris/catalog/ScalarType.java +++ b/fe/fe-common/src/main/java/org/apache/doris/catalog/ScalarType.java @@ -598,7 +598,7 @@ public class ScalarType extends Type { return "TIMEV2(" + scale + ")"; } else if (type == PrimitiveType.VARCHAR) { if (isWildcardVarchar()) { - return "VARCHAR(*)"; + return "VARCHAR(" + MAX_VARCHAR_LENGTH + ")"; } return "VARCHAR(" + len + ")"; } else if (type == PrimitiveType.STRING) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java index a8204f1ea97..232334ca37a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java @@ -367,6 +367,7 @@ import org.apache.doris.nereids.types.DataType; import org.apache.doris.nereids.types.MapType; import org.apache.doris.nereids.types.StructField; import org.apache.doris.nereids.types.StructType; +import org.apache.doris.nereids.types.VarcharType; import org.apache.doris.nereids.types.coercion.CharacterType; import org.apache.doris.nereids.util.ExpressionUtils; import org.apache.doris.nereids.util.RelationUtil; @@ -1655,6 +1656,9 @@ public class LogicalPlanBuilder extends DorisParserBaseVisitor<Object> { private Expression processCast(Expression cast, DataType dataType) { if (dataType.isStringLikeType() && ((CharacterType) dataType).getLen() >= 0) { + if (dataType.isVarcharType() && ((VarcharType) dataType).isWildcardVarchar()) { + return cast; + } List<Expression> args = ImmutableList.of( cast, new TinyIntLiteral((byte) 1), diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/trino/LogicalPlanTrinoBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/trino/LogicalPlanTrinoBuilder.java index c810e49b175..be913200bc4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/trino/LogicalPlanTrinoBuilder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/trino/LogicalPlanTrinoBuilder.java @@ -41,6 +41,7 @@ import org.apache.doris.nereids.trees.expressions.literal.VarcharLiteral; import org.apache.doris.nereids.trees.plans.logical.LogicalPlan; import org.apache.doris.nereids.trees.plans.logical.LogicalProject; import org.apache.doris.nereids.types.DataType; +import org.apache.doris.nereids.types.VarcharType; import org.apache.doris.nereids.types.coercion.CharacterType; import com.google.common.collect.ImmutableList; @@ -176,6 +177,9 @@ public class LogicalPlanTrinoBuilder extends io.trino.sql.tree.AstVisitor<Object DataType dataType = mappingType(node.getType()); Expression cast = new Cast(expr, dataType); if (dataType.isStringLikeType() && ((CharacterType) dataType).getLen() >= 0) { + if (dataType.isVarcharType() && ((VarcharType) dataType).isWildcardVarchar()) { + return cast; + } List<Expression> args = ImmutableList.of( cast, new TinyIntLiteral((byte) 1), diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/VarcharType.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/VarcharType.java index 0bf0cf4f3df..b2bcc594ea1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/VarcharType.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/VarcharType.java @@ -67,7 +67,7 @@ public class VarcharType extends CharacterType { @Override public String toSql() { if (len == -1) { - return "VARCHAR(*)"; + return "VARCHAR(" + MAX_VARCHAR_LENGTH + ")"; } return "VARCHAR(" + len + ")"; } @@ -85,4 +85,8 @@ public class VarcharType extends CharacterType { public int hashCode() { return Objects.hash(super.hashCode(), len); } + + public boolean isWildcardVarchar() { + return len == -1 || len == MAX_VARCHAR_LENGTH; + } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/catalog/CreateFunctionTest.java b/fe/fe-core/src/test/java/org/apache/doris/catalog/CreateFunctionTest.java index 41d991b41e1..7c9a45febae 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/catalog/CreateFunctionTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/catalog/CreateFunctionTest.java @@ -114,7 +114,7 @@ public class CreateFunctionTest { queryStr = "select db1.id_masking(k1) from db1.tbl1"; Assert.assertTrue( - dorisAssert.query(queryStr).explainQuery().contains("concat(left(CAST(CAST(k1 AS BIGINT) AS VARCHAR(*)), 3), '****', right(CAST(CAST(k1 AS BIGINT) AS VARCHAR(*)), 4))")); + dorisAssert.query(queryStr).explainQuery().contains("concat(left(CAST(CAST(k1 AS BIGINT) AS VARCHAR(65533)), 3), '****', right(CAST(CAST(k1 AS BIGINT) AS VARCHAR(65533)), 4))")); // create alias function with cast // cast any type to decimal with specific precision and scale @@ -149,7 +149,7 @@ public class CreateFunctionTest { // cast any type to varchar with fixed length createFuncStr = "create alias function db1.varchar(all) with parameter(text) as " - + "cast(text as varchar(*));"; + + "cast(text as varchar(65533));"; createFunctionStmt = (CreateFunctionStmt) UtFrameUtils.parseAndAnalyzeStmt(createFuncStr, ctx); Env.getCurrentEnv().createFunction(createFunctionStmt); @@ -172,7 +172,7 @@ public class CreateFunctionTest { Assert.assertTrue(constExprLists.get(0).get(0) instanceof StringLiteral); queryStr = "select db1.varchar(k1, 4) from db1.tbl1;"; - Assert.assertTrue(dorisAssert.query(queryStr).explainQuery().contains("CAST(`k1` AS VARCHAR(*))")); + Assert.assertTrue(dorisAssert.query(queryStr).explainQuery().contains("CAST(`k1` AS VARCHAR(65533))")); // cast any type to char with fixed length createFuncStr = "create alias function db1.to_char(all, int) with parameter(text, length) as " @@ -235,7 +235,7 @@ public class CreateFunctionTest { queryStr = "select id_masking(k1) from db2.tbl1"; Assert.assertTrue( - dorisAssert.query(queryStr).explainQuery().contains("concat(left(CAST(CAST(k1 AS BIGINT) AS VARCHAR(*)), 3), '****', right(CAST(CAST(k1 AS BIGINT) AS VARCHAR(*)), 4))")); + dorisAssert.query(queryStr).explainQuery().contains("concat(left(CAST(CAST(k1 AS BIGINT) AS VARCHAR(65533)), 3), '****', right(CAST(CAST(k1 AS BIGINT) AS VARCHAR(65533)), 4))")); // 4. create alias function with cast // cast any type to decimal with specific precision and scale @@ -270,7 +270,7 @@ public class CreateFunctionTest { testFunctionQuery(ctx, queryStr, true); queryStr = "select varchar(k1, 4) from db2.tbl1;"; - Assert.assertTrue(dorisAssert.query(queryStr).explainQuery().contains("CAST(`k1` AS VARCHAR(*))")); + Assert.assertTrue(dorisAssert.query(queryStr).explainQuery().contains("CAST(`k1` AS VARCHAR(65533))")); // 6. cast any type to char with fixed length createFuncStr = "create global alias function db2.to_char(all, int) with parameter(text, length) as " diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/MaterializedViewFunctionTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/MaterializedViewFunctionTest.java index 0556513dcf0..8a7041af8e6 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/planner/MaterializedViewFunctionTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/MaterializedViewFunctionTest.java @@ -773,7 +773,7 @@ public class MaterializedViewFunctionTest { String createUserTagMVSql = "create materialized view " + USER_TAG_MV_NAME + " as select user_id, " + "`" + FunctionSet.HLL_UNION + "`(" + FunctionSet.HLL_HASH + "(tag_id)) from " + USER_TAG_TABLE_NAME + " group by user_id;"; dorisAssert.withMaterializedView(createUserTagMVSql); - String query = "select ndv(tag_id) from " + USER_TAG_TABLE_NAME + ";"; + String query = "select /*+ SET_VAR(enable_fallback_to_original_planner=false) */ndv(tag_id) from " + USER_TAG_TABLE_NAME + ";"; dorisAssert.query(query).explainContains(USER_TAG_MV_NAME, "hll_union_agg"); } @@ -782,7 +782,7 @@ public class MaterializedViewFunctionTest { String createUserTagMVSql = "create materialized view " + USER_TAG_MV_NAME + " as select user_id, " + "`" + FunctionSet.HLL_UNION + "`(" + FunctionSet.HLL_HASH + "(tag_id)) from " + USER_TAG_TABLE_NAME + " group by user_id;"; dorisAssert.withMaterializedView(createUserTagMVSql); - String query = "select approx_count_distinct(tag_id) from " + USER_TAG_TABLE_NAME + ";"; + String query = "select /*+ SET_VAR(enable_fallback_to_original_planner=false) */ approx_count_distinct(tag_id) from " + USER_TAG_TABLE_NAME + ";"; dorisAssert.query(query).explainContains(USER_TAG_MV_NAME, "hll_union_agg"); } diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/QueryPlanTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/QueryPlanTest.java index 2a6367ef3c9..ea402ca40be 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/planner/QueryPlanTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/QueryPlanTest.java @@ -564,11 +564,11 @@ public class QueryPlanTest extends TestWithFeService { // disable cast hll/bitmap to string assertSQLPlanOrErrorMsgContains( "select cast(id2 as varchar) from test.hll_table;", - "Invalid type cast of `id2` from HLL to VARCHAR(*)" + "Invalid type cast of `id2` from HLL to VARCHAR(65533)" ); assertSQLPlanOrErrorMsgContains( "select cast(id2 as varchar) from test.bitmap_table;", - "Invalid type cast of `id2` from BITMAP to VARCHAR(*)" + "Invalid type cast of `id2` from BITMAP to VARCHAR(65533)" ); // disable implicit cast hll/bitmap to string assertSQLPlanOrErrorMsgContains( diff --git a/fe/fe-core/src/test/java/org/apache/doris/rewrite/ExtractCommonFactorsRuleFunctionTest.java b/fe/fe-core/src/test/java/org/apache/doris/rewrite/ExtractCommonFactorsRuleFunctionTest.java index a49723c2298..1fcffc4fa5c 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/rewrite/ExtractCommonFactorsRuleFunctionTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/rewrite/ExtractCommonFactorsRuleFunctionTest.java @@ -273,27 +273,27 @@ public class ExtractCommonFactorsRuleFunctionTest { // tinyint String sql = "select /*+ SET_VAR(enable_nereids_planner=false) */ * from tb3 where k1 like '%4%';"; LOG.info("EXPLAIN:{}", dorisAssert.query(sql).explainQuery()); - dorisAssert.query(sql).explainContains("CAST(`k1` AS VARCHAR(*)) LIKE '%4%'"); + dorisAssert.query(sql).explainContains("CAST(`k1` AS VARCHAR(65533)) LIKE '%4%'"); // smallint sql = "select /*+ SET_VAR(enable_nereids_planner=false) */ * from tb3 where k2 like '%4%';"; LOG.info("EXPLAIN:{}", dorisAssert.query(sql).explainQuery()); - dorisAssert.query(sql).explainContains("CAST(`k2` AS VARCHAR(*)) LIKE '%4%'"); + dorisAssert.query(sql).explainContains("CAST(`k2` AS VARCHAR(65533)) LIKE '%4%'"); // int sql = "select /*+ SET_VAR(enable_nereids_planner=false) */ * from tb3 where k3 like '%4%';"; LOG.info("EXPLAIN:{}", dorisAssert.query(sql).explainQuery()); - dorisAssert.query(sql).explainContains("CAST(`k3` AS VARCHAR(*)) LIKE '%4%'"); + dorisAssert.query(sql).explainContains("CAST(`k3` AS VARCHAR(65533)) LIKE '%4%'"); // bigint sql = "select /*+ SET_VAR(enable_nereids_planner=false) */ * from tb3 where k4 like '%4%';"; LOG.info("EXPLAIN:{}", dorisAssert.query(sql).explainQuery()); - dorisAssert.query(sql).explainContains("CAST(`k4` AS VARCHAR(*)) LIKE '%4%'"); + dorisAssert.query(sql).explainContains("CAST(`k4` AS VARCHAR(65533)) LIKE '%4%'"); // largeint sql = "select /*+ SET_VAR(enable_nereids_planner=false) */ * from tb3 where k5 like '%4%';"; LOG.info("EXPLAIN:{}", dorisAssert.query(sql).explainQuery()); - dorisAssert.query(sql).explainContains("CAST(`k5` AS VARCHAR(*)) LIKE '%4%'"); + dorisAssert.query(sql).explainContains("CAST(`k5` AS VARCHAR(65533)) LIKE '%4%'"); } @Test diff --git a/regression-test/data/bloom_filter_p0/test_create_table_with_bloom_filter.out b/regression-test/data/bloom_filter_p0/test_create_table_with_bloom_filter.out index 679ace95a8f..0409ab7fb3c 100644 --- a/regression-test/data/bloom_filter_p0/test_create_table_with_bloom_filter.out +++ b/regression-test/data/bloom_filter_p0/test_create_table_with_bloom_filter.out @@ -10,7 +10,7 @@ bigint_key BIGINT No true \N BLOOM_FILTER char_50_key CHAR(50) No true \N BLOOM_FILTER character_key VARCHAR(500) No true \N BLOOM_FILTER char_key CHAR(1) No true \N BLOOM_FILTER -character_most_key VARCHAR(*) No true \N BLOOM_FILTER +character_most_key VARCHAR(65533) No true \N BLOOM_FILTER decimal_key DECIMAL(20, 6) No true \N BLOOM_FILTER decimal_most_key DECIMAL(27, 9) No true \N BLOOM_FILTER decimal32_key DECIMAL(5, 1) No true \N BLOOM_FILTER @@ -29,7 +29,7 @@ bigint_value BIGINT No false \N SUM char_50_value CHAR(50) No false \N REPLACE character_value VARCHAR(500) No false \N REPLACE char_value CHAR(1) No false \N REPLACE -character_most_value VARCHAR(*) No false \N REPLACE +character_most_value VARCHAR(65533) No false \N REPLACE decimal_value DECIMAL(20, 6) No false \N SUM decimal_most_value DECIMAL(27, 9) No false \N SUM decimal32_value DECIMAL(5, 1) No false \N SUM diff --git a/regression-test/data/ddl_p0/test_create_table_like.out b/regression-test/data/ddl_p0/test_create_table_like.out index b1bf31fcaa5..cad1ae0a553 100644 --- a/regression-test/data/ddl_p0/test_create_table_like.out +++ b/regression-test/data/ddl_p0/test_create_table_like.out @@ -1,6 +1,6 @@ -- This file is automatically generated. You should know what you did if you want to edit this -- !desc_create_table -- -decimal_test DUP_KEYS name VARCHAR(*) VARCHAR(*) Yes true \N true +decimal_test DUP_KEYS name VARCHAR(65533) VARCHAR(65533) Yes true \N true id SMALLINT SMALLINT Yes false \N NONE true timestamp0 DECIMAL DECIMALV3(9, 0) Yes false \N NONE true timestamp1 DECIMAL DECIMALV3(10, 0) Yes false \N NONE true @@ -9,7 +9,7 @@ decimal_test DUP_KEYS name VARCHAR(*) VARCHAR(*) Yes true \N true timestamp4 DECIMAL(10, 1) DECIMALV3(10, 1) Yes false \N NONE true -- !desc_create_table_like -- -decimal_test_like DUP_KEYS name VARCHAR(*) VARCHAR(*) Yes true \N true +decimal_test_like DUP_KEYS name VARCHAR(65533) VARCHAR(65533) Yes true \N true id SMALLINT SMALLINT Yes false \N NONE true timestamp0 DECIMAL DECIMALV3(9, 0) Yes false \N NONE true timestamp1 DECIMAL DECIMALV3(10, 0) Yes false \N NONE true diff --git a/regression-test/data/ddl_p0/test_createtable_strlen.out b/regression-test/data/ddl_p0/test_createtable_strlen.out index 9f0d2e1f3fc..2a89d34218f 100644 --- a/regression-test/data/ddl_p0/test_createtable_strlen.out +++ b/regression-test/data/ddl_p0/test_createtable_strlen.out @@ -2,6 +2,6 @@ -- !create -- k1 CHAR(1) Yes true \N K2 CHAR(10) Yes false \N NONE -K3 VARCHAR(*) Yes false \N NONE +K3 VARCHAR(65533) Yes false \N NONE K4 VARCHAR(10) Yes false \N NONE diff --git a/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_catalog.out b/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_catalog.out index 3645341c995..ab9a45e02fc 100644 --- a/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_catalog.out +++ b/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_catalog.out @@ -305,7 +305,7 @@ binary TEXT Yes false \N NONE bit TEXT Yes false \N NONE blob TEXT Yes false \N NONE boolean TINYINT Yes false \N NONE -char VARCHAR(*) Yes false \N NONE +char VARCHAR(65533) Yes false \N NONE date DATE Yes false \N NONE datetime DATETIME Yes false \N NONE decimal DECIMAL(12, 4) Yes false \N NONE diff --git a/regression-test/data/external_table_p0/jdbc/test_pg_jdbc_catalog.out b/regression-test/data/external_table_p0/jdbc/test_pg_jdbc_catalog.out index b2a944cde6a..5d1a91b9ce3 100644 --- a/regression-test/data/external_table_p0/jdbc/test_pg_jdbc_catalog.out +++ b/regression-test/data/external_table_p0/jdbc/test_pg_jdbc_catalog.out @@ -2228,7 +2228,7 @@ bit_value BOOLEAN Yes false \N NONE bitn_value TEXT Yes false \N NONE bitnv_value TEXT Yes false \N NONE box_value TEXT Yes false \N NONE -char_value VARCHAR(*) Yes true \N +char_value VARCHAR(65533) Yes true \N cidr_value TEXT Yes false \N NONE circle_value TEXT Yes false \N NONE date_value DATE Yes false \N NONE diff --git a/regression-test/data/mv_p0/varchar_length/varchar_length.out b/regression-test/data/mv_p0/varchar_length/varchar_length.out index b9cdce04317..d944f69b4a3 100644 --- a/regression-test/data/mv_p0/varchar_length/varchar_length.out +++ b/regression-test/data/mv_p0/varchar_length/varchar_length.out @@ -4,5 +4,5 @@ test1 UNIQUE_KEYS vid VARCHAR(1) VARCHAR(1) No true \N true report_time INT INT No true \N true mv_test UNIQUE_KEYS mv_report_time INT INT No true \N true `report_time` - mv_vid VARCHAR(*) VARCHAR(*) No true \N REPLACE true `vid` + mv_vid VARCHAR(65533) VARCHAR(65533) No true \N REPLACE true `vid` diff --git a/regression-test/data/nereids_p0/create_table/test_create_blocked.out b/regression-test/data/nereids_p0/create_table/test_create_blocked.out index 9f0d2e1f3fc..2a89d34218f 100644 --- a/regression-test/data/nereids_p0/create_table/test_create_blocked.out +++ b/regression-test/data/nereids_p0/create_table/test_create_blocked.out @@ -2,6 +2,6 @@ -- !create -- k1 CHAR(1) Yes true \N K2 CHAR(10) Yes false \N NONE -K3 VARCHAR(*) Yes false \N NONE +K3 VARCHAR(65533) Yes false \N NONE K4 VARCHAR(10) Yes false \N NONE diff --git a/regression-test/data/nereids_syntax_p0/rollup/hll/hll.out b/regression-test/data/nereids_syntax_p0/rollup/hll/hll.out index 4278337ac9e..28ee1fc66c3 100644 --- a/regression-test/data/nereids_syntax_p0/rollup/hll/hll.out +++ b/regression-test/data/nereids_syntax_p0/rollup/hll/hll.out @@ -10,5 +10,5 @@ test_materialized_view_hll1 DUP_KEYS record_id INT INT Yes true \N true sale_amt BIGINT BIGINT Yes false \N NONE true amt_count AGG_KEYS mv_store_id INT INT Yes true \N true `store_id` - mva_HLL_UNION__hll_hash(CAST(`sale_amt` AS VARCHAR(*))) HLL HLL No false \N HLL_UNION true hll_hash(CAST(`sale_amt` AS VARCHAR(*))) + mva_HLL_UNION__hll_hash(CAST(`sale_amt` AS VARCHAR(65533))) HLL HLL No false \N HLL_UNION true hll_hash(CAST(`sale_amt` AS VARCHAR(65533))) diff --git a/regression-test/data/nereids_syntax_p0/rollup/hll_with_light_sc/hll_with_light_sc.out b/regression-test/data/nereids_syntax_p0/rollup/hll_with_light_sc/hll_with_light_sc.out index 2b42ca08b4d..4018c44c938 100644 --- a/regression-test/data/nereids_syntax_p0/rollup/hll_with_light_sc/hll_with_light_sc.out +++ b/regression-test/data/nereids_syntax_p0/rollup/hll_with_light_sc/hll_with_light_sc.out @@ -7,7 +7,7 @@ test_materialized_view_hll_with_light_sc1 DUP_KEYS record_id INT INT Yes true \N sale_amt BIGINT BIGINT Yes false \N NONE true amt_count1 AGG_KEYS mv_store_id INT INT Yes true \N true `store_id` - mva_HLL_UNION__hll_hash(CAST(`sale_amt` AS VARCHAR(*))) HLL HLL No false \N HLL_UNION true hll_hash(CAST(`sale_amt` AS VARCHAR(*))) + mva_HLL_UNION__hll_hash(CAST(`sale_amt` AS VARCHAR(65533))) HLL HLL No false \N HLL_UNION true hll_hash(CAST(`sale_amt` AS VARCHAR(65533))) -- !sql -- 1 1 diff --git a/regression-test/data/rollup/test_materialized_view_hll.out b/regression-test/data/rollup/test_materialized_view_hll.out index a2703e797c6..9721b8612c6 100644 --- a/regression-test/data/rollup/test_materialized_view_hll.out +++ b/regression-test/data/rollup/test_materialized_view_hll.out @@ -7,7 +7,7 @@ test_materialized_view_hll DUP_KEYS record_id INT INT Yes true \N true sale_amt BIGINT BIGINT Yes false \N NONE true amt_count AGG_KEYS mv_store_id INT INT Yes true \N true `store_id` - mva_HLL_UNION__hll_hash(CAST(`sale_amt` AS VARCHAR(*))) HLL HLL No false \N HLL_UNION true hll_hash(CAST(`sale_amt` AS VARCHAR(*))) + mva_HLL_UNION__hll_hash(CAST(`sale_amt` AS VARCHAR(65533))) HLL HLL No false \N HLL_UNION true hll_hash(CAST(`sale_amt` AS VARCHAR(65533))) -- !sql -- 1 1 diff --git a/regression-test/data/rollup/test_materialized_view_hll_with_light_sc.out b/regression-test/data/rollup/test_materialized_view_hll_with_light_sc.out index ef1f1aa825f..bdc8e1cd81f 100644 --- a/regression-test/data/rollup/test_materialized_view_hll_with_light_sc.out +++ b/regression-test/data/rollup/test_materialized_view_hll_with_light_sc.out @@ -7,7 +7,7 @@ test_materialized_view_hll_with_light_sc DUP_KEYS record_id INT INT Yes true \N sale_amt BIGINT BIGINT Yes false \N NONE true amt_count1 AGG_KEYS mv_store_id INT INT Yes true \N true `store_id` - mva_HLL_UNION__hll_hash(CAST(`sale_amt` AS VARCHAR(*))) HLL HLL No false \N HLL_UNION true hll_hash(CAST(`sale_amt` AS VARCHAR(*))) + mva_HLL_UNION__hll_hash(CAST(`sale_amt` AS VARCHAR(65533))) HLL HLL No false \N HLL_UNION true hll_hash(CAST(`sale_amt` AS VARCHAR(65533))) -- !sql -- 1 1 diff --git a/regression-test/suites/mv_p0/ut/testNDVToHll/testNDVToHll.groovy b/regression-test/suites/mv_p0/ut/testNDVToHll/testNDVToHll.groovy index a4bd22bd493..cdd2978f071 100644 --- a/regression-test/suites/mv_p0/ut/testNDVToHll/testNDVToHll.groovy +++ b/regression-test/suites/mv_p0/ut/testNDVToHll/testNDVToHll.groovy @@ -19,6 +19,7 @@ import org.codehaus.groovy.runtime.IOGroovyMethods suite ("testNDVToHll") { sql """set enable_nereids_planner=true;""" + sql """set enable_fallback_to_original_planner=false;""" sql """ DROP TABLE IF EXISTS user_tags; """ sql """ create table user_tags ( diff --git a/regression-test/suites/view_p0/view_p0.groovy b/regression-test/suites/view_p0/view_p0.groovy index 986fa6688c6..a1df7e07cf4 100644 --- a/regression-test/suites/view_p0/view_p0.groovy +++ b/regression-test/suites/view_p0/view_p0.groovy @@ -37,7 +37,7 @@ suite("view_p0") { """ qt_sql "select * from test_varchar_view;" - qt_sql "select cast( id as varchar(*)) from test_view_table;" + qt_sql "select cast( id as varchar(65533)) from test_view_table;" // array view sql """DROP TABLE IF EXISTS test_array_tbl_1""" --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org