diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterContext.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterContext.java index 4c8c972cd61288..7b1ab0eb824e00 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterContext.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterContext.java @@ -199,9 +199,9 @@ public void removeFilter(ExprId targetId, PhysicalHashJoin builderNode) { for (Slot target : rf.getTargetSlots()) { if (target.getExprId().equals(targetId)) { Pair pair = aliasTransferMap.get(target); - Preconditions.checkArgument(pair != null, - "cannot find slot %s in aliasTransferMap", target); - pair.first.removeAppliedRuntimeFilter(rf); + if(pair != null) { + pair.first.removeAppliedRuntimeFilter(rf); + } } } iter.remove(); diff --git a/regression-test/data/nereids_hint_tpch_p0/shape/q10.out b/regression-test/data/nereids_hint_tpch_p0/shape/q10.out index e851939352f8fb..10f56f2b5c3636 100644 --- a/regression-test/data/nereids_hint_tpch_p0/shape/q10.out +++ b/regression-test/data/nereids_hint_tpch_p0/shape/q10.out @@ -8,18 +8,18 @@ PhysicalResultSink ----------PhysicalDistribute ------------hashAgg[LOCAL] --------------PhysicalProject -----------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = orders.o_orderkey))otherCondition=() +----------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = orders.o_orderkey)) otherCondition=() build RFs:RF2 o_orderkey->[l_orderkey] ------------------PhysicalProject --------------------filter((lineitem.l_returnflag = 'R')) -----------------------PhysicalOlapScan[lineitem] +----------------------PhysicalOlapScan[lineitem] apply RFs: RF2 ------------------PhysicalDistribute --------------------PhysicalProject -----------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_nationkey = nation.n_nationkey))otherCondition=() +----------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_nationkey = nation.n_nationkey)) otherCondition=() build RFs:RF1 n_nationkey->[c_nationkey] ------------------------PhysicalDistribute --------------------------PhysicalProject -----------------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = orders.o_custkey))otherCondition=() +----------------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = orders.o_custkey)) otherCondition=() build RFs:RF0 o_custkey->[c_custkey] ------------------------------PhysicalProject ---------------------------------PhysicalOlapScan[customer] +--------------------------------PhysicalOlapScan[customer] apply RFs: RF0 RF1 ------------------------------PhysicalDistribute --------------------------------PhysicalProject ----------------------------------filter((orders.o_orderdate < '1994-01-01') and (orders.o_orderdate >= '1993-10-01')) diff --git a/regression-test/data/nereids_hint_tpch_p0/shape/q12.out b/regression-test/data/nereids_hint_tpch_p0/shape/q12.out index 57568e3f9a010c..b98f74259544fe 100644 --- a/regression-test/data/nereids_hint_tpch_p0/shape/q12.out +++ b/regression-test/data/nereids_hint_tpch_p0/shape/q12.out @@ -8,9 +8,9 @@ PhysicalResultSink ----------PhysicalDistribute ------------hashAgg[LOCAL] --------------PhysicalProject -----------------hashJoin[INNER_JOIN] hashCondition=((orders.o_orderkey = lineitem.l_orderkey))otherCondition=() +----------------hashJoin[INNER_JOIN] hashCondition=((orders.o_orderkey = lineitem.l_orderkey)) otherCondition=() build RFs:RF0 l_orderkey->[o_orderkey] ------------------PhysicalProject ---------------------PhysicalOlapScan[orders] +--------------------PhysicalOlapScan[orders] apply RFs: RF0 ------------------PhysicalProject --------------------filter((lineitem.l_commitdate < lineitem.l_receiptdate) and (lineitem.l_receiptdate < '1995-01-01') and (lineitem.l_receiptdate >= '1994-01-01') and (lineitem.l_shipdate < lineitem.l_commitdate) and l_shipmode IN ('MAIL', 'SHIP')) ----------------------PhysicalOlapScan[lineitem] diff --git a/regression-test/data/nereids_hint_tpch_p0/shape/q13.out b/regression-test/data/nereids_hint_tpch_p0/shape/q13.out index f2536ac81bd510..9521bbf2e7649a 100644 --- a/regression-test/data/nereids_hint_tpch_p0/shape/q13.out +++ b/regression-test/data/nereids_hint_tpch_p0/shape/q13.out @@ -10,11 +10,11 @@ PhysicalResultSink --------------PhysicalProject ----------------hashAgg[LOCAL] ------------------PhysicalProject ---------------------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((customer.c_custkey = orders.o_custkey))otherCondition=() +--------------------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((customer.c_custkey = orders.o_custkey)) otherCondition=() build RFs:RF0 c_custkey->[o_custkey] ----------------------PhysicalDistribute ------------------------PhysicalProject --------------------------filter(( not (o_comment like '%special%requests%'))) -----------------------------PhysicalOlapScan[orders] +----------------------------PhysicalOlapScan[orders] apply RFs: RF0 ----------------------PhysicalDistribute ------------------------PhysicalProject --------------------------PhysicalOlapScan[customer] diff --git a/regression-test/data/nereids_hint_tpch_p0/shape/q14.out b/regression-test/data/nereids_hint_tpch_p0/shape/q14.out index 2477855e425333..34e85bcda66063 100644 --- a/regression-test/data/nereids_hint_tpch_p0/shape/q14.out +++ b/regression-test/data/nereids_hint_tpch_p0/shape/q14.out @@ -6,9 +6,9 @@ PhysicalResultSink ------PhysicalDistribute --------hashAgg[LOCAL] ----------PhysicalProject -------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_partkey = part.p_partkey))otherCondition=() +------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_partkey = part.p_partkey)) otherCondition=() build RFs:RF0 l_partkey->[p_partkey] --------------PhysicalProject -----------------PhysicalOlapScan[part] +----------------PhysicalOlapScan[part] apply RFs: RF0 --------------PhysicalDistribute ----------------PhysicalProject ------------------filter((lineitem.l_shipdate < '1995-10-01') and (lineitem.l_shipdate >= '1995-09-01')) diff --git a/regression-test/data/nereids_hint_tpch_p0/shape/q16.out b/regression-test/data/nereids_hint_tpch_p0/shape/q16.out index 308e8fe65049b6..d9496138521679 100644 --- a/regression-test/data/nereids_hint_tpch_p0/shape/q16.out +++ b/regression-test/data/nereids_hint_tpch_p0/shape/q16.out @@ -7,12 +7,12 @@ PhysicalResultSink --------hashAgg[GLOBAL] ----------PhysicalDistribute ------------hashAgg[LOCAL] ---------------hashJoin[LEFT_ANTI_JOIN] hashCondition=((partsupp.ps_suppkey = supplier.s_suppkey))otherCondition=() +--------------hashJoin[LEFT_ANTI_JOIN] hashCondition=((partsupp.ps_suppkey = supplier.s_suppkey)) otherCondition=() ----------------PhysicalDistribute ------------------PhysicalProject ---------------------hashJoin[INNER_JOIN] hashCondition=((part.p_partkey = partsupp.ps_partkey))otherCondition=() +--------------------hashJoin[INNER_JOIN] hashCondition=((part.p_partkey = partsupp.ps_partkey)) otherCondition=() build RFs:RF0 p_partkey->[ps_partkey] ----------------------PhysicalProject -------------------------PhysicalOlapScan[partsupp] +------------------------PhysicalOlapScan[partsupp] apply RFs: RF0 ----------------------PhysicalProject ------------------------filter(( not (p_brand = 'Brand#45')) and ( not (p_type like 'MEDIUM POLISHED%')) and p_size IN (14, 19, 23, 3, 36, 45, 49, 9)) --------------------------PhysicalOlapScan[part] diff --git a/regression-test/data/nereids_hint_tpch_p0/shape/q19.out b/regression-test/data/nereids_hint_tpch_p0/shape/q19.out index b4f4ba8c30967c..06890457532cbb 100644 --- a/regression-test/data/nereids_hint_tpch_p0/shape/q19.out +++ b/regression-test/data/nereids_hint_tpch_p0/shape/q19.out @@ -5,11 +5,11 @@ PhysicalResultSink ----PhysicalDistribute ------hashAgg[LOCAL] --------PhysicalProject -----------hashJoin[INNER_JOIN] hashCondition=((part.p_partkey = lineitem.l_partkey))otherCondition=(((((((part.p_brand = 'Brand#12') AND p_container IN ('SM BOX', 'SM CASE', 'SM PACK', 'SM PKG')) AND ((lineitem.l_quantity >= 1.00) AND (lineitem.l_quantity <= 11.00))) AND (part.p_size <= 5)) OR ((((part.p_brand = 'Brand#23') AND p_container IN ('MED BAG', 'MED BOX', 'MED PACK', 'MED PKG')) AND ((lineitem.l_quantity >= 10.00) AND (lineitem.l_quantity <= 20.00))) AND (part.p_size <= 10))) OR ((((part.p_brand = 'Brand#34') AND p_container IN ('LG BOX', 'LG CASE', 'LG PACK', 'LG PKG')) AND ((lineitem.l_quantity >= 20.00) AND (lineitem.l_quantity <= 30.00))) AND (part.p_size <= 15)))) +----------hashJoin[INNER_JOIN] hashCondition=((part.p_partkey = lineitem.l_partkey)) otherCondition=(((((((part.p_brand = 'Brand#12') AND p_container IN ('SM BOX', 'SM CASE', 'SM PACK', 'SM PKG')) AND ((lineitem.l_quantity >= 1.00) AND (lineitem.l_quantity <= 11.00))) AND (part.p_size <= 5)) OR ((((part.p_brand = 'Brand#23') AND p_container IN ('MED BAG', 'MED BOX', 'MED PACK', 'MED PKG')) AND ((lineitem.l_quantity >= 10.00) AND (lineitem.l_quantity <= 20.00))) AND (part.p_size <= 10))) OR ((((part.p_brand = 'Brand#34') AND p_container IN ('LG BOX', 'LG CASE', 'LG PACK', 'LG PKG')) AND ((lineitem.l_quantity >= 20.00) AND (lineitem.l_quantity <= 30.00))) AND (part.p_size <= 15)))) build RFs:RF0 p_partkey->[l_partkey] ------------PhysicalDistribute --------------PhysicalProject ----------------filter(((((lineitem.l_quantity >= 1.00) AND (lineitem.l_quantity <= 11.00)) OR ((lineitem.l_quantity >= 10.00) AND (lineitem.l_quantity <= 20.00))) OR ((lineitem.l_quantity >= 20.00) AND (lineitem.l_quantity <= 30.00))) and (lineitem.l_shipinstruct = 'DELIVER IN PERSON') and l_shipmode IN ('AIR REG', 'AIR')) -------------------PhysicalOlapScan[lineitem] +------------------PhysicalOlapScan[lineitem] apply RFs: RF0 ------------PhysicalDistribute --------------PhysicalProject ----------------filter((((((part.p_brand = 'Brand#12') AND p_container IN ('SM BOX', 'SM CASE', 'SM PACK', 'SM PKG')) AND (part.p_size <= 5)) OR (((part.p_brand = 'Brand#23') AND p_container IN ('MED BAG', 'MED BOX', 'MED PACK', 'MED PKG')) AND (part.p_size <= 10))) OR (((part.p_brand = 'Brand#34') AND p_container IN ('LG BOX', 'LG CASE', 'LG PACK', 'LG PKG')) AND (part.p_size <= 15))) and (part.p_size >= 1)) diff --git a/regression-test/data/nereids_hint_tpch_p0/shape/q3.out b/regression-test/data/nereids_hint_tpch_p0/shape/q3.out index 87b731ecc772f1..25edf8184c0568 100644 --- a/regression-test/data/nereids_hint_tpch_p0/shape/q3.out +++ b/regression-test/data/nereids_hint_tpch_p0/shape/q3.out @@ -6,17 +6,17 @@ PhysicalResultSink ------PhysicalTopN[LOCAL_SORT] --------hashAgg[LOCAL] ----------PhysicalProject -------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = orders.o_orderkey))otherCondition=() +------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = orders.o_orderkey)) otherCondition=() build RFs:RF1 o_orderkey->[l_orderkey] --------------PhysicalProject ----------------filter((lineitem.l_shipdate > '1995-03-15')) -------------------PhysicalOlapScan[lineitem] +------------------PhysicalOlapScan[lineitem] apply RFs: RF1 --------------PhysicalDistribute ----------------PhysicalProject -------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = orders.o_custkey))otherCondition=() +------------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = orders.o_custkey)) otherCondition=() build RFs:RF0 c_custkey->[o_custkey] --------------------PhysicalDistribute ----------------------PhysicalProject ------------------------filter((orders.o_orderdate < '1995-03-15')) ---------------------------PhysicalOlapScan[orders] +--------------------------PhysicalOlapScan[orders] apply RFs: RF0 --------------------PhysicalDistribute ----------------------PhysicalProject ------------------------filter((customer.c_mktsegment = 'BUILDING')) diff --git a/regression-test/data/nereids_hint_tpch_p0/shape/q4.out b/regression-test/data/nereids_hint_tpch_p0/shape/q4.out index 0d105073950a7d..afdd554649a900 100644 --- a/regression-test/data/nereids_hint_tpch_p0/shape/q4.out +++ b/regression-test/data/nereids_hint_tpch_p0/shape/q4.out @@ -8,10 +8,10 @@ PhysicalResultSink ----------PhysicalDistribute ------------hashAgg[LOCAL] --------------PhysicalProject -----------------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((lineitem.l_orderkey = orders.o_orderkey))otherCondition=() +----------------hashJoin[RIGHT_SEMI_JOIN] hashCondition=((lineitem.l_orderkey = orders.o_orderkey)) otherCondition=() build RFs:RF0 o_orderkey->[l_orderkey] ------------------PhysicalProject --------------------filter((lineitem.l_commitdate < lineitem.l_receiptdate)) -----------------------PhysicalOlapScan[lineitem] +----------------------PhysicalOlapScan[lineitem] apply RFs: RF0 ------------------PhysicalProject --------------------filter((orders.o_orderdate < '1993-10-01') and (orders.o_orderdate >= '1993-07-01')) ----------------------PhysicalOlapScan[orders] diff --git a/regression-test/data/nereids_hint_tpch_p0/shape/q5.out b/regression-test/data/nereids_hint_tpch_p0/shape/q5.out index df95bf5e704c97..da3b8168d97bad 100644 --- a/regression-test/data/nereids_hint_tpch_p0/shape/q5.out +++ b/regression-test/data/nereids_hint_tpch_p0/shape/q5.out @@ -8,28 +8,28 @@ PhysicalResultSink ----------PhysicalDistribute ------------hashAgg[LOCAL] --------------PhysicalProject -----------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = orders.o_custkey) and (customer.c_nationkey = supplier.s_nationkey))otherCondition=() +----------------hashJoin[INNER_JOIN] hashCondition=((customer.c_custkey = orders.o_custkey) and (customer.c_nationkey = supplier.s_nationkey)) otherCondition=() build RFs:RF4 c_nationkey->[s_nationkey];RF5 c_custkey->[o_custkey] ------------------PhysicalDistribute --------------------PhysicalProject -----------------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = orders.o_orderkey))otherCondition=() +----------------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_orderkey = orders.o_orderkey)) otherCondition=() build RFs:RF3 o_orderkey->[l_orderkey] ------------------------PhysicalDistribute --------------------------PhysicalProject -----------------------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_suppkey = supplier.s_suppkey))otherCondition=() +----------------------------hashJoin[INNER_JOIN] hashCondition=((lineitem.l_suppkey = supplier.s_suppkey)) otherCondition=() build RFs:RF2 s_suppkey->[l_suppkey] ------------------------------PhysicalDistribute --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[lineitem] +----------------------------------PhysicalOlapScan[lineitem] apply RFs: RF2 RF3 ------------------------------PhysicalDistribute --------------------------------PhysicalProject -----------------------------------hashJoin[INNER_JOIN] hashCondition=((supplier.s_nationkey = nation.n_nationkey))otherCondition=() +----------------------------------hashJoin[INNER_JOIN] hashCondition=((supplier.s_nationkey = nation.n_nationkey)) otherCondition=() build RFs:RF1 n_nationkey->[s_nationkey] ------------------------------------PhysicalDistribute --------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[supplier] +----------------------------------------PhysicalOlapScan[supplier] apply RFs: RF1 RF4 ------------------------------------PhysicalDistribute --------------------------------------PhysicalProject -----------------------------------------hashJoin[INNER_JOIN] hashCondition=((nation.n_regionkey = region.r_regionkey))otherCondition=() +----------------------------------------hashJoin[INNER_JOIN] hashCondition=((nation.n_regionkey = region.r_regionkey)) otherCondition=() build RFs:RF0 r_regionkey->[n_regionkey] ------------------------------------------PhysicalDistribute --------------------------------------------PhysicalProject -----------------------------------------------PhysicalOlapScan[nation] +----------------------------------------------PhysicalOlapScan[nation] apply RFs: RF0 ------------------------------------------PhysicalDistribute --------------------------------------------PhysicalProject ----------------------------------------------filter((region.r_name = 'ASIA')) @@ -37,7 +37,7 @@ PhysicalResultSink ------------------------PhysicalDistribute --------------------------PhysicalProject ----------------------------filter((orders.o_orderdate < '1995-01-01') and (orders.o_orderdate >= '1994-01-01')) -------------------------------PhysicalOlapScan[orders] +------------------------------PhysicalOlapScan[orders] apply RFs: RF5 ------------------PhysicalDistribute --------------------PhysicalProject ----------------------PhysicalOlapScan[customer] diff --git a/regression-test/data/nereids_hint_tpch_p0/shape/q9.out b/regression-test/data/nereids_hint_tpch_p0/shape/q9.out index b5fbe20655d54f..f984bd9ea88c63 100644 --- a/regression-test/data/nereids_hint_tpch_p0/shape/q9.out +++ b/regression-test/data/nereids_hint_tpch_p0/shape/q9.out @@ -8,31 +8,31 @@ PhysicalResultSink ----------PhysicalDistribute ------------hashAgg[LOCAL] --------------PhysicalProject -----------------hashJoin[INNER_JOIN] hashCondition=((partsupp.ps_partkey = lineitem.l_partkey) and (partsupp.ps_suppkey = lineitem.l_suppkey))otherCondition=() +----------------hashJoin[INNER_JOIN] hashCondition=((partsupp.ps_partkey = lineitem.l_partkey) and (partsupp.ps_suppkey = lineitem.l_suppkey)) otherCondition=() build RFs:RF4 ps_partkey->[l_partkey];RF5 ps_suppkey->[l_suppkey] ------------------PhysicalDistribute --------------------PhysicalProject -----------------------hashJoin[INNER_JOIN] hashCondition=((orders.o_orderkey = lineitem.l_orderkey))otherCondition=() +----------------------hashJoin[INNER_JOIN] hashCondition=((orders.o_orderkey = lineitem.l_orderkey)) otherCondition=() build RFs:RF3 l_orderkey->[o_orderkey] ------------------------PhysicalProject ---------------------------PhysicalOlapScan[orders] +--------------------------PhysicalOlapScan[orders] apply RFs: RF3 ------------------------PhysicalDistribute --------------------------PhysicalProject -----------------------------hashJoin[INNER_JOIN] hashCondition=((supplier.s_suppkey = lineitem.l_suppkey))otherCondition=() +----------------------------hashJoin[INNER_JOIN] hashCondition=((supplier.s_suppkey = lineitem.l_suppkey)) otherCondition=() build RFs:RF2 s_suppkey->[l_suppkey] ------------------------------PhysicalDistribute --------------------------------PhysicalProject -----------------------------------hashJoin[INNER_JOIN] hashCondition=((part.p_partkey = lineitem.l_partkey))otherCondition=() +----------------------------------hashJoin[INNER_JOIN] hashCondition=((part.p_partkey = lineitem.l_partkey)) otherCondition=() build RFs:RF1 p_partkey->[l_partkey] ------------------------------------PhysicalDistribute --------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[lineitem] +----------------------------------------PhysicalOlapScan[lineitem] apply RFs: RF1 RF2 RF4 RF5 ------------------------------------PhysicalDistribute --------------------------------------PhysicalProject ----------------------------------------filter((p_name like '%green%')) ------------------------------------------PhysicalOlapScan[part] ------------------------------PhysicalDistribute --------------------------------PhysicalProject -----------------------------------hashJoin[INNER_JOIN] hashCondition=((supplier.s_nationkey = nation.n_nationkey))otherCondition=() +----------------------------------hashJoin[INNER_JOIN] hashCondition=((supplier.s_nationkey = nation.n_nationkey)) otherCondition=() build RFs:RF0 n_nationkey->[s_nationkey] ------------------------------------PhysicalDistribute --------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[supplier] +----------------------------------------PhysicalOlapScan[supplier] apply RFs: RF0 ------------------------------------PhysicalDistribute --------------------------------------PhysicalProject ----------------------------------------PhysicalOlapScan[nation] diff --git a/regression-test/data/nereids_p0/cte/test_cte_filter_pushdown.out b/regression-test/data/nereids_p0/cte/test_cte_filter_pushdown.out index 1c07885350e008..2a984c18fccc7a 100644 --- a/regression-test/data/nereids_p0/cte/test_cte_filter_pushdown.out +++ b/regression-test/data/nereids_p0/cte/test_cte_filter_pushdown.out @@ -10,7 +10,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --PhysicalResultSink ----PhysicalDistribute ------PhysicalProject ---------hashJoin[INNER_JOIN] hashCondition=((m1.k1 = m2.k1))otherCondition=() +--------hashJoin[INNER_JOIN] hashCondition=((m1.k1 = m2.k1)) otherCondition=() ----------PhysicalDistribute ------------filter((temp.k1 = 1)) --------------PhysicalCteConsumer ( cteId=CTEId#0 ) @@ -32,7 +32,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --PhysicalResultSink ----PhysicalDistribute ------PhysicalProject ---------hashJoin[INNER_JOIN] hashCondition=((m1.k1 = m2.k1))otherCondition=() +--------hashJoin[INNER_JOIN] hashCondition=((m1.k1 = m2.k1)) otherCondition=() ----------PhysicalDistribute ------------filter((temp.k1 = 1)) --------------PhysicalCteConsumer ( cteId=CTEId#0 ) diff --git a/regression-test/data/nereids_p0/eliminate_outer_join/eliminate_outer_join.out b/regression-test/data/nereids_p0/eliminate_outer_join/eliminate_outer_join.out index a5fe3687d1aebe..127f3a19966a1a 100644 --- a/regression-test/data/nereids_p0/eliminate_outer_join/eliminate_outer_join.out +++ b/regression-test/data/nereids_p0/eliminate_outer_join/eliminate_outer_join.out @@ -1,23 +1,23 @@ -- This file is automatically generated. You should know what you did if you want to edit this -- !1 -- PhysicalResultSink ---hashJoin[INNER_JOIN] hashCondition=((partsupp.ps_suppkey = supplier.s_suppkey))otherCondition=() -----hashJoin[INNER_JOIN] hashCondition=((nation.n_nationkey = supplier.s_suppkey))otherCondition=() -------hashJoin[INNER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey))otherCondition=() ---------PhysicalOlapScan[region] +--hashJoin[INNER_JOIN] hashCondition=((partsupp.ps_suppkey = supplier.s_suppkey)) otherCondition=() build RFs:RF2 ps_suppkey->[s_suppkey] +----hashJoin[INNER_JOIN] hashCondition=((nation.n_nationkey = supplier.s_suppkey)) otherCondition=() build RFs:RF1 s_suppkey->[n_nationkey] +------hashJoin[INNER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey)) otherCondition=() build RFs:RF0 n_regionkey->[r_regionkey] +--------PhysicalOlapScan[region] apply RFs: RF0 --------filter(( not n_nationkey IS NULL) and (nation.n_nationkey > 1)) -----------PhysicalOlapScan[nation] +----------PhysicalOlapScan[nation] apply RFs: RF1 ------filter(( not s_suppkey IS NULL) and (supplier.s_suppkey > 1)) ---------PhysicalOlapScan[supplier] +--------PhysicalOlapScan[supplier] apply RFs: RF2 ----filter(( not ps_suppkey IS NULL) and (partsupp.ps_suppkey > 1)) ------PhysicalOlapScan[partsupp] -- !2 -- PhysicalResultSink ---hashJoin[RIGHT_OUTER_JOIN] hashCondition=((partsupp.ps_suppkey = supplier.s_suppkey))otherCondition=() +--hashJoin[RIGHT_OUTER_JOIN] hashCondition=((partsupp.ps_suppkey = supplier.s_suppkey)) otherCondition=() ----filter((supplier.s_suppkey > 1)) -------hashJoin[FULL_OUTER_JOIN] hashCondition=((nation.n_nationkey = supplier.s_suppkey))otherCondition=() ---------hashJoin[FULL_OUTER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey))otherCondition=() +------hashJoin[FULL_OUTER_JOIN] hashCondition=((nation.n_nationkey = supplier.s_suppkey)) otherCondition=() +--------hashJoin[FULL_OUTER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey)) otherCondition=() ----------PhysicalOlapScan[region] ----------PhysicalOlapScan[nation] --------PhysicalOlapScan[supplier] @@ -26,10 +26,10 @@ PhysicalResultSink -- !3 -- PhysicalResultSink ---hashJoin[RIGHT_OUTER_JOIN] hashCondition=((partsupp.ps_suppkey = supplier.s_suppkey))otherCondition=() +--hashJoin[RIGHT_OUTER_JOIN] hashCondition=((partsupp.ps_suppkey = supplier.s_suppkey)) otherCondition=() ----filter((supplier.s_suppkey > 1)) -------hashJoin[LEFT_OUTER_JOIN] hashCondition=((nation.n_nationkey = supplier.s_suppkey))otherCondition=() ---------hashJoin[FULL_OUTER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey))otherCondition=() +------hashJoin[LEFT_OUTER_JOIN] hashCondition=((nation.n_nationkey = supplier.s_suppkey)) otherCondition=() +--------hashJoin[FULL_OUTER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey)) otherCondition=() ----------PhysicalOlapScan[region] ----------PhysicalOlapScan[nation] --------PhysicalOlapScan[supplier] @@ -38,15 +38,15 @@ PhysicalResultSink -- !4 -- PhysicalResultSink ---hashJoin[LEFT_OUTER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey))otherCondition=() +--hashJoin[LEFT_OUTER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey)) otherCondition=() ----filter(( not r_name IS NULL) and (region.r_name = '')) ------PhysicalOlapScan[region] ----PhysicalOlapScan[nation] -- !5 -- PhysicalResultSink ---hashJoin[LEFT_OUTER_JOIN] hashCondition=((nation.n_nationkey = supplier.s_suppkey))otherCondition=() -----hashJoin[LEFT_OUTER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey))otherCondition=() +--hashJoin[LEFT_OUTER_JOIN] hashCondition=((nation.n_nationkey = supplier.s_suppkey)) otherCondition=() +----hashJoin[LEFT_OUTER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey)) otherCondition=() ------filter(( not r_name IS NULL) and (region.r_name = '')) --------PhysicalOlapScan[region] ------PhysicalOlapScan[nation] @@ -54,9 +54,9 @@ PhysicalResultSink -- !6 -- PhysicalResultSink ---hashJoin[LEFT_OUTER_JOIN] hashCondition=((partsupp.ps_suppkey = supplier.s_suppkey))otherCondition=() -----hashJoin[LEFT_OUTER_JOIN] hashCondition=((nation.n_nationkey = supplier.s_suppkey))otherCondition=() -------hashJoin[LEFT_OUTER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey))otherCondition=() +--hashJoin[LEFT_OUTER_JOIN] hashCondition=((partsupp.ps_suppkey = supplier.s_suppkey)) otherCondition=() +----hashJoin[LEFT_OUTER_JOIN] hashCondition=((nation.n_nationkey = supplier.s_suppkey)) otherCondition=() +------hashJoin[LEFT_OUTER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey)) otherCondition=() --------filter(( not r_name IS NULL) and (region.r_name = '')) ----------PhysicalOlapScan[region] --------PhysicalOlapScan[nation] @@ -65,11 +65,11 @@ PhysicalResultSink -- !7 -- PhysicalResultSink ---hashJoin[FULL_OUTER_JOIN] hashCondition=((partsupp.ps_suppkey = supplier.s_suppkey))otherCondition=() -----hashJoin[LEFT_OUTER_JOIN] hashCondition=((nation.n_nationkey = supplier.s_suppkey))otherCondition=() -------hashJoin[INNER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey))otherCondition=() +--hashJoin[FULL_OUTER_JOIN] hashCondition=((partsupp.ps_suppkey = supplier.s_suppkey)) otherCondition=() +----hashJoin[LEFT_OUTER_JOIN] hashCondition=((nation.n_nationkey = supplier.s_suppkey)) otherCondition=() +------hashJoin[INNER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey)) otherCondition=() build RFs:RF0 n_regionkey->[r_regionkey] --------filter(( not r_regionkey IS NULL)) -----------PhysicalOlapScan[region] +----------PhysicalOlapScan[region] apply RFs: RF0 --------filter(( not n_regionkey IS NULL)) ----------PhysicalOlapScan[nation] ------PhysicalOlapScan[supplier] @@ -77,11 +77,11 @@ PhysicalResultSink -- !8 -- PhysicalResultSink ---hashJoin[LEFT_OUTER_JOIN] hashCondition=((partsupp.ps_suppkey = supplier.s_suppkey))otherCondition=() -----hashJoin[LEFT_OUTER_JOIN] hashCondition=((nation.n_nationkey = supplier.s_suppkey))otherCondition=() -------hashJoin[INNER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey))otherCondition=() +--hashJoin[LEFT_OUTER_JOIN] hashCondition=((partsupp.ps_suppkey = supplier.s_suppkey)) otherCondition=() +----hashJoin[LEFT_OUTER_JOIN] hashCondition=((nation.n_nationkey = supplier.s_suppkey)) otherCondition=() +------hashJoin[INNER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey)) otherCondition=() build RFs:RF0 n_regionkey->[r_regionkey] --------filter(( not r_name IS NULL) and ( not r_regionkey IS NULL) and (region.r_name = '')) -----------PhysicalOlapScan[region] +----------PhysicalOlapScan[region] apply RFs: RF0 --------filter(( not n_regionkey IS NULL)) ----------PhysicalOlapScan[nation] ------PhysicalOlapScan[supplier] @@ -89,13 +89,13 @@ PhysicalResultSink -- !9 -- PhysicalResultSink ---hashJoin[LEFT_OUTER_JOIN] hashCondition=((partsupp.ps_suppkey = supplier.s_suppkey))otherCondition=() -----hashJoin[INNER_JOIN] hashCondition=((nation.n_nationkey = supplier.s_suppkey))otherCondition=() -------hashJoin[INNER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey))otherCondition=() +--hashJoin[LEFT_OUTER_JOIN] hashCondition=((partsupp.ps_suppkey = supplier.s_suppkey)) otherCondition=() +----hashJoin[INNER_JOIN] hashCondition=((nation.n_nationkey = supplier.s_suppkey)) otherCondition=() build RFs:RF1 s_suppkey->[n_nationkey] +------hashJoin[INNER_JOIN] hashCondition=((region.r_regionkey = nation.n_regionkey)) otherCondition=() build RFs:RF0 n_regionkey->[r_regionkey] --------filter(( not r_name IS NULL) and ( not r_regionkey IS NULL) and (region.r_name = '')) -----------PhysicalOlapScan[region] +----------PhysicalOlapScan[region] apply RFs: RF0 --------filter(( not n_regionkey IS NULL)) -----------PhysicalOlapScan[nation] +----------PhysicalOlapScan[nation] apply RFs: RF1 ------PhysicalOlapScan[supplier] ----PhysicalOlapScan[partsupp] diff --git a/regression-test/suites/nereids_p0/cte/test_cte_filter_pushdown.groovy b/regression-test/suites/nereids_p0/cte/test_cte_filter_pushdown.groovy index 8f08721f6cd3a5..53ae45f7c0ffd9 100644 --- a/regression-test/suites/nereids_p0/cte/test_cte_filter_pushdown.groovy +++ b/regression-test/suites/nereids_p0/cte/test_cte_filter_pushdown.groovy @@ -14,11 +14,11 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. -suite("test_cte_filter_pushdown)") { +suite("test_cte_filter_pushdown") { sql "SET enable_nereids_planner=true" sql "SET enable_pipeline_engine=true" sql "SET enable_fallback_to_original_planner=false" - + sql "set enable_runtime_filter_prune=false" // CTE filter pushing down with the same filter qt_cte_filter_pushdown_1 """ explain shape plan diff --git a/regression-test/suites/nereids_p0/eliminate_outer_join/eliminate_outer_join.groovy b/regression-test/suites/nereids_p0/eliminate_outer_join/eliminate_outer_join.groovy index 8fca1676497222..b66f462facd369 100644 --- a/regression-test/suites/nereids_p0/eliminate_outer_join/eliminate_outer_join.groovy +++ b/regression-test/suites/nereids_p0/eliminate_outer_join/eliminate_outer_join.groovy @@ -22,6 +22,7 @@ suite("eliminate_outer_join") { sql "set disable_join_reorder=true" sql "set forbid_unknown_col_stats=false" sql "set enable_bucket_shuffle_join=false" + sql "set enable_runtime_filter_prune=false" sql """ set ignore_shape_nodes='PhysicalDistribute, PhysicalProject' """