diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java index 46090f55c3..6f078746d4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java @@ -797,17 +797,17 @@ public class SessionVariable implements Serializable, Writable { needForward = true) private boolean enableSharedScan = true; - @VariableMgr.VarAttr(name = ENABLE_PARALLEL_SCAN, fuzzy = false, varType = VariableAnnotation.EXPERIMENTAL, + @VariableMgr.VarAttr(name = ENABLE_PARALLEL_SCAN, fuzzy = true, varType = VariableAnnotation.EXPERIMENTAL, needForward = true) private boolean enableParallelScan = true; - @VariableMgr.VarAttr(name = PARALLEL_SCAN_MAX_SCANNERS_COUNT, fuzzy = false, + @VariableMgr.VarAttr(name = PARALLEL_SCAN_MAX_SCANNERS_COUNT, fuzzy = true, varType = VariableAnnotation.EXPERIMENTAL, needForward = true) private int parallelScanMaxScannersCount = 48; - @VariableMgr.VarAttr(name = PARALLEL_SCAN_MIN_ROWS_PER_SCANNER, fuzzy = false, + @VariableMgr.VarAttr(name = PARALLEL_SCAN_MIN_ROWS_PER_SCANNER, fuzzy = true, varType = VariableAnnotation.EXPERIMENTAL, needForward = true) - private long parallelScanMinRowsPerScanner = 65536; // 2MB + private long parallelScanMinRowsPerScanner = 2097152; // 2MB @VariableMgr.VarAttr(name = IGNORE_STORAGE_DATA_DISTRIBUTION, fuzzy = false, varType = VariableAnnotation.EXPERIMENTAL, needForward = true) @@ -1532,6 +1532,7 @@ public class SessionVariable implements Serializable, Writable { // If this fe is in fuzzy mode, then will use initFuzzyModeVariables to generate some variables, // not the default value set in the code. + @SuppressWarnings("checkstyle:Indentation") public void initFuzzyModeVariables() { Random random = new SecureRandom(); this.parallelExecInstanceNum = random.nextInt(8) + 1; @@ -1555,7 +1556,6 @@ public class SessionVariable implements Serializable, Writable { this.enableFunctionPushdown = true; this.enableDeleteSubPredicateV2 = true; } - this.runtimeFilterType = 1 << randomInt; /* switch (randomInt) { case 0: @@ -1600,6 +1600,26 @@ public class SessionVariable implements Serializable, Writable { default: break; } + + this.runtimeFilterType = 1 << randomInt; + this.enableParallelScan = Config.pull_request_id % 2 == 0 ? randomInt % 2 == 0 : randomInt % 1 == 0; + switch (randomInt) { + case 0: + this.parallelScanMaxScannersCount = 32; + this.parallelScanMinRowsPerScanner = 64; + break; + case 1: + this.parallelScanMaxScannersCount = 16; + this.parallelScanMinRowsPerScanner = 128; + break; + case 2: + this.parallelScanMaxScannersCount = 8; + this.parallelScanMinRowsPerScanner = 256; + break; + case 3: + default: + break; + } } if (Config.fuzzy_test_type.equals("p0")) { diff --git a/regression-test/data/query_p0/sql_functions/array_functions/test_array_with_scale_type.out b/regression-test/data/query_p0/sql_functions/array_functions/test_array_with_scale_type.out index 7f76b283eb..30f20d00ae 100644 --- a/regression-test/data/query_p0/sql_functions/array_functions/test_array_with_scale_type.out +++ b/regression-test/data/query_p0/sql_functions/array_functions/test_array_with_scale_type.out @@ -96,10 +96,10 @@ [24.990, 25.990] -- !select -- -[null] -[null] ["2022-12-01 22:23:25.000"] ["2022-12-02 22:23:25.000"] +[null] +[null] -- !select -- ["2022-12-02 22:23:25.000", "2022-12-02 22:23:23.998"] @@ -220,9 +220,9 @@ -- !select -- 22.679 [22.679, 33.679] [22.679, 22.679, 33.679] -23.679 [23.679, 34.679] [23.679, 23.679, 34.679] 22.679 [22.679, 33.679] [22.679, 22.679, 33.679] 23.679 [23.679, 34.679] [23.679, 23.679, 34.679] +23.679 [23.679, 34.679] [23.679, 23.679, 34.679] -- !select -- ["2022-12-02 22:23:24.123", "2022-12-02 22:23:23.123"] @@ -250,9 +250,9 @@ -- !select -- 22.679 [22.679, 33.679] [22.679, 33.679, 22.679] -23.679 [23.679, 34.679] [23.679, 34.679, 23.679] 22.679 [22.679, 33.679] [22.679, 33.679, 22.679] 23.679 [23.679, 34.679] [23.679, 34.679, 23.679] +23.679 [23.679, 34.679] [23.679, 34.679, 23.679] -- !select -- [23, 11] diff --git a/regression-test/data/query_p0/sql_functions/window_functions/test_window_fn.out b/regression-test/data/query_p0/sql_functions/window_functions/test_window_fn.out index fb02f55e39..08907e0685 100644 --- a/regression-test/data/query_p0/sql_functions/window_functions/test_window_fn.out +++ b/regression-test/data/query_p0/sql_functions/window_functions/test_window_fn.out @@ -27,11 +27,11 @@ 0 0 0 0 0 0 0 4 0 +0 0 2 1 1 1 1 1 1 1 7 1 1 9 1 -0 0 2 1 1 3 1 3 3 @@ -64,8 +64,8 @@ 0 0 0 0 0 2 1 1 1 -1 1 3 1 1 1 +1 1 3 3 3 3 4 4 0 7 7 1 @@ -74,14 +74,14 @@ -- !sql -- 0 0 0 0 0 0 -4 4 0 -1 1 1 -1 1 1 -7 7 1 -9 9 1 0 0 2 +1 1 1 +1 1 1 1 1 3 3 3 3 +4 4 0 +7 7 1 +9 9 1 -- !sql -- 0 0 0 0 diff --git a/regression-test/data/variant_p0/column_name.out b/regression-test/data/variant_p0/column_name.out index 7d3794e453..753526dd08 100644 --- a/regression-test/data/variant_p0/column_name.out +++ b/regression-test/data/variant_p0/column_name.out @@ -7,7 +7,7 @@ -- !sql -- \N -"11111" +11111 -- !sql -- \N diff --git a/regression-test/suites/bloom_filter_p0/test_bloom_filter_hit.groovy b/regression-test/suites/bloom_filter_p0/test_bloom_filter_hit.groovy index 213afc2517..4ba1b88835 100644 --- a/regression-test/suites/bloom_filter_p0/test_bloom_filter_hit.groovy +++ b/regression-test/suites/bloom_filter_p0/test_bloom_filter_hit.groovy @@ -61,6 +61,7 @@ suite("test_bloom_filter_hit") { } sql """ SET enable_profile = true """ + sql """ set parallel_scan_min_rows_per_scanner = 2097152; """ sql """ select C_COMMENT from ${tableName} where C_COMMENT='OK' """ diff --git a/regression-test/suites/correctness_p0/test_order_by.groovy b/regression-test/suites/correctness_p0/test_order_by.groovy index 3bcb253f6d..820d2303a2 100644 --- a/regression-test/suites/correctness_p0/test_order_by.groovy +++ b/regression-test/suites/correctness_p0/test_order_by.groovy @@ -50,7 +50,7 @@ suite("test_order_by") { """ qt_select """ - select * from test_order_by order by create_time desc; + select * from test_order_by order by create_time desc, run_time desc; """ qt_select """ diff --git a/regression-test/suites/datatype_p0/date/test_date_in_predicate.groovy b/regression-test/suites/datatype_p0/date/test_date_in_predicate.groovy index 9376b0fe17..3d07cda1ee 100644 --- a/regression-test/suites/datatype_p0/date/test_date_in_predicate.groovy +++ b/regression-test/suites/datatype_p0/date/test_date_in_predicate.groovy @@ -33,9 +33,9 @@ suite("test_date_in_predicate") { sql "insert into ${tbName} values(2, 'test2', '2000-02-02', '2000-02-02')" sql "insert into ${tbName} values(3, 'test3', '2000-03-02', '2000-03-02')" - qt_sql1 "select * from ${tbName} where c2 in ('2000-02-02')" - qt_sql2 "select * from ${tbName} where c2 not in ('2000-02-02')" - qt_sql3 "select * from ${tbName} where c3 in ('2000-02-02')" - qt_sql4 "select * from ${tbName} where c3 not in ('2000-02-02')" + qt_sql1 "select * from ${tbName} where c2 in ('2000-02-02') order by 1, 2" + qt_sql2 "select * from ${tbName} where c2 not in ('2000-02-02') order by 1, 2" + qt_sql3 "select * from ${tbName} where c3 in ('2000-02-02') order by 1, 2" + qt_sql4 "select * from ${tbName} where c3 not in ('2000-02-02') order by 1, 2" sql "DROP TABLE ${tbName}" } diff --git a/regression-test/suites/mv_p0/ssb/multiple_no_where/multiple_no_where.groovy b/regression-test/suites/mv_p0/ssb/multiple_no_where/multiple_no_where.groovy index 59d4fbcede..c3cd1e9b3f 100644 --- a/regression-test/suites/mv_p0/ssb/multiple_no_where/multiple_no_where.groovy +++ b/regression-test/suites/mv_p0/ssb/multiple_no_where/multiple_no_where.groovy @@ -136,7 +136,7 @@ suite ("multiple_no_where") { sql """INSERT INTO lineorder_flat (LO_ORDERDATE, LO_ORDERKEY, LO_LINENUMBER, LO_CUSTKEY, LO_PARTKEY, LO_SUPPKEY, LO_ORDERPRIORITY, LO_SHIPPRIORITY, LO_QUANTITY, LO_EXTENDEDPRICE, LO_ORDTOTALPRICE, LO_DISCOUNT, LO_REVENUE, LO_SUPPLYCOST, LO_TAX, LO_COMMITDATE, LO_SHIPMODE, C_NAME, C_ADDRESS, C_CITY, C_NATION, C_REGION, C_PHONE, C_MKTSEGMENT, S_NAME, S_ADDRESS, S_CITY, S_NATION, S_REGION, S_PHONE, P_NAME, P_MFGR, P_CATEGORY, P_BRAND, P_COLOR,P_TYPE,P_SIZE,P_CONTAINER) VALUES (1 , 1 , 1 , 1 , 1 , 1 , '1' , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , '2023-06-09' , 'shipmode' , 'name' , 'address' , 'city' , 'nation' , 'AMERICA' , 'phone' , 'mktsegment' , 'name' , 'address' , 'city' , 'nation' , 'AMERICA' ,'phone', 'name', 'MFGR#1', 'category', 'brand', 'color', 'type', 4 ,'container');""" - qt_select_star "select * from lineorder_flat order by 1,2;" + qt_select_star "select * from lineorder_flat order by 1,2, P_MFGR;" explain { sql("""SELECT SUM(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue diff --git a/regression-test/suites/mv_p0/ssb/multiple_ssb/multiple_ssb.groovy b/regression-test/suites/mv_p0/ssb/multiple_ssb/multiple_ssb.groovy index 0c8f6ee9a7..3c84ef82b9 100644 --- a/regression-test/suites/mv_p0/ssb/multiple_ssb/multiple_ssb.groovy +++ b/regression-test/suites/mv_p0/ssb/multiple_ssb/multiple_ssb.groovy @@ -155,7 +155,7 @@ suite ("multiple_ssb") { sql """INSERT INTO lineorder_flat (LO_ORDERDATE, LO_ORDERKEY, LO_LINENUMBER, LO_CUSTKEY, LO_PARTKEY, LO_SUPPKEY, LO_ORDERPRIORITY, LO_SHIPPRIORITY, LO_QUANTITY, LO_EXTENDEDPRICE, LO_ORDTOTALPRICE, LO_DISCOUNT, LO_REVENUE, LO_SUPPLYCOST, LO_TAX, LO_COMMITDATE, LO_SHIPMODE, C_NAME, C_ADDRESS, C_CITY, C_NATION, C_REGION, C_PHONE, C_MKTSEGMENT, S_NAME, S_ADDRESS, S_CITY, S_NATION, S_REGION, S_PHONE, P_NAME, P_MFGR, P_CATEGORY, P_BRAND, P_COLOR,P_TYPE,P_SIZE,P_CONTAINER) VALUES (1 , 1 , 1 , 1 , 1 , 1 , '1' , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , '2023-06-09' , 'shipmode' , 'name' , 'address' , 'city' , 'nation' , 'AMERICA' , 'phone' , 'mktsegment' , 'name' , 'address' , 'city' , 'nation' , 'AMERICA' ,'phone', 'name', 'MFGR#1', 'category', 'brand', 'color', 'type', 4 ,'container');""" - qt_select_star "select * from lineorder_flat order by 1,2,LO_ORDERPRIORITY;" + qt_select_star "select * from lineorder_flat order by 1,2,LO_ORDERPRIORITY, P_MFGR;" explain { sql("""SELECT SUM(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue diff --git a/regression-test/suites/mv_p0/ssb/multiple_ssb_between/multiple_ssb_between.groovy b/regression-test/suites/mv_p0/ssb/multiple_ssb_between/multiple_ssb_between.groovy index 3e787d9aee..db95a084a6 100644 --- a/regression-test/suites/mv_p0/ssb/multiple_ssb_between/multiple_ssb_between.groovy +++ b/regression-test/suites/mv_p0/ssb/multiple_ssb_between/multiple_ssb_between.groovy @@ -152,7 +152,7 @@ suite ("multiple_ssb_between") { sql """INSERT INTO lineorder_flat (LO_ORDERDATE, LO_ORDERKEY, LO_LINENUMBER, LO_CUSTKEY, LO_PARTKEY, LO_SUPPKEY, LO_ORDERPRIORITY, LO_SHIPPRIORITY, LO_QUANTITY, LO_EXTENDEDPRICE, LO_ORDTOTALPRICE, LO_DISCOUNT, LO_REVENUE, LO_SUPPLYCOST, LO_TAX, LO_COMMITDATE, LO_SHIPMODE, C_NAME, C_ADDRESS, C_CITY, C_NATION, C_REGION, C_PHONE, C_MKTSEGMENT, S_NAME, S_ADDRESS, S_CITY, S_NATION, S_REGION, S_PHONE, P_NAME, P_MFGR, P_CATEGORY, P_BRAND, P_COLOR,P_TYPE,P_SIZE,P_CONTAINER) VALUES (1 , 1 , 1 , 1 , 1 , 1 , '1' , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , '2023-06-09' , 'shipmode' , 'name' , 'address' , 'city' , 'nation' , 'AMERICA' , 'phone' , 'mktsegment' , 'name' , 'address' , 'city' , 'nation' , 'AMERICA' ,'phone', 'name', 'MFGR#1', 'category', 'brand', 'color', 'type', 4 ,'container');""" - qt_select_star "select * from lineorder_flat order by 1,2;" + qt_select_star "select * from lineorder_flat order by 1,2, P_MFGR;" explain { sql("""SELECT SUM(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue diff --git a/regression-test/suites/mv_p0/ssb/q_1_1/q_1_1.groovy b/regression-test/suites/mv_p0/ssb/q_1_1/q_1_1.groovy index 780e3506c0..880f8076ef 100644 --- a/regression-test/suites/mv_p0/ssb/q_1_1/q_1_1.groovy +++ b/regression-test/suites/mv_p0/ssb/q_1_1/q_1_1.groovy @@ -98,7 +98,7 @@ suite ("mv_ssb_q_1_1") { sql """INSERT INTO lineorder_flat (LO_ORDERDATE, LO_ORDERKEY, LO_LINENUMBER, LO_CUSTKEY, LO_PARTKEY, LO_SUPPKEY, LO_ORDERPRIORITY, LO_SHIPPRIORITY, LO_QUANTITY, LO_EXTENDEDPRICE, LO_ORDTOTALPRICE, LO_DISCOUNT, LO_REVENUE, LO_SUPPLYCOST, LO_TAX, LO_COMMITDATE, LO_SHIPMODE,C_NAME,C_ADDRESS,C_CITY,C_NATION,C_REGION,C_PHONE,C_MKTSEGMENT,S_NAME,S_ADDRESS,S_CITY,S_NATION,S_REGION,S_PHONE,P_NAME,P_MFGR,P_CATEGORY,P_BRAND,P_COLOR,P_TYPE,P_SIZE,P_CONTAINER) VALUES (19930101 , 2 , 2 , 2 , 2 , 2 ,'2',2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,'2023-06-09','shipmode','name','address','city','nation','region','phone','mktsegment','name','address','city','nation','region','phone','name','mfgr','category','brand','color','type',4,'container');""" - qt_select_star "select * from lineorder_flat order by 1,2;" + qt_select_star "select * from lineorder_flat order by 1,2, P_MFGR;" explain { sql("""SELECT SUM(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue diff --git a/regression-test/suites/mv_p0/ssb/q_2_1/q_2_1.groovy b/regression-test/suites/mv_p0/ssb/q_2_1/q_2_1.groovy index e2d051e35b..e6e77a1f15 100644 --- a/regression-test/suites/mv_p0/ssb/q_2_1/q_2_1.groovy +++ b/regression-test/suites/mv_p0/ssb/q_2_1/q_2_1.groovy @@ -97,7 +97,7 @@ suite ("mv_ssb_q_2_1") { sql """INSERT INTO lineorder_flat (LO_ORDERDATE, LO_ORDERKEY, LO_LINENUMBER, LO_CUSTKEY, LO_PARTKEY, LO_SUPPKEY, LO_ORDERPRIORITY, LO_SHIPPRIORITY, LO_QUANTITY, LO_EXTENDEDPRICE, LO_ORDTOTALPRICE, LO_DISCOUNT, LO_REVENUE, LO_SUPPLYCOST, LO_TAX, LO_COMMITDATE, LO_SHIPMODE,C_NAME,C_ADDRESS,C_CITY,C_NATION,C_REGION,C_PHONE,C_MKTSEGMENT,S_NAME,S_ADDRESS,S_CITY,S_NATION,S_REGION,S_PHONE,P_NAME,P_MFGR,P_CATEGORY,P_BRAND,P_COLOR,P_TYPE,P_SIZE,P_CONTAINER) VALUES (19930101 , 2 , 2 , 2 , 2 , 2 ,'2',2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,'2023-06-09','shipmode','name','address','city','nation','region','phone','mktsegment','name','address','city','nation','region','phone','name','mfgr','category','brand','color','type',4,'container');""" - qt_select_star "select * from lineorder_flat order by 1,2;" + qt_select_star "select * from lineorder_flat order by 1,2,P_MFGR;" explain { sql("""SELECT diff --git a/regression-test/suites/mv_p0/ssb/q_3_1/q_3_1.groovy b/regression-test/suites/mv_p0/ssb/q_3_1/q_3_1.groovy index e832dd1e9f..3276593231 100644 --- a/regression-test/suites/mv_p0/ssb/q_3_1/q_3_1.groovy +++ b/regression-test/suites/mv_p0/ssb/q_3_1/q_3_1.groovy @@ -100,7 +100,7 @@ suite ("mv_ssb_q_3_1") { sql """INSERT INTO lineorder_flat (LO_ORDERDATE, LO_ORDERKEY, LO_LINENUMBER, LO_CUSTKEY, LO_PARTKEY, LO_SUPPKEY, LO_ORDERPRIORITY, LO_SHIPPRIORITY, LO_QUANTITY, LO_EXTENDEDPRICE, LO_ORDTOTALPRICE, LO_DISCOUNT, LO_REVENUE, LO_SUPPLYCOST, LO_TAX, LO_COMMITDATE, LO_SHIPMODE,C_NAME,C_ADDRESS,C_CITY,C_NATION,C_REGION,C_PHONE,C_MKTSEGMENT,S_NAME,S_ADDRESS,S_CITY,S_NATION,S_REGION,S_PHONE,P_NAME,P_MFGR,P_CATEGORY,P_BRAND,P_COLOR,P_TYPE,P_SIZE,P_CONTAINER) VALUES (19930101 , 2 , 2 , 2 , 2 , 2 ,'2',2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,'2023-06-09','shipmode','name','address','city','nation','region','phone','mktsegment','name','address','city','nation','region','phone','name','mfgr','category','brand','color','type',4,'container');""" - qt_select_star "select * from lineorder_flat order by 1,2;" + qt_select_star "select * from lineorder_flat order by 1,2,P_MFGR;" explain { sql("""SELECT diff --git a/regression-test/suites/mv_p0/ssb/q_4_1/q_4_1.groovy b/regression-test/suites/mv_p0/ssb/q_4_1/q_4_1.groovy index 788b203486..dceb006262 100644 --- a/regression-test/suites/mv_p0/ssb/q_4_1/q_4_1.groovy +++ b/regression-test/suites/mv_p0/ssb/q_4_1/q_4_1.groovy @@ -99,7 +99,7 @@ suite ("mv_ssb_q_4_1") { sql """INSERT INTO lineorder_flat (LO_ORDERDATE, LO_ORDERKEY, LO_LINENUMBER, LO_CUSTKEY, LO_PARTKEY, LO_SUPPKEY, LO_ORDERPRIORITY, LO_SHIPPRIORITY, LO_QUANTITY, LO_EXTENDEDPRICE, LO_ORDTOTALPRICE, LO_DISCOUNT, LO_REVENUE, LO_SUPPLYCOST, LO_TAX, LO_COMMITDATE, LO_SHIPMODE,C_NAME,C_ADDRESS,C_CITY,C_NATION,C_REGION,C_PHONE,C_MKTSEGMENT,S_NAME,S_ADDRESS,S_CITY,S_NATION,S_REGION,S_PHONE,P_NAME,P_MFGR,P_CATEGORY,P_BRAND,P_COLOR,P_TYPE,P_SIZE,P_CONTAINER) VALUES (2 , 2 , 2 , 2 , 2 , 2 ,'2',2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,'2023-06-09','shipmode','name','address','city','nation','region','phone','mktsegment','name','address','city','nation','region','phone','name','mfgr','category','brand','color','type',4,'container');""" - qt_select_star "select * from lineorder_flat order by 1;" + qt_select_star "select * from lineorder_flat order by 1, 2, P_MFGR;" explain { sql("""SELECT (LO_ORDERDATE DIV 10000) AS YEAR, diff --git a/regression-test/suites/query_p0/sql_functions/array_functions/test_array_with_scale_type.groovy b/regression-test/suites/query_p0/sql_functions/array_functions/test_array_with_scale_type.groovy index 5176bdf5fc..cbd6bcd01c 100644 --- a/regression-test/suites/query_p0/sql_functions/array_functions/test_array_with_scale_type.groovy +++ b/regression-test/suites/query_p0/sql_functions/array_functions/test_array_with_scale_type.groovy @@ -65,67 +65,65 @@ suite("test_array_with_scale_type") { """ qt_select "select array_min(array(cast ('2022-12-02 22:23:24.999999' as datetimev2(6))))" qt_select "select array_min(array(cast ('2022-12-02 22:23:24.999999' as datetimev2(3))))" - qt_select "select array_min(c_array_datetimev2) from ${tableName}" + qt_select "select array_min(c_array_datetimev2) from ${tableName} order by uid" qt_select "select array_max(array(cast ('2022-12-02 22:23:24.999999' as datetimev2(6))))" qt_select "select array_max(array(cast ('2022-12-02 22:23:24.999999' as datetimev2(3))))" - qt_select "select array_max(c_array_datetimev2) from ${tableName}" + qt_select "select array_max(c_array_datetimev2) from ${tableName} order by uid" qt_select "select array_min(array(cast (22.99 as decimalv3)))" qt_select "select array_min(array(cast (22.99 as decimalv3(10,3))))" qt_select "select array_min(array(cast (22.99 as decimalv3(10,6))))" - qt_select "select array_min(c_array_decimal) from ${tableName}" - qt_select "select array_min(c_array_decimalv3) from ${tableName}" + qt_select "select array_min(c_array_decimal) from ${tableName} order by uid" + qt_select "select array_min(c_array_decimalv3) from ${tableName} order by uid" qt_select "select array_max(array(cast (22.99 as decimalv3)))" qt_select "select array_max(array(cast (22.99 as decimalv3(10,3))))" qt_select "select array_max(array(cast (22.99 as decimalv3(10,6))))" - qt_select "select array_max(c_array_decimal) from ${tableName}" - qt_select "select array_max(c_array_decimalv3) from ${tableName}" + qt_select "select array_max(c_array_decimal) from ${tableName} order by uid" + qt_select "select array_max(c_array_decimalv3) from ${tableName} order by uid" - qt_select "select array(c_decimal) from ${tableName}" - qt_select "select array(cast (24.99 as decimalv3(10,3)),cast (25.99 as decimalv3(10,3))) from ${tableName}" + qt_select "select array(c_decimal) from ${tableName} order by uid" + qt_select "select array(cast (24.99 as decimalv3(10,3)),cast (25.99 as decimalv3(10,3))) from ${tableName} order by uid" qt_select "select array(cast (24.99 as decimalv3(10,3)),cast (25.99 as decimalv3(10,3)))" - qt_select "select array(c_decimalv3) from ${tableName}" - qt_select "select array(cast (24.99 as decimalv3(10,3)),cast (25.99 as decimalv3(10,3))) from ${tableName}" + qt_select "select array(c_decimalv3) from ${tableName} order by uid" + qt_select "select array(cast (24.99 as decimalv3(10,3)),cast (25.99 as decimalv3(10,3))) from ${tableName} order by uid" qt_select "select array(cast (24.99 as decimalv3(10,3)),cast (25.99 as decimalv3(10,3)))" - qt_select "select array(c_datetimev2) from ${tableName}" - qt_select "select array(cast ('2022-12-02 22:23:24.999999' as datetimev2(3)),cast ('2022-12-02 22:23:23.997799' as datetimev2(3))) from ${tableName}" + qt_select "select array(c_datetimev2) from ${tableName} order by uid" + qt_select "select array(cast ('2022-12-02 22:23:24.999999' as datetimev2(3)),cast ('2022-12-02 22:23:23.997799' as datetimev2(3))) from ${tableName} order by uid" qt_select "select array(cast ('2022-12-02 22:23:24.999999' as datetimev2(3)),cast ('2022-12-02 22:23:23.997799' as datetimev2(3)))" - qt_select """select array_apply(c_array_datetimev2, "=", '2022-12-02 22:23:24.999999') from ${tableName}""" - qt_select """select array_apply(c_array_datetimev2, ">", '2022-12-01 22:23:24.999999') from ${tableName}""" - qt_select """select array_apply(c_array_datetimev2, ">", null) from ${tableName}""" - qt_select """select array_apply(c_array_decimal, "=", 22.679) from ${tableName}""" - qt_select """select array_apply(c_array_decimal, ">=", 22.1) from ${tableName}""" - qt_select """select array_apply(c_array_decimal, ">=", null) from ${tableName}""" + qt_select """select array_apply(c_array_datetimev2, "=", '2022-12-02 22:23:24.999999') from ${tableName} order by uid""" + qt_select """select array_apply(c_array_datetimev2, ">", '2022-12-01 22:23:24.999999') from ${tableName} order by uid""" + qt_select """select array_apply(c_array_datetimev2, ">", null) from ${tableName} order by uid""" + qt_select """select array_apply(c_array_decimal, "=", 22.679) from ${tableName} order by uid""" + qt_select """select array_apply(c_array_decimal, ">=", 22.1) from ${tableName} order by uid""" + qt_select """select array_apply(c_array_decimal, ">=", null) from ${tableName} order by uid""" - qt_select """select array_concat(array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3)),cast ('2022-12-02 22:23:23.123123' as datetimev2(3)))) from ${tableName}""" - qt_select """select array_concat(c_array_datetimev2) from ${tableName}""" - qt_select """select array_concat(c_array_datetimev2, array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3)),cast ('2022-12-02 22:23:23.123123' as datetimev2(3)))) from ${tableName}""" - qt_select """select array_concat(c_array_decimal, c_array_decimal, c_array_decimal) from ${tableName}""" - qt_select """select array_zip(c_array_decimal, c_array_decimal, c_array_datetimev2, c_array_decimal) from ${tableName}""" + qt_select """select array_concat(array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3)),cast ('2022-12-02 22:23:23.123123' as datetimev2(3)))) from ${tableName} order by uid""" + qt_select """select array_concat(c_array_datetimev2) from ${tableName} order by uid""" + qt_select """select array_concat(c_array_datetimev2, array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3)),cast ('2022-12-02 22:23:23.123123' as datetimev2(3)))) from ${tableName} order by uid""" + qt_select """select array_concat(c_array_decimal, c_array_decimal, c_array_decimal) from ${tableName} order by uid""" + qt_select """select array_zip(c_array_decimal, c_array_decimal, c_array_datetimev2, c_array_decimal) from ${tableName} order by uid""" - qt_select """select array_zip(array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3)),cast ('2022-12-02 22:23:23.123123' as datetimev2(3)))) from ${tableName}""" - qt_select """select array_zip(c_array_datetimev2) from ${tableName}""" - qt_select """select array_zip(c_array_datetimev2, array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3)),cast ('2022-12-02 22:23:23.123123' as datetimev2(3)))) from ${tableName}""" + qt_select """select array_zip(array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3)),cast ('2022-12-02 22:23:23.123123' as datetimev2(3)))) from ${tableName} order by uid""" + qt_select """select array_zip(c_array_datetimev2) from ${tableName} order by uid""" + qt_select """select array_zip(c_array_datetimev2, array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3)),cast ('2022-12-02 22:23:23.123123' as datetimev2(3)))) from ${tableName} order by uid""" - qt_select "select array_pushfront(array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3))),cast ('2022-12-02 22:23:23.123123' as datetimev2(3))) from ${tableName}" - qt_select "select array_pushfront(c_array_datetimev2, cast ('2023-03-08 23:23:23.123123' as datetimev2(3))) from ${tableName}" - qt_select "select c_datetimev2, c_array_datetimev2, array_pushfront(c_array_datetimev2, c_datetimev2) from ${tableName}" - qt_select "select array_pushfront(c_array_decimal, cast (25.99 as decimalv3(10,3))) from ${tableName}" - qt_select "select c_decimal, c_array_decimal, array_pushfront(c_array_decimal, c_decimal) from ${tableName}" + qt_select "select array_pushfront(array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3))),cast ('2022-12-02 22:23:23.123123' as datetimev2(3))) from ${tableName} order by uid" + qt_select "select array_pushfront(c_array_datetimev2, cast ('2023-03-08 23:23:23.123123' as datetimev2(3))) from ${tableName} order by uid" + qt_select "select c_datetimev2, c_array_datetimev2, array_pushfront(c_array_datetimev2, c_datetimev2) from ${tableName} order by c_datetimev2, uid" + qt_select "select array_pushfront(c_array_decimal, cast (25.99 as decimalv3(10,3))) from ${tableName} order by uid" + qt_select "select c_decimal, c_array_decimal, array_pushfront(c_array_decimal, c_decimal) from ${tableName} order by c_decimal, uid" qt_select "select array_pushback(array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3))),cast ('2022-12-02 22:23:23.123123' as datetimev2(3))) from ${tableName}" qt_select "select array_pushback(c_array_datetimev2, cast ('2023-03-08 23:23:23.123123' as datetimev2(3))) from ${tableName}" - qt_select "select c_datetimev2, c_array_datetimev2, array_pushback(c_array_datetimev2, c_datetimev2) from ${tableName}" - qt_select "select array_pushback(c_array_decimal, cast (25.99 as decimalv3(10,3))) from ${tableName}" - qt_select "select c_decimal, c_array_decimal, array_pushback(c_array_decimal, c_decimal) from ${tableName}" + qt_select "select c_datetimev2, c_array_datetimev2, array_pushback(c_array_datetimev2, c_datetimev2) from ${tableName} order by c_datetimev2, uid" + qt_select "select array_pushback(c_array_decimal, cast (25.99 as decimalv3(10,3))) from ${tableName} order by uid" + qt_select "select c_decimal, c_array_decimal, array_pushback(c_array_decimal, c_decimal) from ${tableName} order by c_decimal, uid" qt_select "select array_cum_sum(array(cast (22.99 as decimal), cast (-11.99 as decimal)))" qt_select "select array_cum_sum(array(cast (22.99 as decimal(10,3)), cast (-11.99 as decimal(10,3))))" qt_select "select array_cum_sum(array(cast (22.99 as decimal(10,6)), cast (-11.991 as decimal(10,6))))" - qt_select "select array_cum_sum(c_array_decimal) from ${tableName}" - - sql "DROP TABLE IF EXISTS ${tableName}" + qt_select "select array_cum_sum(c_array_decimal) from ${tableName} order by uid" } diff --git a/regression-test/suites/query_p0/sql_functions/window_functions/test_window_fn.groovy b/regression-test/suites/query_p0/sql_functions/window_functions/test_window_fn.groovy index 17f1b6aa87..20806c9b95 100644 --- a/regression-test/suites/query_p0/sql_functions/window_functions/test_window_fn.groovy +++ b/regression-test/suites/query_p0/sql_functions/window_functions/test_window_fn.groovy @@ -117,54 +117,59 @@ suite("test_window_fn", "arrow_flight_sql") { // first_value qt_sql """ - select first_value(salary) over(order by salary range between UNBOUNDED preceding and UNBOUNDED following), lead(salary, 1, 0) over(order by salary) as l, salary from ${tbName1} order by l, salary; + select first_value(salary) over(order by salary range between UNBOUNDED preceding and UNBOUNDED following), lead(salary, 1, 0) over(order by salary) as l, salary from ${tbName1} order by 1, l, salary; """ qt_sql """ - select first_value(salary) over(order by enroll_date range between unbounded preceding and UNBOUNDED following), last_value(salary) over(order by enroll_date range between unbounded preceding and UNBOUNDED following), salary, enroll_date from ${tbName1} order by salary, enroll_date; + select + first_value(salary) over(order by enroll_date range between unbounded preceding and UNBOUNDED following) + , last_value(salary) over(order by enroll_date range between unbounded preceding and UNBOUNDED following) + , salary, enroll_date + from ${tbName1} + order by 1, 2, salary, enroll_date; """ qt_sql """ - SELECT first_value(ten) OVER (PARTITION BY four ORDER BY ten), ten, four FROM ${tbName2} WHERE unique2 < 10 order by four, ten; + SELECT first_value(ten) OVER (PARTITION BY four ORDER BY ten), ten, four FROM ${tbName2} WHERE unique2 < 10 order by 1, four, ten; """ qt_sql """ SELECT first_value(unique1) over (order by four range between current row and unbounded following), - last_value(unique1) over (order by four range between current row and unbounded following), unique1, four - FROM ${tbName2} WHERE unique1 < 10 order by unique1, four; + last_value(unique1) over (order by four, unique1 desc range between current row and unbounded following), unique1, four + FROM ${tbName2} WHERE unique1 < 10 order by 1, 2, unique1, four; """ // last_value qt_sql """ - select last_value(salary) over(order by salary range between UNBOUNDED preceding and UNBOUNDED following), lag(salary, 1, 0) over(order by salary) as l, salary from ${tbName1} order by l, salary; + select last_value(salary) over(order by salary range between UNBOUNDED preceding and UNBOUNDED following), lag(salary, 1, 0) over(order by salary) as l, salary from ${tbName1} order by 1, l, salary; """ qt_sql """ - SELECT last_value(ten) OVER (ORDER BY ten), ten, four FROM ${tbName2} WHERE unique2 < 10; + SELECT last_value(ten) OVER (ORDER BY ten), ten, four FROM ${tbName2} WHERE unique2 < 10 order by 1, 2, 3; """ qt_sql """ SELECT last_value(ten) OVER (PARTITION BY four ORDER BY ten), ten, four FROM - (SELECT * FROM ${tbName2} WHERE unique2 < 10 ORDER BY four, ten)s ORDER BY four, ten; + (SELECT * FROM ${tbName2} WHERE unique2 < 10 ORDER BY four, ten)s ORDER BY 1, 2, four, ten; """ qt_sql """ SELECT four, ten, sum(ten) over (partition by four order by ten), last_value(ten) over (partition by four order by ten) - FROM (select distinct ten, four from ${tbName2}) ss order by four, ten; + FROM (select distinct ten, four from ${tbName2}) ss order by four, ten, 3, 4; """ qt_sql """ SELECT four, ten, sum(ten) over (partition by four order by ten range between unbounded preceding and current row), last_value(ten) over (partition by four order by ten range between unbounded preceding and current row) - FROM (select distinct ten, four from ${tbName2}) ss order by four, ten; + FROM (select distinct ten, four from ${tbName2}) ss order by four, ten, 3, 4; """ qt_sql """ SELECT four, ten, sum(ten) over (partition by four order by ten range between unbounded preceding and unbounded following), last_value(ten) over (partition by four order by ten range between unbounded preceding and unbounded following) - FROM (select distinct ten, four from ${tbName2}) ss order by four, ten; + FROM (select distinct ten, four from ${tbName2}) ss order by four, ten, 3, 4; """ qt_sql """ SELECT four, ten/4 as two, sum(ten/4) over (partition by four order by ten/4 range between unbounded preceding and current row), last_value(ten/4) over (partition by four order by ten/4 range between unbounded preceding and current row) - FROM (select distinct ten, four from ${tbName2}) ss order by four, two; + FROM (select distinct ten, four from ${tbName2}) ss order by 1, 2, four, two; """ qt_sql """ SELECT four, ten/4 as two, sum(ten/4) over (partition by four order by ten/4 rows between unbounded preceding and current row), last_value(ten/4) over (partition by four order by ten/4 rows between unbounded preceding and current row) - FROM (select distinct ten, four from ${tbName2}) ss order by four, two; + FROM (select distinct ten, four from ${tbName2}) ss order by four, two, 3, 4; """ @@ -172,7 +177,7 @@ suite("test_window_fn", "arrow_flight_sql") { qt_sql """ SELECT empno, depname, salary, bonus, depadj, MIN(bonus) OVER (ORDER BY empno), MAX(depadj) OVER () FROM( SELECT *, CASE WHEN enroll_date < '2008-01-01' THEN 2008 - extract(YEAR FROM enroll_date) END * 500 AS bonus, - CASE WHEN AVG(salary) OVER (PARTITION BY depname) < salary THEN 200 END AS depadj FROM ${tbName1})s order by empno; + CASE WHEN AVG(salary) OVER (PARTITION BY depname) < salary THEN 200 END AS depadj FROM ${tbName1})s order by empno, depname, salary, bonus, depadj; """ qt_sql """ select max(enroll_date) over (order by enroll_date range between UNBOUNDED preceding and UNBOUNDED following), salary, enroll_date from ${tbName1} order by salary, enroll_date; @@ -263,7 +268,7 @@ suite("test_window_fn", "arrow_flight_sql") { """ qt_sql """ SELECT sum(unique1) over (order by four range between current row and unbounded following) as s, unique1, four - FROM ${tbName2} WHERE unique1 < 10 order by s; + FROM ${tbName2} WHERE unique1 < 10 order by s, unique1; """ qt_sql """ SELECT count() OVER () FROM ${tbName2} limit 5; diff --git a/regression-test/suites/variant_p0/column_name.groovy b/regression-test/suites/variant_p0/column_name.groovy index ae409409f5..04f939b689 100644 --- a/regression-test/suites/variant_p0/column_name.groovy +++ b/regression-test/suites/variant_p0/column_name.groovy @@ -35,7 +35,7 @@ suite("regression_test_variant_column_name", "variant_type"){ sql """insert into ${table_name} values (3, '{"": ""}')""" qt_sql """select v:`` from ${table_name} order by k""" sql """insert into ${table_name} values (4, '{"!@#^&*()": "11111"}')""" - qt_sql """select v:`!@#^&*()` from ${table_name} order by k""" + qt_sql """select cast(v:`!@#^&*()` as string) from ${table_name} order by k""" sql """insert into ${table_name} values (5, '{"123": "456", "789": "012"}')""" qt_sql """select cast(v:`123` as string) from ${table_name} order by k""" // sql """insert into ${table_name} values (6, '{"\\n123": "t123", "\\\"123": "123"}')""" diff --git a/regression-test/suites/variant_p0/compaction/test_compaction.groovy b/regression-test/suites/variant_p0/compaction/test_compaction.groovy index ee580e120d..3b4b751b2d 100644 --- a/regression-test/suites/variant_p0/compaction/test_compaction.groovy +++ b/regression-test/suites/variant_p0/compaction/test_compaction.groovy @@ -77,7 +77,7 @@ suite("test_compaction_variant") { qt_sql_2 "select k, cast(v:a as array) from ${tableName} where size(cast(v:a as array)) > 0 order by k" qt_sql_3 "select k, v:a, cast(v:b as string) from ${tableName} where length(cast(v:b as string)) > 4 order by k" // qt_sql_4 "select k, cast(v:b as string), cast(v:a as string), cast(v:c as string) from ${tableName} where order by k limit 5" - qt_sql_5 "select cast(v:b as string), cast(v:b.c as string) from ${tableName} where cast(v:b as string) != 'null' or cast(v:b as string) != '{}' order by k desc limit 10;" + qt_sql_5 "select cast(v:b as string), cast(v:b.c as string) from ${tableName} where cast(v:b as string) != 'null' or cast(v:b as string) != '{}' order by k desc, 1, 2 limit 10;" //TabletId,ReplicaId,BackendId,SchemaHash,Version,LstSuccessVersion,LstFailedVersion,LstFailedTime,LocalDataSize,RemoteDataSize,RowCount,State,LstConsistencyCheckTime,CheckVersion,VersionCount,QueryHits,PathHash,MetaUrl,CompactionStatus