This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch branch-4.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-4.1 by this push:
     new dfd31a91f14 branch-4.1: [opt](nereids) when we check if there is a 
target for runtime filter, we should use ctx.probeSlot not ctx.probeExpr #57425 
(#64280)
dfd31a91f14 is described below

commit dfd31a91f14681aa77c9ef59181bf6ba9743628e
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Jun 22 12:27:14 2026 +0800

    branch-4.1: [opt](nereids) when we check if there is a target for runtime 
filter, we should use ctx.probeSlot not ctx.probeExpr #57425 (#64280)
    
    Cherry-picked from #57425
    
    Co-authored-by: minghong <[email protected]>
---
 .../post/RuntimeFilterPushDownVisitor.java         |  2 +-
 .../plans/physical/PhysicalNestedLoopJoin.java     |  8 +++++-
 .../tpcds_sf100/noStatsRfPrune/query2.out          |  8 +++---
 .../tpcds_sf100/no_stats_shape/query2.out          |  8 +++---
 .../shape_check/tpcds_sf100/rf_prune/query2.out    |  4 +--
 .../shape_check/tpcds_sf100/rf_prune/query59.out   |  4 +--
 .../data/shape_check/tpcds_sf100/shape/query2.out  |  4 +--
 .../data/shape_check/tpcds_sf100/shape/query59.out |  4 +--
 .../data/shape_check/tpcds_sf1000/hint/query2.out  |  4 +--
 .../data/shape_check/tpcds_sf1000/hint/query59.out |  4 +--
 .../data/shape_check/tpcds_sf1000/shape/query2.out |  4 +--
 .../shape_check/tpcds_sf1000/shape/query54.out     | 30 +++++++++++-----------
 .../shape_check/tpcds_sf1000/shape/query59.out     |  4 +--
 .../shape_check/tpcds_sf10t_orc/shape/query2.out   |  8 +++---
 .../shape_check/tpcds_sf10t_orc/shape/query59.out  |  6 ++---
 .../shape_check/tpcds_sf1000/shape/query54.groovy  |  2 +-
 16 files changed, 55 insertions(+), 49 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterPushDownVisitor.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterPushDownVisitor.java
index 9175058cfcf..9f66129f07a 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterPushDownVisitor.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterPushDownVisitor.java
@@ -273,7 +273,7 @@ public class RuntimeFilterPushDownVisitor extends 
PlanVisitor<Boolean, PushDownC
         probExprList.add(ctx.probeExpr);
         Pair<PhysicalRelation, Slot> srcPair = 
ctx.rfContext.getAliasTransferMap().get(ctx.srcExpr);
         PhysicalRelation srcNode = (srcPair == null) ? null : srcPair.first;
-        Pair<PhysicalRelation, Slot> targetPair = 
ctx.rfContext.getAliasTransferMap().get(ctx.probeExpr);
+        Pair<PhysicalRelation, Slot> targetPair = 
ctx.rfContext.getAliasTransferMap().get(ctx.probeSlot);
         if (targetPair == null) {
             /* cases for "targetPair is null"
              when probeExpr is output slot of setOperator, targetPair is null
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalNestedLoopJoin.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalNestedLoopJoin.java
index 609ebefbeff..c3a24b5e446 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalNestedLoopJoin.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalNestedLoopJoin.java
@@ -230,7 +230,13 @@ public class PhysicalNestedLoopJoin<
         } else {
             otherJoinConjuncts.forEach(expr -> 
builder.append(expr.shapeInfo()));
         }
-
+        if (!runtimeFilters.isEmpty()) {
+            builder.append(" build RFs:").append(runtimeFilters.stream()
+                    .map(rf -> 
rf.shapeInfo()).collect(Collectors.joining(";")));
+        }
+        if (!runtimeFiltersV2.isEmpty()) {
+            builder.append(" RFV2: ").append(runtimeFiltersV2);
+        }
         return builder.toString();
     }
 
diff --git 
a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query2.out 
b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query2.out
index 5236760c47c..19e82920b92 100644
--- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query2.out
+++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query2.out
@@ -21,18 +21,18 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 ------PhysicalDistribute[DistributionSpecGather]
 --------PhysicalQuickSort[LOCAL_SORT]
 ----------PhysicalProject
-------------hashJoin[INNER_JOIN broadcast] hashCondition=((date_dim.d_week_seq 
= d_week_seq1)) otherCondition=() build RFs:RF2 d_week_seq->[d_week_seq]
+------------hashJoin[INNER_JOIN broadcast] hashCondition=((date_dim.d_week_seq 
= d_week_seq1)) otherCondition=() build RFs:RF3 d_week_seq->[d_week_seq]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((expr_cast(d_week_seq1 as BIGINT) = expr_(cast(d_week_seq2 as 
BIGINT) - 53))) otherCondition=()
+----------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((expr_cast(d_week_seq1 as BIGINT) = expr_(cast(d_week_seq2 as 
BIGINT) - 53))) otherCondition=() build RFs:RF2 expr_cast(d_week_seq1 as 
BIGINT)->[(cast(d_week_seq as BIGINT) - 53)]
 ------------------PhysicalProject
 --------------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((date_dim.d_week_seq = d_week_seq2)) otherCondition=() build 
RFs:RF1 d_week_seq->[d_week_seq]
 ----------------------PhysicalProject
-------------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF1
+------------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF1 
RF2
 ----------------------PhysicalProject
 ------------------------filter((date_dim.d_year = 1999))
 --------------------------PhysicalOlapScan[date_dim]
 ------------------PhysicalProject
---------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF2
+--------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF3
 --------------PhysicalProject
 ----------------filter((date_dim.d_year = 1998))
 ------------------PhysicalOlapScan[date_dim]
diff --git 
a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query2.out 
b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query2.out
index b9499df831a..5ed4762bd44 100644
--- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query2.out
+++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query2.out
@@ -21,18 +21,18 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 ------PhysicalDistribute[DistributionSpecGather]
 --------PhysicalQuickSort[LOCAL_SORT]
 ----------PhysicalProject
-------------hashJoin[INNER_JOIN broadcast] hashCondition=((date_dim.d_week_seq 
= d_week_seq1)) otherCondition=() build RFs:RF2 d_week_seq->[d_week_seq]
+------------hashJoin[INNER_JOIN broadcast] hashCondition=((date_dim.d_week_seq 
= d_week_seq1)) otherCondition=() build RFs:RF3 d_week_seq->[d_week_seq]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((expr_cast(d_week_seq1 as BIGINT) = expr_(cast(d_week_seq2 as 
BIGINT) - 53))) otherCondition=()
+----------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((expr_cast(d_week_seq1 as BIGINT) = expr_(cast(d_week_seq2 as 
BIGINT) - 53))) otherCondition=() build RFs:RF2 expr_cast(d_week_seq1 as 
BIGINT)->[(cast(d_week_seq as BIGINT) - 53)]
 ------------------PhysicalProject
 --------------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((date_dim.d_week_seq = d_week_seq2)) otherCondition=() build 
RFs:RF1 d_week_seq->[d_week_seq]
 ----------------------PhysicalProject
-------------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF1
+------------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF1 
RF2
 ----------------------PhysicalProject
 ------------------------filter((date_dim.d_year = 1999))
 --------------------------PhysicalOlapScan[date_dim]
 ------------------PhysicalProject
---------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF2
+--------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF3
 --------------PhysicalProject
 ----------------filter((date_dim.d_year = 1998))
 ------------------PhysicalOlapScan[date_dim]
diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query2.out 
b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query2.out
index 08ba0d4fc6a..41ad24ad066 100644
--- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query2.out
+++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query2.out
@@ -25,11 +25,11 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 ------PhysicalDistribute[DistributionSpecGather]
 --------PhysicalQuickSort[LOCAL_SORT]
 ----------PhysicalProject
-------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((expr_cast(d_week_seq1 as BIGINT) = expr_(cast(d_week_seq2 as 
BIGINT) - 53))) otherCondition=()
+------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((expr_cast(d_week_seq1 as BIGINT) = expr_(cast(d_week_seq2 as 
BIGINT) - 53))) otherCondition=() build RFs:RF3 expr_(cast(d_week_seq2 as 
BIGINT) - 53)->[cast(d_week_seq as BIGINT)]
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((date_dim.d_week_seq = d_week_seq1)) otherCondition=() build 
RFs:RF2 d_week_seq->[d_week_seq]
 ------------------PhysicalProject
---------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF2
+--------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF2 RF3
 ------------------PhysicalProject
 --------------------filter((date_dim.d_year = 1998))
 ----------------------PhysicalOlapScan[date_dim]
diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query59.out 
b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query59.out
index d2a2c7010d3..a469768f451 100644
--- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query59.out
+++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query59.out
@@ -19,13 +19,13 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
 ------PhysicalDistribute[DistributionSpecGather]
 --------PhysicalTopN[LOCAL_SORT]
 ----------PhysicalProject
-------------hashJoin[INNER_JOIN shuffle] hashCondition=((expr_cast(d_week_seq1 
as BIGINT) = expr_(cast(d_week_seq2 as BIGINT) - 52)) and (y.s_store_id1 = 
x.s_store_id2)) otherCondition=() build RFs:RF5 s_store_id2->[s_store_id]
+------------hashJoin[INNER_JOIN shuffle] hashCondition=((expr_cast(d_week_seq1 
as BIGINT) = expr_(cast(d_week_seq2 as BIGINT) - 52)) and (y.s_store_id1 = 
x.s_store_id2)) otherCondition=() build RFs:RF5 s_store_id2->[s_store_id];RF6 
expr_(cast(d_week_seq2 as BIGINT) - 52)->[cast(d_week_seq as BIGINT)]
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN broadcast] hashCondition=((d.d_week_seq = 
d_week_seq1)) otherCondition=() build RFs:RF4 d_week_seq->[d_week_seq]
 ------------------PhysicalProject
 --------------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((wss.ss_store_sk = store.s_store_sk)) otherCondition=() build 
RFs:RF3 s_store_sk->[ss_store_sk]
 ----------------------PhysicalProject
-------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) apply RFs: RF3 
RF4
+------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) apply RFs: RF3 
RF4 RF6
 ----------------------PhysicalProject
 ------------------------PhysicalOlapScan[store] apply RFs: RF5
 ------------------PhysicalProject
diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query2.out 
b/regression-test/data/shape_check/tpcds_sf100/shape/query2.out
index 08ba0d4fc6a..41ad24ad066 100644
--- a/regression-test/data/shape_check/tpcds_sf100/shape/query2.out
+++ b/regression-test/data/shape_check/tpcds_sf100/shape/query2.out
@@ -25,11 +25,11 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 ------PhysicalDistribute[DistributionSpecGather]
 --------PhysicalQuickSort[LOCAL_SORT]
 ----------PhysicalProject
-------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((expr_cast(d_week_seq1 as BIGINT) = expr_(cast(d_week_seq2 as 
BIGINT) - 53))) otherCondition=()
+------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((expr_cast(d_week_seq1 as BIGINT) = expr_(cast(d_week_seq2 as 
BIGINT) - 53))) otherCondition=() build RFs:RF3 expr_(cast(d_week_seq2 as 
BIGINT) - 53)->[cast(d_week_seq as BIGINT)]
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((date_dim.d_week_seq = d_week_seq1)) otherCondition=() build 
RFs:RF2 d_week_seq->[d_week_seq]
 ------------------PhysicalProject
---------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF2
+--------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF2 RF3
 ------------------PhysicalProject
 --------------------filter((date_dim.d_year = 1998))
 ----------------------PhysicalOlapScan[date_dim]
diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query59.out 
b/regression-test/data/shape_check/tpcds_sf100/shape/query59.out
index 897b9958027..1596274288c 100644
--- a/regression-test/data/shape_check/tpcds_sf100/shape/query59.out
+++ b/regression-test/data/shape_check/tpcds_sf100/shape/query59.out
@@ -19,13 +19,13 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
 ------PhysicalDistribute[DistributionSpecGather]
 --------PhysicalTopN[LOCAL_SORT]
 ----------PhysicalProject
-------------hashJoin[INNER_JOIN shuffle] hashCondition=((expr_cast(d_week_seq1 
as BIGINT) = expr_(cast(d_week_seq2 as BIGINT) - 52)) and (y.s_store_id1 = 
x.s_store_id2)) otherCondition=() build RFs:RF5 s_store_id2->[s_store_id]
+------------hashJoin[INNER_JOIN shuffle] hashCondition=((expr_cast(d_week_seq1 
as BIGINT) = expr_(cast(d_week_seq2 as BIGINT) - 52)) and (y.s_store_id1 = 
x.s_store_id2)) otherCondition=() build RFs:RF5 s_store_id2->[s_store_id];RF6 
expr_(cast(d_week_seq2 as BIGINT) - 52)->[cast(d_week_seq as BIGINT)]
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN broadcast] hashCondition=((d.d_week_seq = 
d_week_seq1)) otherCondition=() build RFs:RF4 d_week_seq->[d_week_seq]
 ------------------PhysicalProject
 --------------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((wss.ss_store_sk = store.s_store_sk)) otherCondition=() build 
RFs:RF3 s_store_sk->[ss_store_sk]
 ----------------------PhysicalProject
-------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) apply RFs: RF3 
RF4
+------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) apply RFs: RF3 
RF4 RF6
 ----------------------PhysicalProject
 ------------------------PhysicalOlapScan[store] apply RFs: RF5
 ------------------PhysicalProject
diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query2.out 
b/regression-test/data/shape_check/tpcds_sf1000/hint/query2.out
index ac9f18020d5..e9bce4b8168 100644
--- a/regression-test/data/shape_check/tpcds_sf1000/hint/query2.out
+++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query2.out
@@ -25,11 +25,11 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 ------PhysicalDistribute[DistributionSpecGather]
 --------PhysicalQuickSort[LOCAL_SORT]
 ----------PhysicalProject
-------------hashJoin[INNER_JOIN shuffle] hashCondition=((expr_cast(d_week_seq1 
as BIGINT) = expr_(cast(d_week_seq2 as BIGINT) - 53))) otherCondition=()
+------------hashJoin[INNER_JOIN shuffle] hashCondition=((expr_cast(d_week_seq1 
as BIGINT) = expr_(cast(d_week_seq2 as BIGINT) - 53))) otherCondition=() build 
RFs:RF3 expr_(cast(d_week_seq2 as BIGINT) - 53)->[cast(d_week_seq as BIGINT)]
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((date_dim.d_week_seq = y.d_week_seq1)) otherCondition=() build 
RFs:RF2 d_week_seq->[d_week_seq]
 ------------------PhysicalProject
---------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF2
+--------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF2 RF3
 ------------------PhysicalProject
 --------------------filter((date_dim.d_year = 1998))
 ----------------------PhysicalOlapScan[date_dim]
diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query59.out 
b/regression-test/data/shape_check/tpcds_sf1000/hint/query59.out
index 6ffc4d43a3c..34b621ff717 100644
--- a/regression-test/data/shape_check/tpcds_sf1000/hint/query59.out
+++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query59.out
@@ -19,13 +19,13 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
 ------PhysicalDistribute[DistributionSpecGather]
 --------PhysicalTopN[LOCAL_SORT]
 ----------PhysicalProject
-------------hashJoin[INNER_JOIN shuffle] hashCondition=((expr_cast(d_week_seq1 
as BIGINT) = expr_(cast(d_week_seq2 as BIGINT) - 52)) and (y.s_store_id1 = 
x.s_store_id2)) otherCondition=() build RFs:RF5 s_store_id2->[s_store_id]
+------------hashJoin[INNER_JOIN shuffle] hashCondition=((expr_cast(d_week_seq1 
as BIGINT) = expr_(cast(d_week_seq2 as BIGINT) - 52)) and (y.s_store_id1 = 
x.s_store_id2)) otherCondition=() build RFs:RF5 s_store_id2->[s_store_id];RF6 
expr_(cast(d_week_seq2 as BIGINT) - 52)->[cast(d_week_seq as BIGINT)]
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN broadcast] hashCondition=((wss.ss_store_sk 
= store.s_store_sk)) otherCondition=() build RFs:RF4 s_store_sk->[ss_store_sk]
 ------------------PhysicalProject
 --------------------hashJoin[INNER_JOIN shuffle] hashCondition=((d.d_week_seq 
= y.d_week_seq1)) otherCondition=() build RFs:RF3 d_week_seq->[d_week_seq]
 ----------------------PhysicalProject
-------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) apply RFs: RF3 
RF4
+------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) apply RFs: RF3 
RF4 RF6
 ----------------------PhysicalProject
 ------------------------filter((d.d_month_seq <= 1206) and (d.d_month_seq >= 
1195))
 --------------------------PhysicalOlapScan[date_dim]
diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query2.out 
b/regression-test/data/shape_check/tpcds_sf1000/shape/query2.out
index 08ba0d4fc6a..41ad24ad066 100644
--- a/regression-test/data/shape_check/tpcds_sf1000/shape/query2.out
+++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query2.out
@@ -25,11 +25,11 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 ------PhysicalDistribute[DistributionSpecGather]
 --------PhysicalQuickSort[LOCAL_SORT]
 ----------PhysicalProject
-------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((expr_cast(d_week_seq1 as BIGINT) = expr_(cast(d_week_seq2 as 
BIGINT) - 53))) otherCondition=()
+------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((expr_cast(d_week_seq1 as BIGINT) = expr_(cast(d_week_seq2 as 
BIGINT) - 53))) otherCondition=() build RFs:RF3 expr_(cast(d_week_seq2 as 
BIGINT) - 53)->[cast(d_week_seq as BIGINT)]
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((date_dim.d_week_seq = d_week_seq1)) otherCondition=() build 
RFs:RF2 d_week_seq->[d_week_seq]
 ------------------PhysicalProject
---------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF2
+--------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF2 RF3
 ------------------PhysicalProject
 --------------------filter((date_dim.d_year = 1998))
 ----------------------PhysicalOlapScan[date_dim]
diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query54.out 
b/regression-test/data/shape_check/tpcds_sf1000/shape/query54.out
index b7c2fe2adcd..62d473efd02 100644
--- a/regression-test/data/shape_check/tpcds_sf1000/shape/query54.out
+++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query54.out
@@ -13,36 +13,36 @@ PhysicalResultSink
 --------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------hashAgg[LOCAL]
 ------------------------PhysicalProject
---------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((store_sales.ss_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF7 d_date_sk->[ss_sold_date_sk]
+--------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((store_sales.ss_sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF16 d_date_sk->[ss_sold_date_sk];RF17 
d_date_sk->[ss_sold_date_sk]
 ----------------------------PhysicalProject
-------------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((my_customers.c_customer_sk = store_sales.ss_customer_sk)) 
otherCondition=() build RFs:RF6 c_customer_sk->[ss_customer_sk]
+------------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((my_customers.c_customer_sk = store_sales.ss_customer_sk)) 
otherCondition=() build RFs:RF14 c_customer_sk->[ss_customer_sk];RF15 
c_customer_sk->[ss_customer_sk]
 --------------------------------PhysicalProject
-----------------------------------PhysicalOlapScan[store_sales] apply RFs: RF6 
RF7
+----------------------------------PhysicalOlapScan[store_sales] apply RFs: 
RF14 RF15 RF16 RF17
 --------------------------------PhysicalProject
-----------------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((customer_address.ca_county = store.s_county) and 
(customer_address.ca_state = store.s_state)) otherCondition=() build RFs:RF4 
s_county->[ca_county];RF5 s_state->[ca_state]
+----------------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((customer_address.ca_county = store.s_county) and 
(customer_address.ca_state = store.s_state)) otherCondition=() build RFs:RF10 
s_county->[ca_county];RF11 s_county->[ca_county];RF12 s_state->[ca_state];RF13 
s_state->[ca_state]
 ------------------------------------PhysicalProject
---------------------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((my_customers.c_current_addr_sk = 
customer_address.ca_address_sk)) otherCondition=() build RFs:RF3 
c_current_addr_sk->[ca_address_sk]
+--------------------------------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((my_customers.c_current_addr_sk = 
customer_address.ca_address_sk)) otherCondition=() build RFs:RF8 
c_current_addr_sk->[ca_address_sk];RF9 c_current_addr_sk->[ca_address_sk]
 ----------------------------------------PhysicalProject
-------------------------------------------PhysicalOlapScan[customer_address] 
apply RFs: RF3 RF4 RF5
+------------------------------------------PhysicalOlapScan[customer_address] 
apply RFs: RF8 RF9 RF10 RF11 RF12 RF13
 ----------------------------------------PhysicalProject
 ------------------------------------------hashAgg[GLOBAL]
 
--------------------------------------------PhysicalDistribute[DistributionSpecHash]
 ----------------------------------------------hashAgg[LOCAL]
 ------------------------------------------------PhysicalProject
---------------------------------------------------hashJoin[INNER_JOIN 
broadcast] hashCondition=((customer.c_customer_sk = 
cs_or_ws_sales.customer_sk)) otherCondition=() build RFs:RF2 
customer_sk->[c_customer_sk]
+--------------------------------------------------hashJoin[INNER_JOIN 
broadcast] hashCondition=((customer.c_customer_sk = 
cs_or_ws_sales.customer_sk)) otherCondition=() build RFs:RF6 
customer_sk->[c_customer_sk];RF7 customer_sk->[c_customer_sk]
 ----------------------------------------------------PhysicalProject
-------------------------------------------------------PhysicalOlapScan[customer]
 apply RFs: RF2
+------------------------------------------------------PhysicalOlapScan[customer]
 apply RFs: RF6 RF7
 ----------------------------------------------------PhysicalProject
-------------------------------------------------------hashJoin[INNER_JOIN 
broadcast] hashCondition=((cs_or_ws_sales.sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF1 d_date_sk->[cs_sold_date_sk,ws_sold_date_sk]
+------------------------------------------------------hashJoin[INNER_JOIN 
broadcast] hashCondition=((cs_or_ws_sales.sold_date_sk = date_dim.d_date_sk)) 
otherCondition=() build RFs:RF4 
d_date_sk->[cs_sold_date_sk,ws_sold_date_sk];RF5 
d_date_sk->[cs_sold_date_sk,ws_sold_date_sk]
 --------------------------------------------------------PhysicalProject
-----------------------------------------------------------hashJoin[INNER_JOIN 
broadcast] hashCondition=((cs_or_ws_sales.item_sk = item.i_item_sk)) 
otherCondition=() build RFs:RF0 i_item_sk->[cs_item_sk,ws_item_sk]
+----------------------------------------------------------hashJoin[INNER_JOIN 
broadcast] hashCondition=((cs_or_ws_sales.item_sk = item.i_item_sk)) 
otherCondition=() build RFs:RF2 i_item_sk->[cs_item_sk,ws_item_sk];RF3 
i_item_sk->[cs_item_sk,ws_item_sk]
 ------------------------------------------------------------PhysicalUnion
 
--------------------------------------------------------------PhysicalDistribute[DistributionSpecExecutionAny]
 ----------------------------------------------------------------PhysicalProject
-------------------------------------------------------------------PhysicalOlapScan[catalog_sales]
 apply RFs: RF0 RF1
+------------------------------------------------------------------PhysicalOlapScan[catalog_sales]
 apply RFs: RF2 RF3 RF4 RF5
 
--------------------------------------------------------------PhysicalDistribute[DistributionSpecExecutionAny]
 ----------------------------------------------------------------PhysicalProject
-------------------------------------------------------------------PhysicalOlapScan[web_sales]
 apply RFs: RF0 RF1
+------------------------------------------------------------------PhysicalOlapScan[web_sales]
 apply RFs: RF2 RF3 RF4 RF5
 ------------------------------------------------------------PhysicalProject
 
--------------------------------------------------------------filter((item.i_category
 = 'Music') and (item.i_class = 'country'))
 
----------------------------------------------------------------PhysicalOlapScan[item]
@@ -52,11 +52,11 @@ PhysicalResultSink
 ------------------------------------PhysicalProject
 --------------------------------------PhysicalOlapScan[store]
 ----------------------------PhysicalProject
-------------------------------NestedLoopJoin[INNER_JOIN](cast(d_month_seq as 
BIGINT) <= d_month_seq+3)
+------------------------------NestedLoopJoin[INNER_JOIN](cast(d_month_seq as 
BIGINT) <= d_month_seq+3) build RFs:RF1 d_month_seq+3->[cast(d_month_seq as 
BIGINT)]
 --------------------------------PhysicalProject
-----------------------------------NestedLoopJoin[INNER_JOIN](cast(d_month_seq 
as BIGINT) >= d_month_seq+1)
+----------------------------------NestedLoopJoin[INNER_JOIN](cast(d_month_seq 
as BIGINT) >= d_month_seq+1) build RFs:RF0 d_month_seq+1->[cast(d_month_seq as 
BIGINT)]
 ------------------------------------PhysicalProject
---------------------------------------PhysicalOlapScan[date_dim]
+--------------------------------------PhysicalOlapScan[date_dim] apply RFs: 
RF0 RF1
 ------------------------------------PhysicalAssertNumRows
 
--------------------------------------PhysicalDistribute[DistributionSpecGather]
 ----------------------------------------hashAgg[GLOBAL]
diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query59.out 
b/regression-test/data/shape_check/tpcds_sf1000/shape/query59.out
index 1cf593d4cbe..107a8eeca01 100644
--- a/regression-test/data/shape_check/tpcds_sf1000/shape/query59.out
+++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query59.out
@@ -19,13 +19,13 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
 ------PhysicalDistribute[DistributionSpecGather]
 --------PhysicalTopN[LOCAL_SORT]
 ----------PhysicalProject
-------------hashJoin[INNER_JOIN shuffle] hashCondition=((expr_cast(d_week_seq1 
as BIGINT) = expr_(cast(d_week_seq2 as BIGINT) - 52)) and (y.s_store_id1 = 
x.s_store_id2)) otherCondition=() build RFs:RF5 s_store_id2->[s_store_id]
+------------hashJoin[INNER_JOIN shuffle] hashCondition=((expr_cast(d_week_seq1 
as BIGINT) = expr_(cast(d_week_seq2 as BIGINT) - 52)) and (y.s_store_id1 = 
x.s_store_id2)) otherCondition=() build RFs:RF5 s_store_id2->[s_store_id];RF6 
expr_(cast(d_week_seq2 as BIGINT) - 52)->[cast(d_week_seq as BIGINT)]
 --------------PhysicalProject
 ----------------hashJoin[INNER_JOIN broadcast] hashCondition=((d.d_week_seq = 
d_week_seq1)) otherCondition=() build RFs:RF4 d_week_seq->[d_week_seq]
 ------------------PhysicalProject
 --------------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((wss.ss_store_sk = store.s_store_sk)) otherCondition=() build 
RFs:RF3 s_store_sk->[ss_store_sk]
 ----------------------PhysicalProject
-------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) apply RFs: RF3 
RF4
+------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) apply RFs: RF3 
RF4 RF6
 ----------------------PhysicalProject
 ------------------------PhysicalOlapScan[store] apply RFs: RF5
 ------------------PhysicalProject
diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query2.out 
b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query2.out
index 0ffcc732cad..d502c77222b 100644
--- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query2.out
+++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query2.out
@@ -21,18 +21,18 @@ PhysicalCteAnchor ( cteId=CTEId#1 )
 ------PhysicalDistribute[DistributionSpecGather]
 --------PhysicalQuickSort[LOCAL_SORT]
 ----------PhysicalProject
-------------hashJoin[INNER_JOIN broadcast] hashCondition=((date_dim.d_week_seq 
= d_week_seq2)) otherCondition=() build RFs:RF2 d_week_seq->[d_week_seq]
+------------hashJoin[INNER_JOIN broadcast] hashCondition=((date_dim.d_week_seq 
= d_week_seq2)) otherCondition=() build RFs:RF3 d_week_seq->[d_week_seq]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((expr_cast(d_week_seq1 as BIGINT) = expr_(cast(d_week_seq2 as 
BIGINT) - 53))) otherCondition=()
+----------------hashJoin[INNER_JOIN broadcast] 
hashCondition=((expr_cast(d_week_seq1 as BIGINT) = expr_(cast(d_week_seq2 as 
BIGINT) - 53))) otherCondition=() build RFs:RF2 expr_(cast(d_week_seq2 as 
BIGINT) - 53)->[cast(d_week_seq as BIGINT)]
 ------------------PhysicalProject
 --------------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((date_dim.d_week_seq = d_week_seq1)) otherCondition=() build 
RFs:RF1 d_week_seq->[d_week_seq]
 ----------------------PhysicalProject
-------------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF1
+------------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF1 
RF2
 ----------------------PhysicalProject
 ------------------------filter((date_dim.d_year = 1998))
 --------------------------PhysicalOlapScan[date_dim]
 ------------------PhysicalProject
---------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF2
+--------------------PhysicalCteConsumer ( cteId=CTEId#1 ) apply RFs: RF3
 --------------PhysicalProject
 ----------------filter((date_dim.d_year = 1999))
 ------------------PhysicalOlapScan[date_dim]
diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query59.out 
b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query59.out
index 67fb3df373c..389edb688c1 100644
--- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query59.out
+++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query59.out
@@ -16,13 +16,13 @@ PhysicalCteAnchor ( cteId=CTEId#0 )
 ------PhysicalDistribute[DistributionSpecGather]
 --------PhysicalTopN[LOCAL_SORT]
 ----------PhysicalProject
-------------hashJoin[INNER_JOIN broadcast] hashCondition=((d.d_week_seq = 
d_week_seq1)) otherCondition=() build RFs:RF5 d_week_seq->[d_week_seq]
+------------hashJoin[INNER_JOIN broadcast] hashCondition=((d.d_week_seq = 
d_week_seq1)) otherCondition=() build RFs:RF6 d_week_seq->[d_week_seq]
 --------------PhysicalProject
-----------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((expr_cast(d_week_seq1 as BIGINT) = expr_(cast(d_week_seq2 as 
BIGINT) - 52)) and (y.s_store_id1 = x.s_store_id2)) otherCondition=() build 
RFs:RF4 s_store_id2->[s_store_id]
+----------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((expr_cast(d_week_seq1 as BIGINT) = expr_(cast(d_week_seq2 as 
BIGINT) - 52)) and (y.s_store_id1 = x.s_store_id2)) otherCondition=() build 
RFs:RF4 s_store_id2->[s_store_id];RF5 expr_(cast(d_week_seq2 as BIGINT) - 
52)->[cast(d_week_seq as BIGINT)]
 ------------------PhysicalProject
 --------------------hashJoin[INNER_JOIN shuffle] 
hashCondition=((wss.ss_store_sk = store.s_store_sk)) otherCondition=() build 
RFs:RF3 s_store_sk->[ss_store_sk]
 ----------------------PhysicalProject
-------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) apply RFs: RF3 
RF5
+------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) apply RFs: RF3 
RF5 RF6
 ----------------------PhysicalProject
 ------------------------PhysicalOlapScan[store] apply RFs: RF4
 ------------------PhysicalProject
diff --git 
a/regression-test/suites/shape_check/tpcds_sf1000/shape/query54.groovy 
b/regression-test/suites/shape_check/tpcds_sf1000/shape/query54.groovy
index 6918f70d5ca..ce8295e9299 100644
--- a/regression-test/suites/shape_check/tpcds_sf1000/shape/query54.groovy
+++ b/regression-test/suites/shape_check/tpcds_sf1000/shape/query54.groovy
@@ -32,7 +32,7 @@ suite("query54") {
     sql 'set forbid_unknown_col_stats=true'
     sql 'set enable_nereids_timeout = false'
     sql 'set enable_runtime_filter_prune=false'
-    sql 'set runtime_filter_type=8'
+    sql 'set runtime_filter_type=12'
     sql 'set dump_nereids_memo=false'
     sql "set disable_nereids_rules=PRUNE_EMPTY_PARTITION"
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to