diff --git a/regression-test/data/mv_p0/ut/testAggQuqeryOnAggMV6/testAggQuqeryOnAggMV6.out b/regression-test/data/mv_p0/ut/testAggQuqeryOnAggMV6/testAggQuqeryOnAggMV6.out index b10e432dadb571..b00f8fa104bddc 100644 --- a/regression-test/data/mv_p0/ut/testAggQuqeryOnAggMV6/testAggQuqeryOnAggMV6.out +++ b/regression-test/data/mv_p0/ut/testAggQuqeryOnAggMV6/testAggQuqeryOnAggMV6.out @@ -2,7 +2,21 @@ -- !select_star -- 2020-01-01 1 a 1 1 1 2020-01-01 1 a 1 1 1 +2020-01-01 1 a 1 1 1 +2020-01-01 1 a 1 1 1 +2020-01-01 1 a 1 1 1 +2020-01-01 1 a 1 1 1 +2020-01-01 1 a 1 1 1 +2020-01-01 1 a 1 1 1 +2020-01-02 2 b 2 2 2 2020-01-02 2 b 2 2 2 +2020-01-02 2 b 2 2 2 +2020-01-02 2 b 2 2 2 +2020-01-02 2 b 2 2 2 +2020-01-03 3 c 3 3 3 +2020-01-03 3 c 3 3 3 +2020-01-03 3 c 3 3 3 +2020-01-03 3 c 3 3 3 2020-01-03 3 c 3 3 3 -- !select_mv -- diff --git a/regression-test/suites/mv_p0/test_dup_mv_div/test_dup_mv_div.groovy b/regression-test/suites/mv_p0/test_dup_mv_div/test_dup_mv_div.groovy index 605973f5128a63..eb2b28b9d5ce93 100644 --- a/regression-test/suites/mv_p0/test_dup_mv_div/test_dup_mv_div.groovy +++ b/regression-test/suites/mv_p0/test_dup_mv_div/test_dup_mv_div.groovy @@ -18,6 +18,10 @@ import org.codehaus.groovy.runtime.IOGroovyMethods suite ("test_dup_mv_div") { + + String db = context.config.getDbNameByFile(context.file) + sql "use ${db}" + sql """set enable_nereids_planner=true""" sql """SET enable_fallback_to_original_planner=false""" sql """ DROP TABLE IF EXISTS d_table; """ @@ -38,16 +42,12 @@ suite ("test_dup_mv_div") { sql "insert into d_table select 2,2,2,'b';" sql "insert into d_table select 3,-3,null,'c';" - createMV ("create materialized view kdiv as select k1,k2/1 from d_table;") + create_sync_mv (db, "d_table", "kdiv", "select k1,k2/1 from d_table;") sql "insert into d_table select -4,-4,-4,'4';" qt_select_star "select * from d_table order by k1;" - // TODO reopen it when we could fix it in right way - // explain { - // sql("select k1,k2/1 from d_table order by k1;") - // contains "(kdiv)" - // } + mv_rewrite_success("select k1,k2/1 from d_table order by k1;", "kdiv") qt_select_mv "select k1,k2/1 from d_table order by k1;" -} +} \ No newline at end of file diff --git a/regression-test/suites/mv_p0/test_dup_mv_json/test_dup_mv_json.groovy b/regression-test/suites/mv_p0/test_dup_mv_json/test_dup_mv_json.groovy index da269e56f12088..5cba3c67522fba 100644 --- a/regression-test/suites/mv_p0/test_dup_mv_json/test_dup_mv_json.groovy +++ b/regression-test/suites/mv_p0/test_dup_mv_json/test_dup_mv_json.groovy @@ -18,6 +18,10 @@ import org.codehaus.groovy.runtime.IOGroovyMethods suite ("test_dup_mv_json") { + + String db = context.config.getDbNameByFile(context.file) + sql "use ${db}" + sql """set enable_nereids_planner=true""" sql """SET enable_fallback_to_original_planner=false""" sql """ DROP TABLE IF EXISTS tcu_test; """ @@ -43,27 +47,23 @@ suite ("test_dup_mv_json") { sql """insert into tcu_test values('vin78215KHVB','2023-08-23 06:47:14','2023-08-23 06:47:15','2023-08-23 06:47:15','2023-08-23 00:00:00','MessageName','MessageType','referenceId','activityID','ProtofileVersion','{"k22":{"k221":{"k2211":2023,"k2212":8,"k2213":23,"k2214":6,"k2215":47,"k2216":14},"k222":{"k2221":84,"k2222":43,"k2223":3,"k2224":{"xxxx01_u_actl":4.164,"xxxx02_u_actl":4.163,"xxxx03_u_actl":4.155,"xxxx04_u_actl":4.164,"xxxx05_u_actl":4.162,"xxxx06_u_actl":4.159,"xxxx07_u_actl":4.16,"xxxx08_u_actl":4.162,"xxxx09_u_actl":4.162,"xxxx10_u_actl":4.164,"xxxx11_u_actl":4.161,"xxxx12_u_actl":4.162,"xxxx13_u_actl":4.159,"xxxx14_u_actl":4.159,"xxxx15_u_actl":4.162,"xxxx16_u_actl":4.163,"xxxx17_u_actl":4.163,"xxxx18_u_actl":4.159,"xxxx19_u_actl":4.161,"xxxx20_u_actl":4.159,"xxxx21_u_actl":4.163,"xxxx22_u_actl":4.161,"xxxx23_u_actl":4.164,"xxxx24_u_actl":4.161,"xxxx25_u_actl":4.16,"xxxx26_u_actl":4.161,"xxxx27_u_actl":4.161,"xxxx28_u_actl":4.164,"xxxx29_u_actl":4.162,"xxxx30_u_actl":4.161,"xxxx31_u_actl":4.16,"xxxx32_u_actl":4.162,"xxxx33_u_actl":4.162,"xxxx34_u_actl":4.165,"xxxx35_u_actl":4.16,"xxxx36_u_actl":4.163,"xxxx37_u_actl":4.161,"xxxx38_u_actl":4.165,"xxxx39_u_actl":4.161,"xxxx40_u_actl":4.162,"xxxx41_u_actl":4.162,"xxxx42_u_actl":4.164,"xxxx43_u_actl":4.169,"xxxx44_u_actl":4.167,"xxxx45_u_actl":4.164,"xxxx46_u_actl":4.161,"xxxx47_u_actl":4.164,"xxxx48_u_actl":4.161,"xxxx49_u_actl":4.161,"xxxx50_u_actl":4.164,"xxxx51_u_actl":4.163,"xxxx52_u_actl":4.164,"xxxx53_u_actl":4.167,"xxxx54_u_actl":4.163,"xxxx55_u_actl":4.163,"xxxx56_u_actl":4.165,"xxxx57_u_actl":4.165,"xxxx58_u_actl":4.164,"xxxx59_u_actl":4.163,"xxxx60_u_actl":4.163,"xxxx61_u_actl":4.163,"xxxx62_u_actl":4.163,"xxxx63_u_actl":4.163,"xxxx64_u_actl":4.164,"xxxx65_u_actl":4.163,"xxxx66_u_actl":4.164,"xxxx67_u_actl":4.16,"xxxx68_u_actl":4.163,"xxxx69_u_actl":4.163,"xxxx70_u_actl":4.163,"xxxx71_u_actl":4.162,"xxxx72_u_actl":4.162,"xxxx73_u_actl":4.163,"xxxx74_u_actl":4.162,"xxxx75_u_actl":4.162,"xxxx76_u_actl":4.163,"xxxx77_u_actl":4.163,"xxxx78_u_actl":4.163,"xxxx79_u_actl":4.166,"xxxx80_u_actl":4.164,"xxxx81_u_actl":4.164,"xxxx82_u_actl":4.164,"xxxx83_u_actl":4.167,"xxxx84_u_actl":4.169},"k2225":12,"k2226":7,"k2227":2,"k2228":{"k22281":33,"k22282":32,"k22283":32,"k22284":32,"k22285":34,"k22286":33,"k22287":35,"k22288":34,"k22289":33}},"k223":{"k2231":"Run"}}}');""" - - createMV ("""create materialized view tcu_test_index as - select + create_sync_mv(db, "tcu_test", "tcu_test_index", + """select a ,(json_extract(k, '\$.k22.k222.k2224.xxxx01_u_actl')+json_extract(k, '\$.k22.k222.k2224.xxxx02_u_actl')+json_extract(k, '\$.k22.k222.k2224.xxxx03_u_actl')-greatest(json_extract(k, '\$.k22.k222.k2224.xxxx01_u_actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_u_actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_u_actl'))-least(json_extract(k, '\$.k22.k222.k2224.xxxx01_u_actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_u_actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_u_actl')))/1.0 FROM tcu_test; """ - ) + ); sql """insert into tcu_test values('vin78215KHVB','2023-08-23 06:47:14','2023-08-23 06:47:15','2023-08-23 06:47:15','2023-08-23 00:00:00','MessageName','MessageType','referenceId','activityID','ProtofileVersion','{"k22":{"k221":{"k2211":2023,"k2212":8,"k2213":23,"k2214":6,"k2215":47,"k2216":14},"k222":{"k2221":84,"k2222":43,"k2223":3,"k2224":{"xxxx01_u_actl":4.164,"xxxx02_u_actl":4.163,"xxxx03_u_actl":4.155,"xxxx04_u_actl":4.164,"xxxx05_u_actl":4.162,"xxxx06_u_actl":4.159,"xxxx07_u_actl":4.16,"xxxx08_u_actl":4.162,"xxxx09_u_actl":4.162,"xxxx10_u_actl":4.164,"xxxx11_u_actl":4.161,"xxxx12_u_actl":4.162,"xxxx13_u_actl":4.159,"xxxx14_u_actl":4.159,"xxxx15_u_actl":4.162,"xxxx16_u_actl":4.163,"xxxx17_u_actl":4.163,"xxxx18_u_actl":4.159,"xxxx19_u_actl":4.161,"xxxx20_u_actl":4.159,"xxxx21_u_actl":4.163,"xxxx22_u_actl":4.161,"xxxx23_u_actl":4.164,"xxxx24_u_actl":4.161,"xxxx25_u_actl":4.16,"xxxx26_u_actl":4.161,"xxxx27_u_actl":4.161,"xxxx28_u_actl":4.164,"xxxx29_u_actl":4.162,"xxxx30_u_actl":4.161,"xxxx31_u_actl":4.16,"xxxx32_u_actl":4.162,"xxxx33_u_actl":4.162,"xxxx34_u_actl":4.165,"xxxx35_u_actl":4.16,"xxxx36_u_actl":4.163,"xxxx37_u_actl":4.161,"xxxx38_u_actl":4.165,"xxxx39_u_actl":4.161,"xxxx40_u_actl":4.162,"xxxx41_u_actl":4.162,"xxxx42_u_actl":4.164,"xxxx43_u_actl":4.169,"xxxx44_u_actl":4.167,"xxxx45_u_actl":4.164,"xxxx46_u_actl":4.161,"xxxx47_u_actl":4.164,"xxxx48_u_actl":4.161,"xxxx49_u_actl":4.161,"xxxx50_u_actl":4.164,"xxxx51_u_actl":4.163,"xxxx52_u_actl":4.164,"xxxx53_u_actl":4.167,"xxxx54_u_actl":4.163,"xxxx55_u_actl":4.163,"xxxx56_u_actl":4.165,"xxxx57_u_actl":4.165,"xxxx58_u_actl":4.164,"xxxx59_u_actl":4.163,"xxxx60_u_actl":4.163,"xxxx61_u_actl":4.163,"xxxx62_u_actl":4.163,"xxxx63_u_actl":4.163,"xxxx64_u_actl":4.164,"xxxx65_u_actl":4.163,"xxxx66_u_actl":4.164,"xxxx67_u_actl":4.16,"xxxx68_u_actl":4.163,"xxxx69_u_actl":4.163,"xxxx70_u_actl":4.163,"xxxx71_u_actl":4.162,"xxxx72_u_actl":4.162,"xxxx73_u_actl":4.163,"xxxx74_u_actl":4.162,"xxxx75_u_actl":4.162,"xxxx76_u_actl":4.163,"xxxx77_u_actl":4.163,"xxxx78_u_actl":4.163,"xxxx79_u_actl":4.166,"xxxx80_u_actl":4.164,"xxxx81_u_actl":4.164,"xxxx82_u_actl":4.164,"xxxx83_u_actl":4.167,"xxxx84_u_actl":4.169},"k2225":12,"k2226":7,"k2227":2,"k2228":{"k22281":33,"k22282":32,"k22283":32,"k22284":32,"k22285":34,"k22286":33,"k22287":35,"k22288":34,"k22289":33}},"k223":{"k2231":"Run"}}}');""" qt_select_star "select * from tcu_test;" - // TODO reopen it when we could fix it in right way - // explain { - // sql("""select a - // ,(json_extract(k, '\$.k22.k222.k2224.xxxx01_u_actl')+json_extract(k, '\$.k22.k222.k2224.xxxx02_u_actl')+json_extract(k, '\$.k22.k222.k2224.xxxx03_u_actl')-greatest(json_extract(k, '\$.k22.k222.k2224.xxxx01_u_actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_u_actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_u_actl'))-least(json_extract(k, '\$.k22.k222.k2224.xxxx01_u_actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_u_actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_u_actl')))/1.0 - // FROM tcu_test;""") - // contains "(tcu_test_index)" - // } + mv_rewrite_success("""select a + ,(json_extract(k, '\$.k22.k222.k2224.xxxx01_u_actl')+json_extract(k, '\$.k22.k222.k2224.xxxx02_u_actl')+json_extract(k, '\$.k22.k222.k2224.xxxx03_u_actl')-greatest(json_extract(k, '\$.k22.k222.k2224.xxxx01_u_actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_u_actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_u_actl'))-least(json_extract(k, '\$.k22.k222.k2224.xxxx01_u_actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_u_actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_u_actl')))/1.0 + FROM tcu_test;""", "tcu_test_index") + qt_select_mv """select a ,(json_extract(k, '\$.k22.k222.k2224.xxxx01_u_actl')+json_extract(k, '\$.k22.k222.k2224.xxxx02_u_actl')+json_extract(k, '\$.k22.k222.k2224.xxxx03_u_actl')-greatest(json_extract(k, '\$.k22.k222.k2224.xxxx01_u_actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_u_actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_u_actl'))-least(json_extract(k, '\$.k22.k222.k2224.xxxx01_u_actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_u_actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_u_actl')))/1.0 FROM tcu_test ;""" -} +} \ No newline at end of file diff --git a/regression-test/suites/mv_p0/test_tcu/test_tcu.groovy b/regression-test/suites/mv_p0/test_tcu/test_tcu.groovy index bd88c3dbd4cd7f..a1f6b395a9176a 100644 --- a/regression-test/suites/mv_p0/test_tcu/test_tcu.groovy +++ b/regression-test/suites/mv_p0/test_tcu/test_tcu.groovy @@ -22,6 +22,9 @@ suite ("test_tcu") { sql """SET enable_fallback_to_original_planner=false""" sql """ DROP TABLE IF EXISTS tcu_test; """ + String db = context.config.getDbNameByFile(context.file) + sql "use ${db}" + sql """ CREATE TABLE `tcu_test` ( `a` varchar(50) NULL, @@ -43,9 +46,8 @@ suite ("test_tcu") { sql """insert into tcu_test values('vin78215KHVB','2023-08-23 06:47:14','2023-08-23 06:47:15','2023-08-23 06:47:15','2023-08-23 00:00:00','MessageName','MessageType','referenceId','ActivityID','ProtofileVersion','{"k22":{"k221":{"k2211":2023,"k2212":8,"k2213":23,"k2214":6,"k2215":47,"k2216":14},"k222":{"k2221":84,"k2222":43,"k2223":3,"k2224":{"xxxx01_U_Actl":4.164,"xxxx02_U_Actl":4.163,"xxxx03_U_Actl":4.155,"xxxx04_U_Actl":4.164,"xxxx05_U_Actl":4.162,"xxxx06_U_Actl":4.159,"xxxx07_U_Actl":4.16,"xxxx08_U_Actl":4.162,"xxxx09_U_Actl":4.162,"xxxx10_U_Actl":4.164,"xxxx11_U_Actl":4.161,"xxxx12_U_Actl":4.162,"xxxx13_U_Actl":4.159,"xxxx14_U_Actl":4.159,"xxxx15_U_Actl":4.162,"xxxx16_U_Actl":4.163,"xxxx17_U_Actl":4.163,"xxxx18_U_Actl":4.159,"xxxx19_U_Actl":4.161,"xxxx20_U_Actl":4.159,"xxxx21_U_Actl":4.163,"xxxx22_U_Actl":4.161,"xxxx23_U_Actl":4.164,"xxxx24_U_Actl":4.161,"xxxx25_U_Actl":4.16,"xxxx26_U_Actl":4.161,"xxxx27_U_Actl":4.161,"xxxx28_U_Actl":4.164,"xxxx29_U_Actl":4.162,"xxxx30_U_Actl":4.161,"xxxx31_U_Actl":4.16,"xxxx32_U_Actl":4.162,"xxxx33_U_Actl":4.162,"xxxx34_U_Actl":4.165,"xxxx35_U_Actl":4.16,"xxxx36_U_Actl":4.163,"xxxx37_U_Actl":4.161,"xxxx38_U_Actl":4.165,"xxxx39_U_Actl":4.161,"xxxx40_U_Actl":4.162,"xxxx41_U_Actl":4.162,"xxxx42_U_Actl":4.164,"xxxx43_U_Actl":4.169,"xxxx44_U_Actl":4.167,"xxxx45_U_Actl":4.164,"xxxx46_U_Actl":4.161,"xxxx47_U_Actl":4.164,"xxxx48_U_Actl":4.161,"xxxx49_U_Actl":4.161,"xxxx50_U_Actl":4.164,"xxxx51_U_Actl":4.163,"xxxx52_U_Actl":4.164,"xxxx53_U_Actl":4.167,"xxxx54_U_Actl":4.163,"xxxx55_U_Actl":4.163,"xxxx56_U_Actl":4.165,"xxxx57_U_Actl":4.165,"xxxx58_U_Actl":4.164,"xxxx59_U_Actl":4.163,"xxxx60_U_Actl":4.163,"xxxx61_U_Actl":4.163,"xxxx62_U_Actl":4.163,"xxxx63_U_Actl":4.163,"xxxx64_U_Actl":4.164,"xxxx65_U_Actl":4.163,"xxxx66_U_Actl":4.164,"xxxx67_U_Actl":4.16,"xxxx68_U_Actl":4.163,"xxxx69_U_Actl":4.163,"xxxx70_U_Actl":4.163,"xxxx71_U_Actl":4.162,"xxxx72_U_Actl":4.162,"xxxx73_U_Actl":4.163,"xxxx74_U_Actl":4.162,"xxxx75_U_Actl":4.162,"xxxx76_U_Actl":4.163,"xxxx77_U_Actl":4.163,"xxxx78_U_Actl":4.163,"xxxx79_U_Actl":4.166,"xxxx80_U_Actl":4.164,"xxxx81_U_Actl":4.164,"xxxx82_U_Actl":4.164,"xxxx83_U_Actl":4.167,"xxxx84_U_Actl":4.169},"k2225":12,"k2226":7,"k2227":2,"k2228":{"k22281":33,"k22282":32,"k22283":32,"k22284":32,"k22285":34,"k22286":33,"k22287":35,"k22288":34,"k22289":33}},"k223":{"k2231":"Run"}}}')""" - createMV (""" - create materialized view tcu_test_index as - select + create_sync_mv(db, "tcu_test", "tcu_test_index", + """select a as vin ,(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl')+json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl')+json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl')-greatest(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl'))-least(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl')))/1 as avg ,abs((json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl')+json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl')+json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl')-greatest(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl'))-least(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl')))/1 - greatest(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl'))) max_abs @@ -63,12 +65,9 @@ suite ("test_tcu") { ,abs((json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl')+json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl')+json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl')-greatest(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl'))-least(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl')))/1 - greatest(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl'))) max_abs ,abs((json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl')+json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl')+json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl')-greatest(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl'))-least(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl')))/1 - least(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl'))) min_abs ,greatest(abs((json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl')+json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl')+json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl')-greatest(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl'))-least(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl')))/1 - greatest(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl'))),abs((json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl')+json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl')+json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl')-greatest(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl'))-least(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl')))/1 - least(json_extract(k, '\$.k22.k222.k2224.xxxx01_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx02_U_Actl'),json_extract(k, '\$.k22.k222.k2224.xxxx03_U_Actl')))) as rs_abs_max FROM tcu_test ; - """ + """ + + mv_rewrite_success("select * from tcu_test_view;", "tcu_test_index") - // TODO reopen it when we could fix it in right way - // explain { - // sql("select * from tcu_test_view;") - // contains "(tcu_test_index)" - // } qt_select_mv "select * from tcu_test_view;" -} +} \ No newline at end of file diff --git a/regression-test/suites/mv_p0/ut/testAggQuqeryOnAggMV6/testAggQuqeryOnAggMV6.groovy b/regression-test/suites/mv_p0/ut/testAggQuqeryOnAggMV6/testAggQuqeryOnAggMV6.groovy index cdc3178b63ad2a..710174017f8591 100644 --- a/regression-test/suites/mv_p0/ut/testAggQuqeryOnAggMV6/testAggQuqeryOnAggMV6.groovy +++ b/regression-test/suites/mv_p0/ut/testAggQuqeryOnAggMV6/testAggQuqeryOnAggMV6.groovy @@ -33,15 +33,29 @@ suite ("testAggQuqeryOnAggMV6") { """ sql """insert into emps values("2020-01-01",1,"a",1,1,1);""" + sql """insert into emps values("2020-01-01",1,"a",1,1,1);""" + sql """insert into emps values("2020-01-01",1,"a",1,1,1);""" + sql """insert into emps values("2020-01-01",1,"a",1,1,1);""" + sql """insert into emps values("2020-01-01",1,"a",1,1,1);""" + sql """insert into emps values("2020-01-02",2,"b",2,2,2);""" + sql """insert into emps values("2020-01-02",2,"b",2,2,2);""" + sql """insert into emps values("2020-01-02",2,"b",2,2,2);""" sql """insert into emps values("2020-01-02",2,"b",2,2,2);""" + sql """insert into emps values("2020-01-02",2,"b",2,2,2);""" + sql """insert into emps values("2020-01-03",3,"c",3,3,3);""" + sql """insert into emps values("2020-01-03",3,"c",3,3,3);""" + sql """insert into emps values("2020-01-03",3,"c",3,3,3);""" + sql """insert into emps values("2020-01-03",3,"c",3,3,3);""" sql """insert into emps values("2020-01-03",3,"c",3,3,3);""" createMV("create materialized view emps_mv as select deptno, commission, sum(salary) from emps group by deptno, commission;") + sql """insert into emps values("2020-01-01",1,"a",1,1,1);""" + sql """insert into emps values("2020-01-01",1,"a",1,1,1);""" sql """insert into emps values("2020-01-01",1,"a",1,1,1);""" sql """analyze table emps with sync;""" - sql """alter table emps modify column time_col set stats ('row_count'='4');""" + sql """alter table emps modify column time_col set stats ('row_count'='18');""" sql """set enable_stats=false;"""