morrySnow commented on code in PR #35236:
URL: https://github.com/apache/doris/pull/35236#discussion_r1613197878
##########
regression-test/suites/nereids_rules_p0/mv/partition_mv_rewrite.groovy:
##########
@@ -158,37 +160,296 @@ suite("partition_mv_rewrite") {
sql("${partition_sql}")
contains("${mv_name}(${mv_name})")
}
- // partition is invalid, so can not use partition 2023-10-17 to rewrite
+ // base table partition data change
sql """
- insert into lineitem values
+ insert into lineitem values
(1, 2, 3, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-17', '2023-10-17',
'2023-10-17', 'a', 'b', 'yyyyyyyyy');
"""
- // wait partition is invalid
sleep(5000)
- // only can use valid partition
+
+ sql "SET enable_materialized_view_union_rewrite=false;"
+ sql "SET enable_materialized_view_rewrite=false"
+ order_qt_query_1_0_before "${all_partition_sql}"
+ sql "SET enable_materialized_view_rewrite=true"
+ explain {
+ sql("${all_partition_sql}")
+ notContains("${mv_name}(${mv_name})")
+ }
+ order_qt_query_1_0_after "${all_partition_sql}"
+
+ sql "SET enable_materialized_view_rewrite=false"
+ order_qt_query_2_0_before "${partition_sql}"
+ sql "SET enable_materialized_view_rewrite=true"
+ explain {
+ sql("${partition_sql}")
+ contains("${mv_name}(${mv_name})")
+ }
+ order_qt_query_2_0_after "${partition_sql}"
+
+ // enable union rewrite
+ sql "SET enable_materialized_view_union_rewrite=true"
+ sql "SET enable_materialized_view_rewrite=false"
+ order_qt_query_3_0_before "${all_partition_sql}"
+ sql "SET enable_materialized_view_rewrite=true"
+ explain {
+ sql("${all_partition_sql}")
+ contains("${mv_name}(${mv_name})")
+ }
+ order_qt_query_3_0_after "${all_partition_sql}"
+
+ sql "SET enable_materialized_view_rewrite=false"
+ order_qt_query_4_0_before "${partition_sql}"
+ sql "SET enable_materialized_view_rewrite=true"
+ explain {
+ sql("${partition_sql}")
+ contains("${mv_name}(${mv_name})")
+ }
+ order_qt_query_4_0_after "${partition_sql}"
+
+
+ // base table add partition
+ sql "REFRESH MATERIALIZED VIEW ${mv_name} AUTO"
sql "SET enable_materialized_view_union_rewrite=false"
- // Test query all partition when disable
enable_materialized_view_union_rewrite
- order_qt_query_all_direct_before "${all_partition_sql}"
+ waitingMTMVTaskFinished(getJobName(db, mv_name))
+ sql """
+ insert into lineitem values
+ (1, 2, 3, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-21', '2023-10-21',
'2023-10-21', 'a', 'b', 'yyyyyyyyy');
+ """
+
+ sleep(5000)
+ sql "SET enable_materialized_view_rewrite=false"
+ order_qt_query_5_0_before "${all_partition_sql}"
Review Comment:
use meaningful case name
##########
regression-test/suites/nereids_rules_p0/mv/partition_mv_rewrite.groovy:
##########
@@ -158,37 +160,296 @@ suite("partition_mv_rewrite") {
sql("${partition_sql}")
contains("${mv_name}(${mv_name})")
}
- // partition is invalid, so can not use partition 2023-10-17 to rewrite
+ // base table partition data change
sql """
- insert into lineitem values
+ insert into lineitem values
(1, 2, 3, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-17', '2023-10-17',
'2023-10-17', 'a', 'b', 'yyyyyyyyy');
"""
- // wait partition is invalid
sleep(5000)
- // only can use valid partition
+
+ sql "SET enable_materialized_view_union_rewrite=false;"
+ sql "SET enable_materialized_view_rewrite=false"
+ order_qt_query_1_0_before "${all_partition_sql}"
+ sql "SET enable_materialized_view_rewrite=true"
+ explain {
+ sql("${all_partition_sql}")
+ notContains("${mv_name}(${mv_name})")
+ }
+ order_qt_query_1_0_after "${all_partition_sql}"
+
+ sql "SET enable_materialized_view_rewrite=false"
+ order_qt_query_2_0_before "${partition_sql}"
+ sql "SET enable_materialized_view_rewrite=true"
+ explain {
+ sql("${partition_sql}")
+ contains("${mv_name}(${mv_name})")
+ }
+ order_qt_query_2_0_after "${partition_sql}"
+
+ // enable union rewrite
+ sql "SET enable_materialized_view_union_rewrite=true"
+ sql "SET enable_materialized_view_rewrite=false"
+ order_qt_query_3_0_before "${all_partition_sql}"
+ sql "SET enable_materialized_view_rewrite=true"
+ explain {
+ sql("${all_partition_sql}")
+ contains("${mv_name}(${mv_name})")
+ }
+ order_qt_query_3_0_after "${all_partition_sql}"
+
+ sql "SET enable_materialized_view_rewrite=false"
+ order_qt_query_4_0_before "${partition_sql}"
+ sql "SET enable_materialized_view_rewrite=true"
+ explain {
+ sql("${partition_sql}")
+ contains("${mv_name}(${mv_name})")
+ }
+ order_qt_query_4_0_after "${partition_sql}"
+
+
+ // base table add partition
+ sql "REFRESH MATERIALIZED VIEW ${mv_name} AUTO"
sql "SET enable_materialized_view_union_rewrite=false"
- // Test query all partition when disable
enable_materialized_view_union_rewrite
- order_qt_query_all_direct_before "${all_partition_sql}"
+ waitingMTMVTaskFinished(getJobName(db, mv_name))
+ sql """
+ insert into lineitem values
+ (1, 2, 3, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-21', '2023-10-21',
'2023-10-21', 'a', 'b', 'yyyyyyyyy');
+ """
+
+ sleep(5000)
Review Comment:
do not use sleep, real check what u want to wait
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]