diff --git a/testing/trino-tests/pom.xml b/testing/trino-tests/pom.xml
index 1cc969db3832..c0294ca2f51b 100644
--- a/testing/trino-tests/pom.xml
+++ b/testing/trino-tests/pom.xml
@@ -249,6 +249,19 @@
test
+
+ io.trino
+ trino-parser
+ test
+
+
+
+ io.trino
+ trino-parser
+ test-jar
+ test
+
+
io.trino
trino-plugin-toolkit
diff --git a/testing/trino-tests/src/test/java/io/trino/sql/planner/BaseCostBasedPlanTest.java b/testing/trino-tests/src/test/java/io/trino/sql/planner/BaseCostBasedPlanTest.java
index 9f34c2fe1a77..4ace85a7f516 100644
--- a/testing/trino-tests/src/test/java/io/trino/sql/planner/BaseCostBasedPlanTest.java
+++ b/testing/trino-tests/src/test/java/io/trino/sql/planner/BaseCostBasedPlanTest.java
@@ -23,11 +23,13 @@
import io.trino.metadata.TableHandle;
import io.trino.metadata.TableMetadata;
import io.trino.spi.connector.ConnectorFactory;
+import io.trino.sql.DynamicFilters;
import io.trino.sql.planner.OptimizerConfig.JoinDistributionType;
import io.trino.sql.planner.OptimizerConfig.JoinReorderingStrategy;
import io.trino.sql.planner.assertions.BasePlanTest;
import io.trino.sql.planner.plan.AggregationNode;
import io.trino.sql.planner.plan.ExchangeNode;
+import io.trino.sql.planner.plan.FilterNode;
import io.trino.sql.planner.plan.JoinNode;
import io.trino.sql.planner.plan.SemiJoinNode;
import io.trino.sql.planner.plan.TableScanNode;
@@ -56,6 +58,7 @@
import static io.trino.SystemSessionProperties.JOIN_DISTRIBUTION_TYPE;
import static io.trino.SystemSessionProperties.JOIN_REORDERING_STRATEGY;
import static io.trino.execution.querystats.PlanOptimizersStatsCollector.createPlanOptimizersStatsCollector;
+import static io.trino.sql.DynamicFilters.extractDynamicFilters;
import static io.trino.sql.planner.LogicalPlanner.Stage.OPTIMIZED_AND_VALIDATED;
import static io.trino.sql.planner.plan.JoinNode.DistributionType.REPLICATED;
import static io.trino.sql.planner.plan.JoinNode.Type.INNER;
@@ -314,6 +317,22 @@ public Void visitAggregation(AggregationNode node, Integer indent)
return visitPlan(node, indent + 1);
}
+ @Override
+ public Void visitFilter(FilterNode node, Integer indent)
+ {
+ DynamicFilters.ExtractResult filters = extractDynamicFilters(node.getPredicate());
+ String inputs = filters.getDynamicConjuncts().stream()
+ .map(descriptor -> descriptor.getInput().toString())
+ .sorted()
+ .collect(joining(", "));
+
+ if (!inputs.isEmpty()) {
+ output(indent, "dynamic filter ([%s])", inputs);
+ indent = indent + 1;
+ }
+ return visitPlan(node, indent);
+ }
+
@Override
public Void visitTableScan(TableScanNode node, Integer indent)
{
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q01.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q01.plan.txt
index 61a20a28c4d3..7b1f1c7f2488 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q01.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q01.plan.txt
@@ -3,7 +3,8 @@ local exchange (GATHER, SINGLE, [])
cross join:
join (LEFT, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
@@ -12,7 +13,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_store_sk"])
partial aggregation over (sr_customer_sk, sr_store_sk)
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -30,7 +32,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk_11", "sr_store_sk_15"])
partial aggregation over (sr_customer_sk_11, sr_store_sk_15)
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk_28"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q02.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q02.plan.txt
index 3897414ae1d0..2c395334363f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q02.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q02.plan.txt
@@ -10,14 +10,18 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name, d_week_seq)
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
- scan catalog_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq", "d_week_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_week_seq_23"])
- scan date_dim
+ dynamic filter (["d_week_seq_23"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["expr_229"])
join (INNER, PARTITIONED):
@@ -28,11 +32,14 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name_142, d_week_seq_132)
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
- scan catalog_sales
+ dynamic filter (["ws_sold_date_sk_85"])
+ scan web_sales
+ dynamic filter (["cs_sold_date_sk_123"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_132"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_week_seq_178"])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q03.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q03.plan.txt
index 70aae3fa1bdd..ede6415850e5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q03.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q03.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q04.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q04.plan.txt
index e6fa625b1bdb..ce5e6af22a29 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q04.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q04.plan.txt
@@ -9,13 +9,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_id", "c_customer_id"])
+ scan customer
join (INNER, PARTITIONED):
join (INNER, PARTITIONED):
final aggregation over (c_birth_country_587, c_customer_id_574, c_email_address_589, c_first_name_581, c_last_name_582, c_login_588, c_preferred_cust_flag_583, d_year_638)
@@ -24,11 +26,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (c_birth_country_587, c_customer_id_574, c_email_address_589, c_first_name_581, c_last_name_582, c_login_588, c_preferred_cust_flag_583, d_year_638)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk_573"])
- scan customer
+ dynamic filter (["c_customer_id_574", "c_customer_id_574", "c_customer_id_574", "c_customer_sk_573"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk_596"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_627"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -39,11 +43,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (c_birth_country_1624, c_customer_id_1611, c_email_address_1626, c_first_name_1618, c_last_name_1619, c_login_1625, c_preferred_cust_flag_1620, d_year_1675)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk_1610"])
- scan customer
+ dynamic filter (["c_customer_id_1611", "c_customer_id_1611", "c_customer_id_1611", "c_customer_sk_1610"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_1634"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_1664"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -53,11 +59,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (c_birth_country_1312, c_customer_id_1299, c_email_address_1314, c_first_name_1306, c_last_name_1307, c_login_1313, c_preferred_cust_flag_1308, d_year_1363)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk_1298"])
- scan customer
+ dynamic filter (["c_customer_id_1299", "c_customer_id_1299", "c_customer_sk_1298"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_1322"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_1352"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -67,11 +75,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (c_birth_country_899, c_customer_id_886, c_email_address_901, c_first_name_893, c_last_name_894, c_login_900, c_preferred_cust_flag_895, d_year_950)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk_885"])
- scan customer
+ dynamic filter (["c_customer_id_886", "c_customer_sk_885"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk_908"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_939"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -82,7 +92,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_194"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_194", "ss_sold_date_sk_214"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q05.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q05.plan.txt
index f98eebbfad6e..832fbb305bca 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q05.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q05.plan.txt
@@ -12,8 +12,10 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan store_sales
- scan store_returns
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,8 +29,10 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan catalog_sales
- scan catalog_returns
+ dynamic filter (["cs_catalog_page_sk", "cs_sold_date_sk"])
+ scan catalog_sales
+ dynamic filter (["cr_catalog_page_sk", "cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,13 +46,16 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
+ dynamic filter (["ws_sold_date_sk", "ws_web_site_sk"])
+ scan web_sales
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk_96", "ws_order_number_110"])
- scan web_sales
+ dynamic filter (["ws_item_sk_96", "ws_order_number_110", "ws_web_site_sk_106"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_returned_date_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q06.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q06.plan.txt
index d3d2cfba574a..907e4f9d3572 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q06.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q06.plan.txt
@@ -10,20 +10,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_month_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q07.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q07.plan.txt
index cbab34a925c5..f381cc4e8932 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q07.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q07.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q08.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q08.plan.txt
index 432e37f5b19c..a08d6fc651ff 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q08.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q08.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["substr_39"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -30,7 +31,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_zip_19)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_10"])
- scan customer_address
+ dynamic filter (["ca_address_sk_10"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q10.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q10.plan.txt
index 1cee500dbb4b..004cb96531ae 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q10.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q10.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_ship_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -18,7 +19,8 @@ local exchange (GATHER, SINGLE, [])
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
@@ -27,14 +29,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -43,7 +47,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q11.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q11.plan.txt
index d05ca5e74dbd..9b5655764dca 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q11.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q11.plan.txt
@@ -7,11 +7,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (c_birth_country_98, c_customer_id_85, c_email_address_100, c_first_name_92, c_last_name_93, c_login_99, c_preferred_cust_flag_94, d_year_138)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk_84"])
- scan customer
+ dynamic filter (["c_customer_id_85", "c_customer_sk_84"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk_107"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_127"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -22,11 +24,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (c_birth_country, c_customer_id, c_email_address, c_first_name, c_last_name, c_login, c_preferred_cust_flag, d_year)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_id", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -37,11 +41,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (c_birth_country_590, c_customer_id_577, c_email_address_592, c_first_name_584, c_last_name_585, c_login_591, c_preferred_cust_flag_586, d_year_641)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk_576"])
- scan customer
+ dynamic filter (["c_customer_id_577", "c_customer_sk_576"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_600"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_630"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -51,11 +57,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (c_birth_country_389, c_customer_id_376, c_email_address_391, c_first_name_383, c_last_name_384, c_login_390, c_preferred_cust_flag_385, d_year_440)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk_375"])
- scan customer
+ dynamic filter (["c_customer_sk_375"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_399"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_429"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q12.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q12.plan.txt
index f7ec908dd084..5e037afebaaa 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q12.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q12.plan.txt
@@ -8,11 +8,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q13.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q13.plan.txt
index 515bc8719e42..e44220615434 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q13.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q13.plan.txt
@@ -5,13 +5,15 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cd_demo_sk"])
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_cdemo_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q14.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q14.plan.txt
index ac9f82f11b05..08b00b248605 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q14.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q14.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_6, i_category_id_8, i_class_id_7)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,21 +21,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
final aggregation over (i_item_sk_15)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_15"])
partial aggregation over (i_item_sk_15)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_22", "i_category_id_26", "i_class_id_24"])
- scan item
+ dynamic filter (["i_brand_id_22", "i_category_id_26", "i_class_id_24"])
+ scan item
final aggregation over (brand_id, category_id, class_id)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_77", "i_category_id_81", "i_class_id_79"])
partial aggregation over (i_brand_id_77, i_category_id_81, i_class_id_79)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_44", "ss_sold_date_sk_65"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -45,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_137, i_category_id_141, i_class_id_139)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -56,7 +61,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_197, i_category_id_201, i_class_id_199)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -70,19 +76,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_273"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_342"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_411"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -93,7 +102,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_495, i_category_id_499, i_class_id_497)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_464", "cs_sold_date_sk_483"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -101,21 +111,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_488"])
- scan item
+ dynamic filter (["i_item_sk_488"])
+ scan item
final aggregation over (i_item_sk_546)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_546"])
partial aggregation over (i_item_sk_546)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_553", "i_category_id_557", "i_class_id_555"])
- scan item
+ dynamic filter (["i_brand_id_553", "i_category_id_557", "i_class_id_555"])
+ scan item
final aggregation over (brand_id_571, category_id_573, class_id_572)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_611", "i_category_id_615", "i_class_id_613"])
partial aggregation over (i_brand_id_611, i_category_id_615, i_class_id_613)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_578", "ss_sold_date_sk_599"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -126,7 +139,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_705, i_category_id_709, i_class_id_707)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_674", "cs_sold_date_sk_693"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -137,7 +151,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_799, i_category_id_803, i_class_id_801)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_756", "ws_sold_date_sk_787"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -151,19 +166,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_882"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_951"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_1020"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -175,28 +193,32 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk_1061"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_1061", "ws_sold_date_sk_1092"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_1097"])
- scan item
+ dynamic filter (["i_item_sk_1097"])
+ scan item
final aggregation over (i_item_sk_1155)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_1155"])
partial aggregation over (i_item_sk_1155)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_1162", "i_category_id_1166", "i_class_id_1164"])
- scan item
+ dynamic filter (["i_brand_id_1162", "i_category_id_1166", "i_class_id_1164"])
+ scan item
final aggregation over (brand_id_1180, category_id_1182, class_id_1181)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_1220", "i_category_id_1224", "i_class_id_1222"])
partial aggregation over (i_brand_id_1220, i_category_id_1224, i_class_id_1222)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_1187", "ss_sold_date_sk_1208"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -207,7 +229,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1314, i_category_id_1318, i_class_id_1316)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_1283", "cs_sold_date_sk_1302"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -218,7 +241,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1408, i_category_id_1412, i_class_id_1410)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_1365", "ws_sold_date_sk_1396"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -232,19 +256,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_1491"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_1560"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_1629"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q15.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q15.plan.txt
index 946683bd17b5..8e0026d70798 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q15.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q15.plan.txt
@@ -6,16 +6,19 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_zip)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q16.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q16.plan.txt
index 2583381afcd8..94e5cf069df5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q16.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q16.plan.txt
@@ -10,13 +10,15 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ca_state", "cc_county", "cs_call_center_sk", "cs_ext_ship_cost", "cs_net_profit", "cs_order_number_25", "cs_ship_addr_sk", "cs_ship_date_sk", "cs_warehouse_sk", "d_date", "unique"])
partial aggregation over (ca_state, cc_county, cs_call_center_sk, cs_ext_ship_cost, cs_net_profit, cs_order_number_25, cs_ship_addr_sk, cs_ship_date_sk, cs_warehouse_sk, d_date, unique)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_order_number_25"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_ship_addr_sk", "cs_ship_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q17.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q17.plan.txt
index add2e9b8dfad..c2d0611df9dc 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q17.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q17.plan.txt
@@ -5,26 +5,30 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_desc", "i_item_id", "s_state"])
partial aggregation over (i_item_desc, i_item_id, s_state)
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q18.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q18.plan.txt
index f3ff54aad741..c275a371ba10 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q18.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q18.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -25,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q19.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q19.plan.txt
index 43f0630f3559..aaec727a26ef 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q19.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q19.plan.txt
@@ -5,17 +5,20 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand", "i_brand_id", "i_manufact", "i_manufact_id"])
partial aggregation over (i_brand, i_brand_id, i_manufact, i_manufact_id)
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q20.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q20.plan.txt
index 95a4e8334e25..e9298a40e626 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q20.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q20.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q21.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q21.plan.txt
index c127db88db46..d81f0744adee 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q21.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q21.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q22.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q22.plan.txt
index 2fd28d3f31ed..6f1d958f18df 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q22.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q22.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand", "i_product_name"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q23.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q23.plan.txt
index ae79551dd25a..11f0dd17a162 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q23.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q23.plan.txt
@@ -12,17 +12,20 @@ final aggregation over ()
partial aggregation over (d_date_9, ss_item_sk, substr$gid)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -33,7 +36,8 @@ final aggregation over ()
partial aggregation over (ss_customer_sk_47)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_47"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_47"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
scan customer
@@ -49,7 +53,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_78"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_78", "ss_sold_date_sk_98"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -67,17 +72,20 @@ final aggregation over ()
partial aggregation over (d_date_227, ss_item_sk_199, substr$gid_284)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_199", "ss_item_sk_199", "ss_sold_date_sk_220"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk_256"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -88,7 +96,8 @@ final aggregation over ()
partial aggregation over (ss_customer_sk_292)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_292"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_292"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_317"])
scan customer
@@ -104,7 +113,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_343"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_343", "ss_sold_date_sk_363"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q24.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q24.plan.txt
index b24eafd9738a..a2a88e46de4c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q24.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q24.plan.txt
@@ -14,23 +14,27 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_birth_country", "s_zip"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_birth_country", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_zip"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_zip", "upper"])
scan customer_address
@@ -52,16 +56,20 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk_18", "ss_ticket_number_25"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_19", "ss_item_sk_18", "ss_item_sk_18", "ss_store_sk_23", "ss_ticket_number_25"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_zip_93"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk_45", "sr_ticket_number_52"])
- scan store_returns
+ dynamic filter (["sr_item_sk_45"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_125"])
- scan customer
+ dynamic filter (["c_birth_country_139"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q25.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q25.plan.txt
index 06e9bc127b43..d0d7b6296cea 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q25.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q25.plan.txt
@@ -5,27 +5,31 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_desc", "i_item_id", "s_store_id", "s_store_name"])
partial aggregation over (i_item_desc, i_item_id, s_store_id, s_store_name)
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_store_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q26.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q26.plan.txt
index 10e8a2551020..602d57ff1148 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q26.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q26.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_item_sk", "cs_promo_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q27.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q27.plan.txt
index e15f77571f95..3a99da130086 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q27.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q27.plan.txt
@@ -6,13 +6,15 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (groupid, i_item_id$gid, s_state$gid)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q29.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q29.plan.txt
index e563e2d9b18a..3d4240339ab3 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q29.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q29.plan.txt
@@ -5,26 +5,31 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_desc", "i_item_id", "s_store_id", "s_store_name"])
partial aggregation over (i_item_desc, i_item_id, s_store_id, s_store_name)
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["s_store_sk"])
- scan store
+ dynamic filter (["s_store_sk"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_store_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q30.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q30.plan.txt
index 5b86b774635f..5520e1444779 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q30.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q30.plan.txt
@@ -5,7 +5,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -15,11 +16,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_state, wr_returning_customer_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_returning_addr_sk"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -35,11 +38,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_state_92, wr_returning_customer_sk_31)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_84"])
- scan customer_address
+ dynamic filter (["ca_address_sk_84"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_returning_addr_sk_34"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk_48"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q31.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q31.plan.txt
index d16f0e1ce966..70c4df6cee27 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q31.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q31.plan.txt
@@ -11,13 +11,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk_11"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk_11", "ss_sold_date_sk_28"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_64"])
- scan customer_address
+ dynamic filter (["ca_county_71", "ca_county_71", "ca_county_71"])
+ scan customer_address
final aggregation over (ca_county_149, d_qoy_121, d_year_117)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_149"])
@@ -25,13 +27,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk_89"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk_89", "ss_sold_date_sk_106"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_142"])
- scan customer_address
+ dynamic filter (["ca_county_149", "ca_county_149"])
+ scan customer_address
join (INNER, PARTITIONED):
final aggregation over (ca_county_293, d_qoy_265, d_year_261)
local exchange (GATHER, SINGLE, [])
@@ -39,11 +43,13 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (ca_county_293, d_qoy_265, d_year_261)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_286"])
- scan customer_address
+ dynamic filter (["ca_address_sk_286", "ca_county_293", "ca_county_293"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk_223"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_250"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -53,11 +59,13 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (ca_county_382, d_qoy_354, d_year_350)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_375"])
- scan customer_address
+ dynamic filter (["ca_address_sk_375", "ca_county_382"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk_312"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_339"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -69,24 +77,28 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_county"])
+ scan customer_address
final aggregation over (ca_county_204, d_qoy_176, d_year_172)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_204"])
partial aggregation over (ca_county_204, d_qoy_176, d_year_172)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_197"])
- scan customer_address
+ dynamic filter (["ca_address_sk_197"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q32.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q32.plan.txt
index 3fe019ccd451..693ec20dacec 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q32.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q32.plan.txt
@@ -9,7 +9,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_item_sk_20"])
partial aggregation over (cs_item_sk_20)
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_20", "cs_sold_date_sk_39"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q33.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q33.plan.txt
index fb7279d7b9b0..6e219bf97e9f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q33.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q33.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -21,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk"])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_8"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_25)
@@ -38,7 +40,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -48,7 +51,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_90"])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_103"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_130)
@@ -66,7 +70,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -76,7 +81,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_197"])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_210"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_237)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q34.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q34.plan.txt
index 64d4ce451141..3feb2363558e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q34.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q34.plan.txt
@@ -2,7 +2,8 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, UNKNOWN, [])
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (ss_customer_sk, ss_ticket_number)
@@ -12,7 +13,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q35.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q35.plan.txt
index d88f27b4c7b6..63e07be79289 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q35.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q35.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
@@ -21,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -35,7 +37,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -46,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q36.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q36.plan.txt
index 630dacce4c1e..32892fd149b0 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q36.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q36.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q37.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q37.plan.txt
index 3ae83aae01f0..7f124a8f96ae 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q37.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q37.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_current_price", "i_item_desc", "i_item_id"])
partial aggregation over (i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q38.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q38.plan.txt
index 94d514729231..e7dab0f2199b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q38.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q38.plan.txt
@@ -12,7 +12,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -26,11 +27,13 @@ final aggregation over ()
partial aggregation over (c_first_name_55, c_last_name_56, d_date_18)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["c_customer_sk_47"])
- scan customer
+ dynamic filter (["c_customer_sk_47"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -41,11 +44,13 @@ final aggregation over ()
partial aggregation over (c_first_name_111, c_last_name_112, d_date_74)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["c_customer_sk_103"])
- scan customer
+ dynamic filter (["c_customer_sk_103"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q39.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q39.plan.txt
index 0761f10365a3..f71ceb03b6c9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q39.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q39.plan.txt
@@ -10,16 +10,19 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_item_sk", "inv_warehouse_sk", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan warehouse
+ dynamic filter (["w_warehouse_sk"])
+ scan warehouse
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["inv_item_sk_11", "inv_warehouse_sk_12"])
final aggregation over (d_moy_69, inv_item_sk_11, inv_warehouse_sk_12, w_warehouse_name_46)
@@ -29,7 +32,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk_14", "inv_item_sk_11", "inv_warehouse_sk_12"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q40.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q40.plan.txt
index b7cf1dd0bae2..00523038b966 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q40.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q40.plan.txt
@@ -9,10 +9,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q41.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q41.plan.txt
index 58a96c8d1ec2..772ad4b317c4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q41.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q41.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_product_name)
single aggregation over (i_manufact, i_manufact_id, i_product_name, unique)
join (INNER, REPLICATED, can skip output duplicates):
- scan item
+ dynamic filter (["i_manufact"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q42.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q42.plan.txt
index 17cc12f10e9e..b35f518a9b70 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q42.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q42.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_category, i_category_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q43.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q43.plan.txt
index 9d9e36441a12..b94077c666ea 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q43.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q43.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name, s_store_id, s_store_name)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q45.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q45.plan.txt
index 7dd52a5c0765..82d16c569b9a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q45.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q45.plan.txt
@@ -8,16 +8,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q46.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q46.plan.txt
index cd659271967f..53574e4e4200 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q46.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q46.plan.txt
@@ -2,11 +2,13 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_16"])
- scan customer_address
+ dynamic filter (["ca_address_sk_16"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (ca_address_sk, ca_city, ss_customer_sk, ss_ticket_number)
@@ -14,13 +16,15 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_address_sk, ca_city, ss_customer_sk, ss_ticket_number)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q47.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q47.plan.txt
index 0911429ef31b..0881f2c84d9d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q47.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q47.plan.txt
@@ -11,16 +11,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_company_name", "s_company_name", "s_store_name", "s_store_name"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand", "i_brand", "i_category", "i_category"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_17", "i_category_21", "s_company_name_109", "s_store_name_97"])
final aggregation over (d_moy_69, d_year_67, i_brand_17, i_category_21, s_company_name_109, s_store_name_97)
@@ -30,16 +33,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_35", "ss_sold_date_sk_56", "ss_store_sk_40"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_company_name_109", "s_store_name_97"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_17", "i_category_21"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_141", "i_category_145", "s_company_name_233", "s_store_name_221"])
final aggregation over (d_moy_193, d_year_191, i_brand_141, i_category_145, s_company_name_233, s_store_name_221)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_159", "ss_sold_date_sk_180", "ss_store_sk_164"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q48.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q48.plan.txt
index d002184141c7..a5721f69fdbb 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q48.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q48.plan.txt
@@ -5,12 +5,14 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q49.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q49.plan.txt
index 6b7ece910520..22709678e263 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q49.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q49.plan.txt
@@ -11,11 +11,13 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk"])
partial aggregation over (wr_item_sk)
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -28,11 +30,13 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk"])
partial aggregation over (cr_item_sk)
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_order_number"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -45,11 +49,13 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk"])
partial aggregation over (sr_item_sk)
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q50.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q50.plan.txt
index 9f5732a36de7..0f116c50b18b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q50.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q50.plan.txt
@@ -7,11 +7,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q51.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q51.plan.txt
index 483853492137..00f5de669883 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q51.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q51.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
partial aggregation over (d_date, ws_item_sk)
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk"])
partial aggregation over (d_date_10, ss_item_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q52.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q52.plan.txt
index 33752e693e6c..79ab5d5f2dc7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q52.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q52.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q53.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q53.plan.txt
index 8b8179689d06..2fd2be567abd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q53.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q53.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_store_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q54.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q54.plan.txt
index 260df3663afb..bc8e9c8a53bb 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q54.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q54.plan.txt
@@ -12,13 +12,15 @@ local exchange (GATHER, SINGLE, [])
cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk", "ca_county", "ca_state"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
@@ -27,14 +29,17 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
partial aggregation over (c_current_addr_sk, c_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan catalog_sales
- scan web_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -43,7 +48,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_month_seq_26"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q55.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q55.plan.txt
index 0322599f01e5..72d129c6fab1 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q55.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q55.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q56.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q56.plan.txt
index 0f2f93f9a976..52d3c4050de4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q56.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q56.plan.txt
@@ -11,14 +11,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_8"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_13)
@@ -38,14 +40,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_bill_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_91"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_118)
@@ -65,14 +69,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_198"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_225)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q57.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q57.plan.txt
index 4bed99d3b879..121a5a60df95 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q57.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q57.plan.txt
@@ -11,16 +11,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan call_center
+ dynamic filter (["cc_name", "cc_name"])
+ scan call_center
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand", "i_brand", "i_category", "i_category"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cc_name_109", "i_brand_17", "i_category_21"])
final aggregation over (cc_name_109, d_moy_80, d_year_78, i_brand_17, i_category_21)
@@ -30,16 +33,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk_44", "cs_item_sk_48", "cs_sold_date_sk_67"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan call_center
+ dynamic filter (["cc_name_109"])
+ scan call_center
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_17", "i_category_21"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cc_name_245", "i_brand_153", "i_category_157"])
final aggregation over (cc_name_245, d_moy_216, d_year_214, i_brand_153, i_category_157)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk_180", "cs_item_sk_184", "cs_sold_date_sk_203"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q58.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q58.plan.txt
index fb65ed72a690..a55228cd42ba 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q58.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q58.plan.txt
@@ -9,11 +9,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_101"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_134)
@@ -21,7 +23,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_134"])
partial aggregation over (d_date_134)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_136"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -29,7 +32,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_74"])
- scan item
+ dynamic filter (["i_item_id_75", "i_item_id_75"])
+ scan item
final aggregation over (i_item_id_203)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_203"])
@@ -37,11 +41,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_229"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_262)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_262"])
partial aggregation over (d_date_262)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_264"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -57,18 +64,21 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_202"])
- scan item
+ dynamic filter (["i_item_id_203"])
+ scan item
final aggregation over (i_item_id)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id"])
partial aggregation over (i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_8)
@@ -76,7 +86,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_8"])
partial aggregation over (d_date_8)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_10"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q59.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q59.plan.txt
index 719af5ccc77b..3bda2d6dce57 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q59.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q59.plan.txt
@@ -13,16 +13,20 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_day_name", "d_week_seq", "ss_store_sk"])
partial aggregation over (d_day_name, d_week_seq, ss_store_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq", "d_week_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_22"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_store_id"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["expr_211", "s_store_id_124"])
join (INNER, REPLICATED):
@@ -36,10 +40,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_day_name_90", "d_week_seq_80", "ss_store_sk_55"])
partial aggregation over (d_day_name_90, d_week_seq_80, ss_store_sk_55)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_71", "ss_store_sk_55"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_80"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q60.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q60.plan.txt
index c573da2e1725..0b33df359a22 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q60.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q60.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -21,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk"])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_8"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_13)
@@ -38,14 +40,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_bill_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_91"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_118)
@@ -65,14 +69,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_198"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_225)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q61.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q61.plan.txt
index 958cb1b32e1b..891c0b642617 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q61.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q61.plan.txt
@@ -5,18 +5,21 @@ cross join:
partial aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -35,17 +38,20 @@ cross join:
partial aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_129"])
- scan customer_address
+ dynamic filter (["ca_address_sk_129"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk_112"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_customer_sk_108"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_19", "ss_sold_date_sk_40", "ss_store_sk_24"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q62.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q62.plan.txt
index 61172c74fc4f..26846a9ba0a9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q62.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q62.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_date_sk", "ws_ship_mode_sk", "ws_warehouse_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q63.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q63.plan.txt
index 23a54b451e8f..e4b2fc096542 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q63.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q63.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_store_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q64.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q64.plan.txt
index 0ab88e33c808..4b39a07ceb53 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q64.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q64.plan.txt
@@ -8,17 +8,20 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_city", "ca_city_122", "ca_street_name", "ca_street_name_119", "ca_street_number", "ca_street_number_118", "ca_zip", "ca_zip_125", "d_year", "d_year_22", "d_year_53", "i_product_name", "s_store_name", "s_zip", "ss_item_sk"])
partial aggregation over (ca_city, ca_city_122, ca_street_name, ca_street_name_119, ca_street_number, ca_street_number_118, ca_zip, ca_zip_125, d_year, d_year_22, d_year_53, i_product_name, s_store_name, s_zip, ss_item_sk)
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk_116"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cd_demo_sk_87"])
- scan customer_demographics
+ dynamic filter (["cd_demo_sk_87"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
join (INNER, REPLICATED):
@@ -28,7 +31,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_hdemo_sk", "c_customer_sk", "c_first_sales_date_sk", "c_first_shipto_date_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
@@ -37,14 +41,16 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_hdemo_sk", "ss_item_sk", "ss_item_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_item_sk", "sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (cs_item_sk)
@@ -53,16 +59,19 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (cs_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_item_sk", "cs_item_sk", "cs_order_number"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cd_demo_sk"])
scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_store_name", "s_zip"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -71,21 +80,24 @@ remote exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan promotion
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_106"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
@@ -96,17 +108,20 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_city_491", "ca_city_507", "ca_street_name_488", "ca_street_name_504", "ca_street_number_487", "ca_street_number_503", "ca_zip_494", "ca_zip_510", "d_year_283", "d_year_314", "d_year_345", "i_product_name_550", "s_store_name_375", "s_zip_395", "ss_item_sk_154"])
partial aggregation over (ca_city_491, ca_city_507, ca_street_name_488, ca_street_name_504, ca_street_number_487, ca_street_number_503, ca_zip_494, ca_zip_510, d_year_283, d_year_314, d_year_345, i_product_name_550, s_store_name_375, s_zip_395, ss_item_sk_154)
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk_501"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk_485"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cd_demo_sk_435"])
- scan customer_demographics
+ dynamic filter (["cd_demo_sk_435"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk_404"])
join (INNER, REPLICATED):
@@ -116,7 +131,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk_402"])
- scan customer
+ dynamic filter (["c_current_hdemo_sk_405", "c_customer_sk_402", "c_first_sales_date_sk_408", "c_first_shipto_date_sk_407"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk_155"])
join (INNER, REPLICATED):
@@ -125,14 +141,16 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk_154", "ss_ticket_number_161"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk_156", "ss_hdemo_sk_157", "ss_item_sk_154", "ss_item_sk_154", "ss_promo_sk_160", "ss_sold_date_sk_175", "ss_store_sk_159", "ss_ticket_number_161"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk_181", "sr_ticket_number_188"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_item_sk_181", "sr_item_sk_181"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (cs_item_sk_218)
@@ -141,10 +159,12 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (cs_item_sk_218)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk_218", "cs_order_number_220"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk_218", "cs_item_sk_218", "cs_order_number_220"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk_243", "cr_order_number_257"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk_243"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cd_demo_sk_423"])
scan customer_demographics
@@ -166,14 +186,16 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_470"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_478"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q65.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q65.plan.txt
index 744c84a2143a..5e33f94404ba 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q65.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q65.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk_10", "ss_store_sk_15"])
partial aggregation over (ss_item_sk_10, ss_store_sk_15)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_10", "ss_sold_date_sk_31", "ss_store_sk_15"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -15,7 +16,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["s_store_sk"])
- scan store
+ dynamic filter (["s_store_sk"])
+ scan store
final aggregation over (ss_store_sk)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_store_sk"])
@@ -25,7 +27,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_store_sk"])
partial aggregation over (ss_item_sk, ss_store_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q66.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q66.plan.txt
index 785f1198b31c..aa4ba2b09959 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q66.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q66.plan.txt
@@ -15,7 +15,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_mode_sk", "ws_sold_date_sk", "ws_sold_time_sk", "ws_warehouse_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -41,7 +42,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_ship_mode_sk", "cs_sold_date_sk", "cs_sold_time_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q67.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q67.plan.txt
index 60f46f2fcf90..66c2001151d6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q67.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q67.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q68.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q68.plan.txt
index 6c71f017bae6..098a4cf5bf05 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q68.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q68.plan.txt
@@ -2,11 +2,13 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_17"])
- scan customer_address
+ dynamic filter (["ca_address_sk_17"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (ca_address_sk, ca_city, ss_customer_sk, ss_ticket_number)
@@ -14,13 +16,15 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk", "ca_city", "ss_customer_sk", "ss_ticket_number"])
partial aggregation over (ca_address_sk, ca_city, ss_customer_sk, ss_ticket_number)
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q69.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q69.plan.txt
index 18406802cc1b..b806bd15ae93 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q69.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q69.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (LEFT, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cd_demo_sk"])
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
join (INNER, PARTITIONED):
@@ -18,14 +19,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -36,7 +39,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -45,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q70.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q70.plan.txt
index 7f94b5469eb9..8d615a4b74a0 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q70.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q70.plan.txt
@@ -10,13 +10,15 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_state"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_state"])
+ scan store
single aggregation over (s_state_57)
final aggregation over (s_state_57)
local exchange (GATHER, SINGLE, [])
@@ -24,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (s_state_57)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_28", "ss_store_sk_12"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q71.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q71.plan.txt
index 02c955d77dfd..fa3a3c6d5063 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q71.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q71.plan.txt
@@ -10,17 +10,20 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk", "ws_sold_time_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk", "cs_sold_time_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_sold_time_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q72.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q72.plan.txt
index 8c52b501aa32..a283563bc484 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q72.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q72.plan.txt
@@ -6,14 +6,16 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_week_seq, i_item_desc, w_warehouse_name)
join (RIGHT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_item_sk"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_order_number"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
join (LEFT, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["inv_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_item_sk", "inv_quantity_on_hand", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
@@ -21,10 +23,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_bill_hdemo_sk", "cs_item_sk", "cs_ship_date_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q73.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q73.plan.txt
index 8ca487c16558..ce3ce9ac9b93 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q73.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q73.plan.txt
@@ -2,7 +2,8 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, UNKNOWN, [])
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (ss_customer_sk, ss_ticket_number)
@@ -12,7 +13,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q74.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q74.plan.txt
index 4bdf6ae6e53f..d2d1b748a50d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q74.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q74.plan.txt
@@ -8,13 +8,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_97"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_97", "ss_sold_date_sk_117"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_74"])
- scan customer
+ dynamic filter (["c_customer_id_75"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_customer_id, c_first_name, c_last_name, d_year)
local exchange (GATHER, SINGLE, [])
@@ -23,13 +25,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_id"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_customer_id_534, c_first_name_541, c_last_name_542, d_year_598)
local exchange (GATHER, SINGLE, [])
@@ -37,11 +41,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (c_customer_id_534, c_first_name_541, c_last_name_542, d_year_598)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk_533"])
- scan customer
+ dynamic filter (["c_customer_id_534", "c_customer_sk_533"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_557"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_587"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -51,11 +57,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (c_customer_id_347, c_first_name_354, c_last_name_355, d_year_411)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk_346"])
- scan customer
+ dynamic filter (["c_customer_sk_346"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_370"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_400"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q75.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q75.plan.txt
index 20311d91862a..1a4324d04b55 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q75.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q75.plan.txt
@@ -8,50 +8,59 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_14, expr, expr_22, i_brand_id_7, i_category_id_9, i_class_id_8, i_manufact_id_10)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_order_number"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_7", "i_category_id_9", "i_class_id_8", "i_manufact_id_10"])
+ scan item
remote exchange (REPARTITION, HASH, ["i_brand_id_34", "i_category_id_38", "i_class_id_36", "i_manufact_id_40"])
partial aggregation over (d_year_58, expr_87, expr_88, i_brand_id_34, i_category_id_38, i_class_id_36, i_manufact_id_40)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_34", "i_category_id_38", "i_class_id_36", "i_manufact_id_40"])
+ scan item
remote exchange (REPARTITION, HASH, ["i_brand_id_100", "i_category_id_104", "i_class_id_102", "i_manufact_id_106"])
partial aggregation over (d_year_124, expr_153, expr_154, i_brand_id_100, i_category_id_104, i_class_id_102, i_manufact_id_106)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_100", "i_category_id_104", "i_class_id_102", "i_manufact_id_106"])
+ scan item
single aggregation over (d_year_157, i_brand_id_158, i_category_id_160, i_class_id_159, i_manufact_id_161)
final aggregation over (d_year_157, i_brand_id_158, i_category_id_160, i_class_id_159, i_manufact_id_161, sales_amt_163, sales_cnt_162)
local exchange (GATHER, SINGLE, [])
@@ -59,12 +68,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_240, expr_296, expr_297, i_brand_id_216, i_category_id_220, i_class_id_218, i_manufact_id_222)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cr_item_sk_266", "cr_order_number_280"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk_266", "cr_order_number_280"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk_185", "cs_order_number_187"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_185", "cs_sold_date_sk_204"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -75,12 +86,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_356, expr_405, expr_406, i_brand_id_332, i_category_id_336, i_class_id_334, i_manufact_id_338)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["sr_item_sk_382", "sr_ticket_number_389"])
- scan store_returns
+ dynamic filter (["sr_item_sk_382", "sr_ticket_number_389"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk_299", "ss_ticket_number_306"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk_299", "ss_sold_date_sk_320"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -91,12 +104,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_476, expr_529, expr_530, i_brand_id_452, i_category_id_456, i_class_id_454, i_manufact_id_458)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["wr_item_sk_502", "wr_order_number_513"])
- scan web_returns
+ dynamic filter (["wr_item_sk_502", "wr_order_number_513"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk_409", "ws_order_number_423"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_item_sk_409", "ws_sold_date_sk_440"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q76.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q76.plan.txt
index d7b6d9db21ac..ad45adef936d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q76.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q76.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_qoy_11, d_year_10, expr_144, expr_145, i_category_6)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -18,7 +19,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -29,7 +31,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_qoy_120, d_year_116, expr_141, expr_143, i_category_97)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q77.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q77.plan.txt
index f5f8b7b62eea..b632624a3d15 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q77.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q77.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ss_store_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -25,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (sr_store_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -38,7 +40,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_call_center_sk"])
partial aggregation over (cs_call_center_sk)
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -49,7 +52,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_call_center_sk"])
partial aggregation over (cr_call_center_sk)
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -60,7 +64,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ws_web_page_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -73,7 +78,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (wr_web_page_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk", "wr_web_page_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q78.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q78.plan.txt
index b4323e2a4d9e..90e088aff90e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q78.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q78.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
scan catalog_returns
@@ -25,10 +26,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -41,7 +44,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
scan web_returns
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q79.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q79.plan.txt
index c41171325a3c..733be6f6e8b7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q79.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q79.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q80.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q80.plan.txt
index a4b2da9fdab0..61944a8d3ab3 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q80.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q80.plan.txt
@@ -15,10 +15,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -41,10 +43,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_catalog_page_sk", "cs_item_sk", "cs_promo_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -67,10 +71,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_promo_sk", "ws_sold_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q81.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q81.plan.txt
index e2cfda6fe649..ea246cf5012d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q81.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q81.plan.txt
@@ -9,18 +9,21 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_state, cr_returning_customer_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_returning_addr_sk"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk", "cr_returning_customer_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -36,11 +39,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_state_95, cr_returning_customer_sk_31)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_87"])
- scan customer_address
+ dynamic filter (["ca_address_sk_87"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_returning_addr_sk_34"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk_51"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q82.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q82.plan.txt
index ab193ba29af9..5e08b02dfbf9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q82.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q82.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_current_price", "i_item_desc", "i_item_id"])
partial aggregation over (i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q83.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q83.plan.txt
index 87e080b8e1e2..a385eb207651 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q83.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q83.plan.txt
@@ -9,11 +9,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_item_sk"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_106"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_139)
@@ -21,7 +23,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_139"])
partial aggregation over (d_date_139)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_141"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_174)
@@ -31,22 +34,26 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_79"])
- scan item
+ dynamic filter (["i_item_id_80", "i_item_id_80"])
+ scan item
final aggregation over (i_item_id_213)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_213"])
partial aggregation over (i_item_id_213)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_212"])
- scan item
+ dynamic filter (["i_item_id_213", "i_item_sk_212"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_239"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_272)
@@ -54,7 +61,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_272"])
partial aggregation over (d_date_272)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_274"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_307)
@@ -69,11 +77,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_8)
@@ -81,7 +91,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_8"])
partial aggregation over (d_date_8)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_10"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_43)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q84.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q84.plan.txt
index ec22af2c6a55..b1402e98e5ab 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q84.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q84.plan.txt
@@ -1,23 +1,27 @@
local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_cdemo_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_hdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q85.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q85.plan.txt
index 2ae4cae3b89b..9742ebd40226 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q85.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q85.plan.txt
@@ -5,25 +5,29 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["r_reason_desc"])
partial aggregation over (r_reason_desc)
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk_10", "cd_education_status_13", "cd_marital_status_12"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_refunded_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["wr_refunded_cdemo_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_order_number", "wr_reason_sk", "wr_refunded_cdemo_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q86.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q86.plan.txt
index 990089879464..b6f0f04ea799 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q86.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q86.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (groupid, i_category$gid, i_class$gid)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q87.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q87.plan.txt
index 94d514729231..e7dab0f2199b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q87.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q87.plan.txt
@@ -12,7 +12,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -26,11 +27,13 @@ final aggregation over ()
partial aggregation over (c_first_name_55, c_last_name_56, d_date_18)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["c_customer_sk_47"])
- scan customer
+ dynamic filter (["c_customer_sk_47"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -41,11 +44,13 @@ final aggregation over ()
partial aggregation over (c_first_name_111, c_last_name_112, d_date_74)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["c_customer_sk_103"])
- scan customer
+ dynamic filter (["c_customer_sk_103"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q88.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q88.plan.txt
index 6e297c60e201..c91fc4bf8056 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q88.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q88.plan.txt
@@ -12,7 +12,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_time_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -29,7 +30,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_13", "ss_sold_time_sk_9", "ss_store_sk_15"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -46,7 +48,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_94", "ss_sold_time_sk_90", "ss_store_sk_96"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -63,7 +66,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_175", "ss_sold_time_sk_171", "ss_store_sk_177"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -80,7 +84,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_256", "ss_sold_time_sk_252", "ss_store_sk_258"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -97,7 +102,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_337", "ss_sold_time_sk_333", "ss_store_sk_339"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -114,7 +120,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_418", "ss_sold_time_sk_414", "ss_store_sk_420"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -131,7 +138,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_499", "ss_sold_time_sk_495", "ss_store_sk_501"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q89.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q89.plan.txt
index 2737c0093fbb..1d116106d04d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q89.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q89.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q90.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q90.plan.txt
index 0ddf21aa574d..2c74f5194fe4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q90.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q90.plan.txt
@@ -6,7 +6,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_hdemo_sk", "ws_sold_time_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan web_page
@@ -23,7 +24,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_hdemo_sk_18", "ws_sold_time_sk_9", "ws_web_page_sk_20"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan web_page
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q91.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q91.plan.txt
index c113b8bda923..d15fab949fef 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q91.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q91.plan.txt
@@ -12,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk", "c_current_hdemo_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
@@ -22,7 +23,8 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_returning_customer_sk"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_call_center_sk", "cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q92.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q92.plan.txt
index 4d76e724d197..19c57a5b9657 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q92.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q92.plan.txt
@@ -9,7 +9,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ws_item_sk_8"])
partial aggregation over (ws_item_sk_8)
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_8", "ws_sold_date_sk_39"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q93.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q93.plan.txt
index ca9dc7543db7..e1cd897adff9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q93.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q93.plan.txt
@@ -7,10 +7,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_reason_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan reason
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q94.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q94.plan.txt
index 259bf30db48e..c39bbd5e9062 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q94.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q94.plan.txt
@@ -8,13 +8,15 @@ final aggregation over ()
partial aggregation over (ca_state, d_date, unique, web_company_name, ws_ext_ship_cost, ws_net_profit, ws_order_number_25, ws_ship_addr_sk, ws_ship_date_sk, ws_warehouse_sk, ws_web_site_sk)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_order_number_25"])
- scan web_sales
+ dynamic filter (["ws_order_number_25"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_addr_sk", "ws_ship_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q95.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q95.plan.txt
index ea818962db9f..c6579b63bad2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q95.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q95.plan.txt
@@ -8,7 +8,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_order_number", "ws_ship_addr_sk", "ws_ship_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -26,20 +27,24 @@ final aggregation over ()
partial aggregation over (ws_order_number_25)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_order_number_25"])
- scan web_sales
+ dynamic filter (["ws_order_number_25", "ws_order_number_25"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_63"])
- scan web_sales
+ dynamic filter (["ws_order_number_63"])
+ scan web_sales
final aggregation over (ws_order_number_109)
local exchange (GATHER, SINGLE, [])
partial aggregation over (ws_order_number_109)
join (INNER, PARTITIONED, can skip output duplicates):
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_order_number_109"])
- scan web_sales
+ dynamic filter (["ws_order_number_109", "ws_order_number_109"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_147"])
scan web_sales
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q96.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q96.plan.txt
index 6ac294895946..e4fdf4d14611 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q96.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q96.plan.txt
@@ -5,7 +5,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_time_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q97.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q97.plan.txt
index 7b9c83293534..959bbfe9de73 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q97.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q97.plan.txt
@@ -8,7 +8,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk"])
partial aggregation over (ss_customer_sk, ss_item_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk", "cs_item_sk"])
partial aggregation over (cs_bill_customer_sk, cs_item_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q98.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q98.plan.txt
index a6a04beb1e8b..380d0394ba6f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q98.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q98.plan.txt
@@ -10,7 +10,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q99.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q99.plan.txt
index 6e2c1451c321..4037170bb1d7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q99.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q99.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_ship_date_sk", "cs_ship_mode_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q01.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q01.plan.txt
index da4afcb7be2b..113b0d7ec48b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q01.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q01.plan.txt
@@ -4,7 +4,8 @@ local exchange (GATHER, SINGLE, [])
join (LEFT, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk"])
join (INNER, REPLICATED):
@@ -13,7 +14,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_store_sk"])
partial aggregation over (sr_customer_sk, sr_store_sk)
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -31,7 +33,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk_12", "sr_store_sk_16"])
partial aggregation over (sr_customer_sk_12, sr_store_sk_16)
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk_9"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q02.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q02.plan.txt
index 3915d9d4ef91..05dbc1def179 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q02.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q02.plan.txt
@@ -10,14 +10,18 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name, d_week_seq)
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
- scan catalog_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq", "d_week_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_week_seq_22"])
- scan date_dim
+ dynamic filter (["d_week_seq_22"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["expr_226"])
join (INNER, PARTITIONED):
@@ -28,11 +32,14 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name_139, d_week_seq_129)
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
- scan catalog_sales
+ dynamic filter (["ws_sold_date_sk_51"])
+ scan web_sales
+ dynamic filter (["cs_sold_date_sk_88"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_129"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_week_seq_175"])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q03.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q03.plan.txt
index 70aae3fa1bdd..ede6415850e5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q03.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q03.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q04.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q04.plan.txt
index de846009f168..394dfb1bcd62 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q04.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q04.plan.txt
@@ -10,13 +10,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk_900"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk_900", "cs_sold_date_sk_897"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_876"])
- scan customer
+ dynamic filter (["c_customer_id_877", "c_customer_id_877", "c_customer_id_877"])
+ scan customer
final aggregation over (c_birth_country_1608, c_customer_id_1595, c_email_address_1610, c_first_name_1602, c_last_name_1603, c_login_1609, c_preferred_cust_flag_1604, d_year_1658)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_1595"])
@@ -24,13 +26,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_1619"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_1619", "ws_sold_date_sk_1615"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_1594"])
- scan customer
+ dynamic filter (["c_customer_id_1595", "c_customer_id_1595"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_birth_country_581, c_customer_id_568, c_email_address_583, c_first_name_575, c_last_name_576, c_login_582, c_preferred_cust_flag_577, d_year_631)
local exchange (GATHER, SINGLE, [])
@@ -39,13 +43,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk_591"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk_591", "cs_sold_date_sk_588"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_567"])
- scan customer
+ dynamic filter (["c_customer_id_568", "c_customer_id_568"])
+ scan customer
final aggregation over (c_birth_country_1299, c_customer_id_1286, c_email_address_1301, c_first_name_1293, c_last_name_1294, c_login_1300, c_preferred_cust_flag_1295, d_year_1349)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_1286"])
@@ -53,13 +59,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_1310"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_1310", "ws_sold_date_sk_1306"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_1285"])
- scan customer
+ dynamic filter (["c_customer_id_1286"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_birth_country_183, c_customer_id_170, c_email_address_185, c_first_name_177, c_last_name_178, c_login_184, c_preferred_cust_flag_179, d_year_222)
local exchange (GATHER, SINGLE, [])
@@ -68,13 +76,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_193"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_193", "ss_sold_date_sk_190"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_169"])
- scan customer
+ dynamic filter (["c_customer_id_170"])
+ scan customer
final aggregation over (c_birth_country, c_customer_id, c_email_address, c_first_name, c_last_name, c_login, c_preferred_cust_flag, d_year)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id"])
@@ -82,7 +92,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q05.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q05.plan.txt
index 4155bb638c70..2ae557127802 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q05.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q05.plan.txt
@@ -12,8 +12,10 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan store_sales
- scan store_returns
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,8 +29,10 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan catalog_sales
- scan catalog_returns
+ dynamic filter (["cs_catalog_page_sk", "cs_sold_date_sk"])
+ scan catalog_sales
+ dynamic filter (["cr_catalog_page_sk", "cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,13 +46,16 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
+ dynamic filter (["ws_sold_date_sk", "ws_web_site_sk"])
+ scan web_sales
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk_92", "ws_order_number_106"])
- scan web_sales
+ dynamic filter (["ws_item_sk_92", "ws_order_number_106", "ws_web_site_sk_102"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_returned_date_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q06.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q06.plan.txt
index 2a72afdda3fa..5f995244674e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q06.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q06.plan.txt
@@ -10,11 +10,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_month_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -28,7 +30,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q07.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q07.plan.txt
index 32f4763b443d..a8da2880635e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q07.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q07.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q08.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q08.plan.txt
index 432e37f5b19c..a08d6fc651ff 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q08.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q08.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["substr_39"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -30,7 +31,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_zip_19)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_10"])
- scan customer_address
+ dynamic filter (["ca_address_sk_10"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q10.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q10.plan.txt
index 7d60d2a5fdd5..751f1ac52a8c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q10.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q10.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_ship_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -21,14 +22,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
@@ -37,14 +40,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q11.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q11.plan.txt
index b7d39628c9e9..32e112eb2fed 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q11.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q11.plan.txt
@@ -9,13 +9,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_107"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_107", "ss_sold_date_sk_104"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_83"])
- scan customer
+ dynamic filter (["c_customer_id_84", "c_customer_id_84"])
+ scan customer
final aggregation over (c_birth_country_385, c_customer_id_372, c_email_address_387, c_first_name_379, c_last_name_380, c_login_386, c_preferred_cust_flag_381, d_year_435)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_372"])
@@ -23,13 +25,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_396"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_396", "ws_sold_date_sk_392"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_371"])
- scan customer
+ dynamic filter (["c_customer_id_372"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_birth_country, c_customer_id, c_email_address, c_first_name, c_last_name, c_login, c_preferred_cust_flag, d_year)
local exchange (GATHER, SINGLE, [])
@@ -38,13 +42,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_id"])
+ scan customer
final aggregation over (c_birth_country_584, c_customer_id_571, c_email_address_586, c_first_name_578, c_last_name_579, c_login_585, c_preferred_cust_flag_580, d_year_634)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_571"])
@@ -52,7 +58,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_595"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_595", "ws_sold_date_sk_591"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q12.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q12.plan.txt
index 6f94c98c5224..04b0eb523fd6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q12.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q12.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q13.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q13.plan.txt
index 011d5b20fbba..8f205090a87c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q13.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q13.plan.txt
@@ -7,7 +7,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_cdemo_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q14.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q14.plan.txt
index fe1028ad939b..c19a48e3a386 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q14.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q14.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_6, i_category_id_8, i_class_id_7)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,21 +21,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
final aggregation over (i_item_sk_15)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_15"])
partial aggregation over (i_item_sk_15)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_22", "i_category_id_26", "i_class_id_24"])
- scan item
+ dynamic filter (["i_brand_id_22", "i_category_id_26", "i_class_id_24"])
+ scan item
final aggregation over (brand_id, category_id, class_id)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_76", "i_category_id_80", "i_class_id_78"])
partial aggregation over (i_brand_id_76, i_category_id_80, i_class_id_78)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_45", "ss_sold_date_sk_43"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -45,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_135, i_category_id_139, i_class_id_137)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -56,7 +61,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_194, i_category_id_198, i_class_id_196)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -70,19 +76,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_248"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_305"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_373"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -93,7 +102,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_488, i_category_id_492, i_class_id_490)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_459", "cs_sold_date_sk_444"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -101,21 +111,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_481"])
- scan item
+ dynamic filter (["i_item_sk_481"])
+ scan item
final aggregation over (i_item_sk_539)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_539"])
partial aggregation over (i_item_sk_539)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_546", "i_category_id_550", "i_class_id_548"])
- scan item
+ dynamic filter (["i_brand_id_546", "i_category_id_550", "i_class_id_548"])
+ scan item
final aggregation over (brand_id_564, category_id_566, class_id_565)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_603", "i_category_id_607", "i_class_id_605"])
partial aggregation over (i_brand_id_603, i_category_id_607, i_class_id_605)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_572", "ss_sold_date_sk_570"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -126,7 +139,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_696, i_category_id_700, i_class_id_698)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_667", "cs_sold_date_sk_652"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -137,7 +151,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_789, i_category_id_793, i_class_id_791)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_748", "ws_sold_date_sk_745"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -151,19 +166,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_850"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_907"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_975"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -174,7 +192,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1090, i_category_id_1094, i_class_id_1092)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_1049", "ws_sold_date_sk_1046"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -182,21 +201,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_1083"])
- scan item
+ dynamic filter (["i_item_sk_1083"])
+ scan item
final aggregation over (i_item_sk_1141)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_1141"])
partial aggregation over (i_item_sk_1141)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_1148", "i_category_id_1152", "i_class_id_1150"])
- scan item
+ dynamic filter (["i_brand_id_1148", "i_category_id_1152", "i_class_id_1150"])
+ scan item
final aggregation over (brand_id_1166, category_id_1168, class_id_1167)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_1205", "i_category_id_1209", "i_class_id_1207"])
partial aggregation over (i_brand_id_1205, i_category_id_1209, i_class_id_1207)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_1174", "ss_sold_date_sk_1172"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -207,7 +229,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1298, i_category_id_1302, i_class_id_1300)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_1269", "cs_sold_date_sk_1254"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -218,7 +241,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1391, i_category_id_1395, i_class_id_1393)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_1350", "ws_sold_date_sk_1347"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -232,19 +256,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_1452"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_1509"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_1577"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q15.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q15.plan.txt
index f359fbefb40f..f6e8849bd9b5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q15.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q15.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -15,7 +16,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q16.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q16.plan.txt
index c15c528fe625..59deb196e0c3 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q16.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q16.plan.txt
@@ -8,19 +8,22 @@ final aggregation over ()
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_order_number"])
partial aggregation over (cr_order_number)
- scan catalog_returns
+ dynamic filter (["cr_order_number"])
+ scan catalog_returns
final aggregation over (ca_state, cc_county, cs_call_center_sk, cs_ext_ship_cost, cs_net_profit, cs_order_number_26, cs_ship_addr_sk, cs_ship_date_sk, cs_warehouse_sk, d_date, unique)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_order_number_26"])
partial aggregation over (ca_state, cc_county, cs_call_center_sk, cs_ext_ship_cost, cs_net_profit, cs_order_number_26, cs_ship_addr_sk, cs_ship_date_sk, cs_warehouse_sk, d_date, unique)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_order_number_26"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_ship_addr_sk", "cs_ship_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q17.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q17.plan.txt
index 47c73f484403..7082811c8502 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q17.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q17.plan.txt
@@ -6,26 +6,30 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_item_desc, i_item_id, s_state)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q18.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q18.plan.txt
index f338fb880363..5a6585df67fc 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q18.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q18.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q19.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q19.plan.txt
index 5230f46699ba..f1187ea40a27 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q19.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q19.plan.txt
@@ -6,18 +6,21 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand, i_brand_id, i_manufact, i_manufact_id)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q20.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q20.plan.txt
index 852a9d2a3e5c..2e873503ece8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q20.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q20.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q21.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q21.plan.txt
index 50e40917c430..2ec2a1799207 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q21.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q21.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q22.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q22.plan.txt
index 2fd28d3f31ed..6f1d958f18df 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q22.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q22.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand", "i_product_name"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q23.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q23.plan.txt
index 27916e13ceea..5fa13ead1f8d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q23.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q23.plan.txt
@@ -12,17 +12,20 @@ final aggregation over ()
partial aggregation over (d_date_8, ss_item_sk, substr$gid)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -33,7 +36,8 @@ final aggregation over ()
partial aggregation over (ss_customer_sk_47)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_47"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_47"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
scan customer
@@ -49,7 +53,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_77"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_77", "ss_sold_date_sk_74"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -67,17 +72,20 @@ final aggregation over ()
partial aggregation over (d_date_222, ss_item_sk_196, substr$gid_279)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_196", "ss_item_sk_196", "ss_sold_date_sk_194"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk_251"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -88,7 +96,8 @@ final aggregation over ()
partial aggregation over (ss_customer_sk_288)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_288"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_288"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_311"])
scan customer
@@ -104,7 +113,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_338"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_338", "ss_sold_date_sk_335"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q24.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q24.plan.txt
index 5a1ffc003e35..a0d51a4d85a3 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q24.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q24.plan.txt
@@ -12,21 +12,25 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (c_first_name, c_last_name, ca_state, i_color, i_current_price, i_manager_id, i_size, i_units, s_state, s_store_name)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_zip", "upper"])
- scan customer_address
+ dynamic filter (["ca_zip"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_birth_country", "s_zip"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -51,16 +55,20 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk_18", "ss_ticket_number_25"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_19", "ss_item_sk_18", "ss_item_sk_18", "ss_store_sk_23", "ss_ticket_number_25"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_zip_90"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk_44", "sr_ticket_number_51"])
- scan store_returns
+ dynamic filter (["sr_item_sk_44"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_122"])
- scan customer
+ dynamic filter (["c_birth_country_136"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q25.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q25.plan.txt
index a21872e9dd27..2cf400cb82cd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q25.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q25.plan.txt
@@ -6,26 +6,30 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_item_desc, i_item_id, s_store_id, s_store_name)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q26.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q26.plan.txt
index 555bb67d3baa..d91ef68bdab5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q26.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q26.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_item_sk", "cs_promo_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q27.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q27.plan.txt
index ed0e2e73e9f3..bb3578559862 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q27.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q27.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q29.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q29.plan.txt
index a21872e9dd27..2cf400cb82cd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q29.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q29.plan.txt
@@ -6,26 +6,30 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_item_desc, i_item_id, s_store_id, s_store_name)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q30.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q30.plan.txt
index e13b23c55ef6..6f9ba58b4915 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q30.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q30.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["wr_returning_addr_sk"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk", "wr_returning_addr_sk", "wr_returning_customer_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -37,7 +39,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["wr_returning_addr_sk_35"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk_25", "wr_returning_addr_sk_35"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q31.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q31.plan.txt
index ee2d19c0ffcf..a0f39464ea33 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q31.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q31.plan.txt
@@ -11,13 +11,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk_12"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk_12", "ss_sold_date_sk_6"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_63"])
- scan customer_address
+ dynamic filter (["ca_county_70", "ca_county_70", "ca_county_70"])
+ scan customer_address
final aggregation over (ca_county_147, d_qoy_119, d_year_115)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_147"])
@@ -25,13 +27,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk_89"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk_89", "ss_sold_date_sk_83"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_140"])
- scan customer_address
+ dynamic filter (["ca_county_147", "ca_county_147"])
+ scan customer_address
join (INNER, PARTITIONED):
final aggregation over (ca_county_289, d_qoy_261, d_year_257)
local exchange (GATHER, SINGLE, [])
@@ -40,13 +44,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk_221"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk_221", "ws_sold_date_sk_214"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_282"])
- scan customer_address
+ dynamic filter (["ca_county_289", "ca_county_289"])
+ scan customer_address
final aggregation over (ca_county_377, d_qoy_349, d_year_345)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_377"])
@@ -54,13 +60,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk_309"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk_309", "ws_sold_date_sk_302"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_370"])
- scan customer_address
+ dynamic filter (["ca_county_377"])
+ scan customer_address
join (INNER, PARTITIONED):
final aggregation over (ca_county, d_qoy, d_year)
local exchange (GATHER, SINGLE, [])
@@ -69,13 +77,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_county"])
+ scan customer_address
final aggregation over (ca_county_201, d_qoy_173, d_year_169)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_201"])
@@ -83,7 +93,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q32.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q32.plan.txt
index fbb263a8d062..06b08360b712 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q32.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q32.plan.txt
@@ -9,7 +9,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_item_sk_21"])
partial aggregation over (cs_item_sk_21)
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_21", "cs_sold_date_sk_6"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q33.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q33.plan.txt
index 6d9187d8b05b..2823edeef950 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q33.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q33.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_8"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_25)
@@ -36,7 +38,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -46,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_102"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_129)
@@ -62,7 +66,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -72,7 +77,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_208"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_235)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q34.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q34.plan.txt
index e9f7af9e157c..537336239d51 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q34.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q34.plan.txt
@@ -3,7 +3,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
final aggregation over (ss_customer_sk, ss_ticket_number)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
@@ -11,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q35.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q35.plan.txt
index f1fed4317214..5a7a74e49f1f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q35.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q35.plan.txt
@@ -13,7 +13,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
@@ -22,7 +23,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -34,7 +36,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -43,7 +46,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q36.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q36.plan.txt
index 3fe86fe51161..c4ad4ee53ecf 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q36.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q36.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q37.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q37.plan.txt
index 2582d9fa4122..eadc54781cf8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q37.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q37.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_current_price", "i_item_desc", "i_item_id"])
partial aggregation over (i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q38.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q38.plan.txt
index 6590f3356d80..5bc1ea22a688 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q38.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q38.plan.txt
@@ -12,7 +12,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,7 +28,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,7 +44,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q39.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q39.plan.txt
index c06e49455217..f002dbe411e5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q39.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q39.plan.txt
@@ -10,16 +10,19 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_item_sk", "inv_warehouse_sk", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan warehouse
+ dynamic filter (["w_warehouse_sk"])
+ scan warehouse
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["inv_item_sk_12", "inv_warehouse_sk_13"])
final aggregation over (d_moy_68, inv_item_sk_12, inv_warehouse_sk_13, w_warehouse_name_45)
@@ -29,7 +32,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk_11", "inv_item_sk_12", "inv_warehouse_sk_13"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q40.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q40.plan.txt
index 266142fc4c1a..7b700b882104 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q40.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q40.plan.txt
@@ -9,10 +9,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q41.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q41.plan.txt
index 58a96c8d1ec2..772ad4b317c4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q41.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q41.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_product_name)
single aggregation over (i_manufact, i_manufact_id, i_product_name, unique)
join (INNER, REPLICATED, can skip output duplicates):
- scan item
+ dynamic filter (["i_manufact"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q42.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q42.plan.txt
index 87792b40cd98..534e670ed02a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q42.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q42.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_category, i_category_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q43.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q43.plan.txt
index 9d9e36441a12..b94077c666ea 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q43.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q43.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name, s_store_id, s_store_name)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q45.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q45.plan.txt
index 6af76139314e..b4b112847006 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q45.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q45.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q46.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q46.plan.txt
index 87414d60d6a0..c2b50b79e318 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q46.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q46.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_customer_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
@@ -27,7 +28,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_16"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q47.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q47.plan.txt
index 626ebbc4e55f..fda3108a0949 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q47.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q47.plan.txt
@@ -11,16 +11,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_company_name", "s_company_name", "s_store_name", "s_store_name"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand", "i_brand", "i_category", "i_category"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_17", "i_category_21", "s_company_name_108", "s_store_name_96"])
final aggregation over (d_moy_68, d_year_66, i_brand_17, i_category_21, s_company_name_108, s_store_name_96)
@@ -30,16 +33,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_36", "ss_sold_date_sk_34", "ss_store_sk_41"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_company_name_108", "s_store_name_96"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_17", "i_category_21"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_140", "i_category_144", "s_company_name_231", "s_store_name_219"])
final aggregation over (d_moy_191, d_year_189, i_brand_140, i_category_144, s_company_name_231, s_store_name_219)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_159", "ss_sold_date_sk_157", "ss_store_sk_164"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q48.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q48.plan.txt
index dd3059b1afd4..17d20aa59ac5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q48.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q48.plan.txt
@@ -6,7 +6,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_cdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q49.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q49.plan.txt
index fed42e3537db..9ee85aa8c159 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q49.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q49.plan.txt
@@ -12,11 +12,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (wr_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -30,11 +32,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (cr_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_order_number"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -48,11 +52,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (sr_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q50.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q50.plan.txt
index c2a9d481bf10..8ff8d8dbfebf 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q50.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q50.plan.txt
@@ -8,11 +8,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q51.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q51.plan.txt
index 31354b085b64..6d4f17eaa6ad 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q51.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q51.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
partial aggregation over (d_date, ws_item_sk)
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk"])
partial aggregation over (d_date_9, ss_item_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q52.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q52.plan.txt
index 70aae3fa1bdd..ede6415850e5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q52.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q52.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q53.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q53.plan.txt
index cd10ab3698e6..799e43e0eca0 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q53.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q53.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q54.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q54.plan.txt
index 9e373b4ddc1c..a45cf2635fb4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q54.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q54.plan.txt
@@ -12,13 +12,15 @@ local exchange (GATHER, SINGLE, [])
cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk", "ca_county", "ca_state"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
@@ -27,14 +29,17 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
partial aggregation over (c_current_addr_sk, c_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan catalog_sales
- scan web_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -43,7 +48,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_month_seq_24"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q55.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q55.plan.txt
index f89f2f078b63..c58f37a50aa2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q55.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q55.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q56.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q56.plan.txt
index be881ce912e9..289e7cfd56ee 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q56.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q56.plan.txt
@@ -10,14 +10,16 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_8"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_13)
@@ -37,14 +39,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_bill_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_90"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_117)
@@ -64,14 +68,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_196"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_223)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q57.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q57.plan.txt
index e9f0b1bd10c0..3877634bd233 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q57.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q57.plan.txt
@@ -11,16 +11,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan call_center
+ dynamic filter (["cc_name", "cc_name"])
+ scan call_center
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand", "i_brand", "i_category", "i_category"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cc_name_108", "i_brand_17", "i_category_21"])
final aggregation over (cc_name_108, d_moy_79, d_year_77, i_brand_17, i_category_21)
@@ -30,16 +33,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk_45", "cs_item_sk_49", "cs_sold_date_sk_34"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan call_center
+ dynamic filter (["cc_name_108"])
+ scan call_center
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_17", "i_category_21"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cc_name_243", "i_brand_152", "i_category_156"])
final aggregation over (cc_name_243, d_moy_214, d_year_212, i_brand_152, i_category_156)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk_180", "cs_item_sk_184", "cs_sold_date_sk_169"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q58.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q58.plan.txt
index b5044356bbce..e6f484b37c06 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q58.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q58.plan.txt
@@ -7,11 +7,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_8)
@@ -19,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_8"])
partial aggregation over (d_date_8)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_10"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -27,7 +30,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_id"])
+ scan item
join (INNER, PARTITIONED):
final aggregation over (i_item_id_74)
local exchange (GATHER, SINGLE, [])
@@ -36,11 +40,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_100"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_133)
@@ -48,7 +54,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_133"])
partial aggregation over (d_date_133)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_135"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -56,7 +63,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_73"])
- scan item
+ dynamic filter (["i_item_id_74"])
+ scan item
final aggregation over (i_item_id_201)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_201"])
@@ -64,11 +72,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_227"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_260)
@@ -76,7 +86,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_260"])
partial aggregation over (d_date_260)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_262"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q59.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q59.plan.txt
index 8c0032f32687..e93410ecd0d8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q59.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q59.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_day_name", "d_week_seq", "ss_store_sk"])
partial aggregation over (d_day_name, d_week_seq, ss_store_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["expr_210", "s_store_sk"])
join (INNER, PARTITIONED):
@@ -29,10 +31,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_day_name_89", "d_week_seq_79", "ss_store_sk_56"])
partial aggregation over (d_day_name_89, d_week_seq_79, ss_store_sk_56)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_49", "ss_store_sk_56"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_79"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -43,7 +47,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_store_sk_122"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["s_store_id"])
- scan store
+ dynamic filter (["s_store_id"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_store_id_123"])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q60.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q60.plan.txt
index b42dce272fe4..e9c8ee306946 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q60.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q60.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_8"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_13)
@@ -36,7 +38,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -46,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_90"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_117)
@@ -62,7 +66,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -72,7 +77,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_196"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_223)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q61.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q61.plan.txt
index aa366b079da7..f43253f5a7a4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q61.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q61.plan.txt
@@ -9,7 +9,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -22,7 +23,8 @@ cross join:
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -38,7 +40,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_21", "ss_item_sk_20", "ss_sold_date_sk_18", "ss_store_sk_25"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -51,7 +54,8 @@ cross join:
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_107"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk_111"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q62.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q62.plan.txt
index 61172c74fc4f..26846a9ba0a9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q62.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q62.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_date_sk", "ws_ship_mode_sk", "ws_warehouse_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q63.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q63.plan.txt
index 23e28eddc4b7..da2cbd549a64 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q63.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q63.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q64.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q64.plan.txt
index 6497c0e5dec4..1a0e3df6e41e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q64.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q64.plan.txt
@@ -9,11 +9,13 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (ca_city, ca_city_119, ca_street_name, ca_street_name_116, ca_street_number, ca_street_number_115, ca_zip, ca_zip_122, d_year, d_year_19, d_year_50, i_product_name, s_store_name, s_zip, ss_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_113"])
- scan customer_address
+ dynamic filter (["ca_address_sk_113"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
@@ -30,13 +32,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_customer_sk", "ss_hdemo_sk", "ss_item_sk", "ss_item_sk", "ss_item_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_item_sk", "sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (cs_item_sk)
@@ -45,21 +49,25 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (cs_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_item_sk", "cs_item_sk", "cs_order_number"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_store_name", "s_zip"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_cdemo_sk", "c_current_hdemo_sk", "c_first_sales_date_sk", "c_first_shipto_date_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -68,7 +76,8 @@ remote exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cd_demo_sk_84"])
scan customer_demographics
@@ -78,14 +87,16 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_103"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
@@ -97,11 +108,13 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (ca_city_484, ca_city_500, ca_street_name_481, ca_street_name_497, ca_street_number_480, ca_street_number_496, ca_zip_487, ca_zip_503, d_year_276, d_year_307, d_year_338, i_product_name_543, s_store_name_368, s_zip_388, ss_item_sk_152)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_494"])
- scan customer_address
+ dynamic filter (["ca_address_sk_494"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk_399"])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk_478"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
@@ -118,13 +131,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk_152", "ss_ticket_number_159"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk_154", "ss_customer_sk_153", "ss_hdemo_sk_155", "ss_item_sk_152", "ss_item_sk_152", "ss_item_sk_152", "ss_promo_sk_158", "ss_sold_date_sk_150", "ss_store_sk_157", "ss_ticket_number_159"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk_178", "sr_ticket_number_185"])
- scan store_returns
+ dynamic filter (["sr_item_sk_178", "sr_item_sk_178"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (cs_item_sk_214)
@@ -133,10 +148,12 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (cs_item_sk_214)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk_214", "cs_order_number_216"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk_214", "cs_item_sk_214", "cs_order_number_216"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk_238", "cr_order_number_252"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk_238"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
@@ -147,7 +164,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_395"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_cdemo_sk_397", "c_current_hdemo_sk_398", "c_first_sales_date_sk_401", "c_first_shipto_date_sk_400"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -166,14 +184,16 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_463"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_471"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q65.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q65.plan.txt
index 16d4126e5149..61f01b3fa142 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q65.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q65.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk_11", "ss_store_sk_16"])
partial aggregation over (ss_item_sk_11, ss_store_sk_16)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_11", "ss_sold_date_sk_9", "ss_store_sk_16"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -15,7 +16,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["s_store_sk"])
- scan store
+ dynamic filter (["s_store_sk"])
+ scan store
final aggregation over (ss_store_sk)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_store_sk"])
@@ -25,7 +27,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_store_sk"])
partial aggregation over (ss_item_sk, ss_store_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q66.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q66.plan.txt
index d78688a29a6c..51363df4de0e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q66.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q66.plan.txt
@@ -15,7 +15,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_mode_sk", "ws_sold_date_sk", "ws_sold_time_sk", "ws_warehouse_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan ship_mode
@@ -41,7 +42,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_ship_mode_sk", "cs_sold_date_sk", "cs_sold_time_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan ship_mode
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q67.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q67.plan.txt
index 60f46f2fcf90..66c2001151d6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q67.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q67.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q68.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q68.plan.txt
index ecbd5a004789..e33ba7b62a75 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q68.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q68.plan.txt
@@ -4,7 +4,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
final aggregation over (ca_address_sk, ca_city, ss_customer_sk, ss_ticket_number)
@@ -12,13 +13,15 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_address_sk, ca_city, ss_customer_sk, ss_ticket_number)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q69.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q69.plan.txt
index d304792469c0..c79f374b67e4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q69.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q69.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -19,7 +20,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cd_demo_sk"])
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
join (INNER, PARTITIONED):
@@ -28,14 +30,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -44,7 +48,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q70.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q70.plan.txt
index ad464d39cb92..2ef4b83f1a2e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q70.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q70.plan.txt
@@ -10,13 +10,15 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_state"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_state"])
+ scan store
single aggregation over (s_state_56)
final aggregation over (s_state_56)
local exchange (GATHER, SINGLE, [])
@@ -24,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (s_state_56)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_6", "ss_store_sk_13"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q71.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q71.plan.txt
index 599dd0ab9f9c..eb516d2aebba 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q71.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q71.plan.txt
@@ -9,17 +9,20 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk", "ws_sold_time_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk", "cs_sold_time_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_sold_time_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q72.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q72.plan.txt
index 9da6042a0c9d..691351a17b1b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q72.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q72.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["inv_item_sk"])
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_quantity_on_hand", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_22"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
@@ -21,7 +23,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_bill_hdemo_sk", "cs_item_sk", "cs_ship_date_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q73.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q73.plan.txt
index 8a3c9f5087e6..0ceb0cf526e0 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q73.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q73.plan.txt
@@ -3,7 +3,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
final aggregation over (ss_customer_sk, ss_ticket_number)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
@@ -11,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q74.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q74.plan.txt
index f60b1a673ca9..07c30512a762 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q74.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q74.plan.txt
@@ -9,13 +9,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_97"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_97", "ss_sold_date_sk_94"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_73"])
- scan customer
+ dynamic filter (["c_customer_id_74", "c_customer_id_74"])
+ scan customer
final aggregation over (c_customer_id_343, c_first_name_350, c_last_name_351, d_year_406)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_343"])
@@ -23,13 +25,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_367"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_367", "ws_sold_date_sk_363"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_342"])
- scan customer
+ dynamic filter (["c_customer_id_343"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_customer_id, c_first_name, c_last_name, d_year)
local exchange (GATHER, SINGLE, [])
@@ -38,13 +42,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_id"])
+ scan customer
final aggregation over (c_customer_id_528, c_first_name_535, c_last_name_536, d_year_591)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_528"])
@@ -52,7 +58,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_552"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_552", "ws_sold_date_sk_548"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q75.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q75.plan.txt
index d5a331127722..39f85889c5ba 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q75.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q75.plan.txt
@@ -8,15 +8,18 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_14, expr, expr_21, i_brand_id_7, i_category_id_9, i_class_id_8, i_manufact_id_10)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_order_number"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_7", "i_category_id_9", "i_class_id_8", "i_manufact_id_10"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -24,15 +27,18 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_56, expr_84, expr_85, i_brand_id_32, i_category_id_36, i_class_id_34, i_manufact_id_38)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_32", "i_category_id_36", "i_class_id_34", "i_manufact_id_38"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -40,15 +46,18 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_120, expr_148, expr_149, i_brand_id_96, i_category_id_100, i_class_id_98, i_manufact_id_102)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_96", "i_category_id_100", "i_class_id_98", "i_manufact_id_102"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -59,12 +68,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_234, expr_289, expr_290, i_brand_id_210, i_category_id_214, i_class_id_212, i_manufact_id_216)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cr_item_sk_261", "cr_order_number_275"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk_261", "cr_order_number_275"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk_181", "cs_order_number_183"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_181", "cs_sold_date_sk_166"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -75,12 +86,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_348, expr_396, expr_397, i_brand_id_324, i_category_id_328, i_class_id_326, i_manufact_id_330)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["sr_item_sk_375", "sr_ticket_number_382"])
- scan store_returns
+ dynamic filter (["sr_item_sk_375", "sr_ticket_number_382"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk_293", "ss_ticket_number_300"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk_293", "ss_sold_date_sk_291"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -91,12 +104,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_466, expr_518, expr_519, i_brand_id_442, i_category_id_446, i_class_id_444, i_manufact_id_448)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["wr_item_sk_493", "wr_order_number_504"])
- scan web_returns
+ dynamic filter (["wr_item_sk_493", "wr_order_number_504"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk_401", "ws_order_number_415"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_item_sk_401", "ws_sold_date_sk_398"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q76.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q76.plan.txt
index 2c646494d11f..730ca4dd07a5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q76.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q76.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_qoy_11, d_year_10, expr_142, expr_143, i_category_6)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,12 +18,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_qoy_55, d_year_51, expr_148, expr_149, i_category_32)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_20"])
- scan item
+ dynamic filter (["i_item_sk_20"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_sold_date_sk"])
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_sk_45"])
scan date_dim
@@ -30,7 +33,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_qoy_118, d_year_114, expr_139, expr_141, i_category_95)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q77.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q77.plan.txt
index f5f8b7b62eea..b632624a3d15 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q77.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q77.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ss_store_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -25,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (sr_store_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -38,7 +40,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_call_center_sk"])
partial aggregation over (cs_call_center_sk)
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -49,7 +52,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_call_center_sk"])
partial aggregation over (cr_call_center_sk)
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -60,7 +64,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ws_web_page_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -73,7 +78,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (wr_web_page_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk", "wr_web_page_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q78.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q78.plan.txt
index 67354600be94..05f604f31b0f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q78.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q78.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_customer_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -24,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
scan web_returns
@@ -38,7 +41,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
scan catalog_returns
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q79.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q79.plan.txt
index c41171325a3c..733be6f6e8b7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q79.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q79.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q80.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q80.plan.txt
index a4b2da9fdab0..61944a8d3ab3 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q80.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q80.plan.txt
@@ -15,10 +15,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -41,10 +43,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_catalog_page_sk", "cs_item_sk", "cs_promo_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -67,10 +71,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_promo_sk", "ws_sold_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q81.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q81.plan.txt
index 0f6856f9c813..a55559ba33ae 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q81.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q81.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_returning_addr_sk"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk", "cr_returning_addr_sk", "cr_returning_customer_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -37,7 +39,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_returning_addr_sk_35"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk_25", "cr_returning_addr_sk_35"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q82.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q82.plan.txt
index 532952036fc3..d3b691e03fe2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q82.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q82.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_current_price", "i_item_desc", "i_item_id"])
partial aggregation over (i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q83.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q83.plan.txt
index cc4b500d368e..68311b10a8a8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q83.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q83.plan.txt
@@ -8,11 +8,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_8)
@@ -20,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_8"])
partial aggregation over (d_date_8)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_10"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_43)
@@ -30,7 +33,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_id"])
+ scan item
join (INNER, PARTITIONED):
final aggregation over (i_item_id_79)
local exchange (GATHER, SINGLE, [])
@@ -39,11 +43,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_item_sk"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_105"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_138)
@@ -51,7 +57,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_138"])
partial aggregation over (d_date_138)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_140"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_173)
@@ -61,7 +68,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_78"])
- scan item
+ dynamic filter (["i_item_id_79"])
+ scan item
final aggregation over (i_item_id_211)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_211"])
@@ -69,11 +77,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["wr_item_sk"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_returned_date_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_237"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_270)
@@ -81,7 +91,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_270"])
partial aggregation over (d_date_270)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_272"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_305)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q84.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q84.plan.txt
index ec22af2c6a55..b1402e98e5ab 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q84.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q84.plan.txt
@@ -1,23 +1,27 @@
local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_cdemo_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_hdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q85.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q85.plan.txt
index ab3b2c159101..bd95b54c9bc8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q85.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q85.plan.txt
@@ -6,13 +6,15 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (r_reason_desc)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk_9", "cd_education_status_12", "cd_marital_status_11"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_refunded_addr_sk"])
join (INNER, PARTITIONED):
@@ -20,13 +22,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_order_number", "ws_sold_date_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_reason_sk", "wr_refunded_cdemo_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cd_demo_sk"])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q86.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q86.plan.txt
index 990089879464..b6f0f04ea799 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q86.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q86.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (groupid, i_category$gid, i_class$gid)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q87.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q87.plan.txt
index 6590f3356d80..5bc1ea22a688 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q87.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q87.plan.txt
@@ -12,7 +12,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,7 +28,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,7 +44,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q88.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q88.plan.txt
index 6e297c60e201..933c8e09c951 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q88.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q88.plan.txt
@@ -12,7 +12,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_time_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -29,7 +30,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_14", "ss_sold_time_sk_10", "ss_store_sk_16"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -46,7 +48,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_94", "ss_sold_time_sk_90", "ss_store_sk_96"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -63,7 +66,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_174", "ss_sold_time_sk_170", "ss_store_sk_176"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -80,7 +84,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_254", "ss_sold_time_sk_250", "ss_store_sk_256"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -97,7 +102,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_334", "ss_sold_time_sk_330", "ss_store_sk_336"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -114,7 +120,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_414", "ss_sold_time_sk_410", "ss_store_sk_416"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -131,7 +138,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_494", "ss_sold_time_sk_490", "ss_store_sk_496"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q89.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q89.plan.txt
index 396d705bbc38..221dfc17c333 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q89.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q89.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q90.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q90.plan.txt
index 0ddf21aa574d..1d5fb0078c8e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q90.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q90.plan.txt
@@ -6,7 +6,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_hdemo_sk", "ws_sold_time_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan web_page
@@ -23,7 +24,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_hdemo_sk_19", "ws_sold_time_sk_10", "ws_web_page_sk_21"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan web_page
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q91.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q91.plan.txt
index f1c8dfe5de34..88aa947559a2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q91.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q91.plan.txt
@@ -10,7 +10,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_returning_customer_sk"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_call_center_sk", "cr_returned_date_sk", "cr_returning_customer_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -19,7 +20,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk", "c_current_hdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q92.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q92.plan.txt
index 2e92e9b3a1a9..e8379e0b3d7d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q92.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q92.plan.txt
@@ -9,7 +9,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ws_item_sk_9"])
partial aggregation over (ws_item_sk_9)
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_9", "ws_sold_date_sk_6"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q93.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q93.plan.txt
index ca9dc7543db7..e1cd897adff9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q93.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q93.plan.txt
@@ -7,10 +7,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_reason_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan reason
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q94.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q94.plan.txt
index 94db94105538..f2a67379c67d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q94.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q94.plan.txt
@@ -8,19 +8,22 @@ final aggregation over ()
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_order_number"])
partial aggregation over (wr_order_number)
- scan web_returns
+ dynamic filter (["wr_order_number"])
+ scan web_returns
final aggregation over (ca_state, d_date, unique, web_company_name, ws_ext_ship_cost, ws_net_profit, ws_order_number_26, ws_ship_addr_sk, ws_ship_date_sk, ws_warehouse_sk, ws_web_site_sk)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_26"])
partial aggregation over (ca_state, d_date, unique, web_company_name, ws_ext_ship_cost, ws_net_profit, ws_order_number_26, ws_ship_addr_sk, ws_ship_date_sk, ws_warehouse_sk, ws_web_site_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_order_number_26"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_addr_sk", "ws_ship_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q95.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q95.plan.txt
index 9daf91528a0a..ced52810409b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q95.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q95.plan.txt
@@ -9,29 +9,35 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_order_number_107"])
- scan web_sales
+ dynamic filter (["ws_order_number_107", "ws_order_number_107", "ws_order_number_107"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_order_number", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_144"])
- scan web_sales
+ dynamic filter (["ws_order_number_144"])
+ scan web_sales
join (INNER, PARTITIONED):
final aggregation over (ws_order_number_26)
local exchange (GATHER, SINGLE, [])
partial aggregation over (ws_order_number_26)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_order_number_26"])
- scan web_sales
+ dynamic filter (["ws_order_number_26", "ws_order_number_26"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_63"])
- scan web_sales
+ dynamic filter (["ws_order_number_63"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_addr_sk", "ws_ship_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q96.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q96.plan.txt
index 6ac294895946..e4fdf4d14611 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q96.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q96.plan.txt
@@ -5,7 +5,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_time_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q97.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q97.plan.txt
index 7b9c83293534..959bbfe9de73 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q97.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q97.plan.txt
@@ -8,7 +8,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk"])
partial aggregation over (ss_customer_sk, ss_item_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk", "cs_item_sk"])
partial aggregation over (cs_bill_customer_sk, cs_item_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q98.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q98.plan.txt
index 9775b6c511f5..7c0caca03f27 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q98.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q98.plan.txt
@@ -9,7 +9,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q99.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q99.plan.txt
index 6e2c1451c321..4037170bb1d7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q99.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q99.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_ship_date_sk", "cs_ship_mode_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q01.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q01.plan.txt
index d091b5f71d8b..9f5479141165 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q01.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q01.plan.txt
@@ -4,7 +4,8 @@ local exchange (GATHER, SINGLE, [])
join (LEFT, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk"])
join (INNER, REPLICATED):
@@ -13,7 +14,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_store_sk"])
partial aggregation over (sr_customer_sk, sr_store_sk)
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -31,7 +33,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk_8", "sr_store_sk_12"])
partial aggregation over (sr_customer_sk_8, sr_store_sk_12)
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk_25"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q02.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q02.plan.txt
index ebb55d3dc0a5..e53db1e6ec57 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q02.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q02.plan.txt
@@ -10,14 +10,18 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name, d_week_seq)
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
- scan catalog_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq", "d_week_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_week_seq_20"])
- scan date_dim
+ dynamic filter (["d_week_seq_20"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["expr_219"])
join (INNER, PARTITIONED):
@@ -28,11 +32,14 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name_134, d_week_seq_124)
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
- scan catalog_sales
+ dynamic filter (["ws_sold_date_sk_81"])
+ scan web_sales
+ dynamic filter (["cs_sold_date_sk_117"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_124"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_week_seq_169"])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q03.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q03.plan.txt
index 70aae3fa1bdd..ede6415850e5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q03.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q03.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q04.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q04.plan.txt
index 7a475db42e6d..10ebe8629d94 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q04.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q04.plan.txt
@@ -10,13 +10,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk_869"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk_869", "cs_sold_date_sk_900"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_847"])
- scan customer
+ dynamic filter (["c_customer_id_848", "c_customer_id_848", "c_customer_id_848"])
+ scan customer
final aggregation over (c_birth_country_1558, c_customer_id_1545, c_email_address_1560, c_first_name_1552, c_last_name_1553, c_login_1559, c_preferred_cust_flag_1554, d_year_1606)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_1545"])
@@ -24,13 +26,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_1567"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_1567", "ws_sold_date_sk_1597"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_1544"])
- scan customer
+ dynamic filter (["c_customer_id_1545", "c_customer_id_1545"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_birth_country_561, c_customer_id_548, c_email_address_563, c_first_name_555, c_last_name_556, c_login_562, c_preferred_cust_flag_557, d_year_609)
local exchange (GATHER, SINGLE, [])
@@ -39,13 +43,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk_569"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk_569", "cs_sold_date_sk_600"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_547"])
- scan customer
+ dynamic filter (["c_customer_id_548", "c_customer_id_548"])
+ scan customer
final aggregation over (c_birth_country_1258, c_customer_id_1245, c_email_address_1260, c_first_name_1252, c_last_name_1253, c_login_1259, c_preferred_cust_flag_1254, d_year_1306)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_1245"])
@@ -53,13 +59,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_1267"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_1267", "ws_sold_date_sk_1297"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_1244"])
- scan customer
+ dynamic filter (["c_customer_id_1245"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_birth_country_175, c_customer_id_162, c_email_address_177, c_first_name_169, c_last_name_170, c_login_176, c_preferred_cust_flag_171, d_year_212)
local exchange (GATHER, SINGLE, [])
@@ -68,13 +76,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_183"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_183", "ss_sold_date_sk_203"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_161"])
- scan customer
+ dynamic filter (["c_customer_id_162"])
+ scan customer
final aggregation over (c_birth_country, c_customer_id, c_email_address, c_first_name, c_last_name, c_login, c_preferred_cust_flag, d_year)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id"])
@@ -82,7 +92,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q05.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q05.plan.txt
index 169f66124bda..23ab40f569d7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q05.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q05.plan.txt
@@ -12,8 +12,10 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan store_sales
- scan store_returns
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,8 +29,10 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan catalog_sales
- scan catalog_returns
+ dynamic filter (["cs_catalog_page_sk", "cs_sold_date_sk"])
+ scan catalog_sales
+ dynamic filter (["cr_catalog_page_sk", "cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,13 +46,16 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
+ dynamic filter (["ws_sold_date_sk", "ws_web_site_sk"])
+ scan web_sales
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk_81", "ws_order_number_95"])
- scan web_sales
+ dynamic filter (["ws_item_sk_81", "ws_order_number_95", "ws_web_site_sk_91"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_returned_date_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q06.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q06.plan.txt
index fb3592d65b6e..5b35c89d1047 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q06.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q06.plan.txt
@@ -12,11 +12,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_month_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -28,7 +30,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q07.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q07.plan.txt
index 32f4763b443d..a8da2880635e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q07.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q07.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q08.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q08.plan.txt
index 45b29afc325b..a0f9f839ee51 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q08.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q08.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["substr_34"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -30,7 +31,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_zip_16)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_7"])
- scan customer_address
+ dynamic filter (["ca_address_sk_7"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q10.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q10.plan.txt
index 7d60d2a5fdd5..751f1ac52a8c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q10.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q10.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_ship_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -21,14 +22,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
@@ -37,14 +40,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q11.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q11.plan.txt
index bca78917b94d..41aaf0c91c75 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q11.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q11.plan.txt
@@ -9,13 +9,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_100"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_100", "ss_sold_date_sk_120"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_78"])
- scan customer
+ dynamic filter (["c_customer_id_79", "c_customer_id_79"])
+ scan customer
final aggregation over (c_birth_country_371, c_customer_id_358, c_email_address_373, c_first_name_365, c_last_name_366, c_login_372, c_preferred_cust_flag_367, d_year_419)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_358"])
@@ -23,13 +25,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_380"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_380", "ws_sold_date_sk_410"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_357"])
- scan customer
+ dynamic filter (["c_customer_id_358"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_birth_country, c_customer_id, c_email_address, c_first_name, c_last_name, c_login, c_preferred_cust_flag, d_year)
local exchange (GATHER, SINGLE, [])
@@ -38,13 +42,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_id"])
+ scan customer
final aggregation over (c_birth_country_564, c_customer_id_551, c_email_address_566, c_first_name_558, c_last_name_559, c_login_565, c_preferred_cust_flag_560, d_year_612)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_551"])
@@ -52,7 +58,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_573"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_573", "ws_sold_date_sk_603"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q12.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q12.plan.txt
index eb114fe9092d..db9389ab3d6e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q12.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q12.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q13.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q13.plan.txt
index a4d7d7d75438..6bb6b2b7a4c7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q13.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q13.plan.txt
@@ -9,7 +9,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_cdemo_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q14.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q14.plan.txt
index c8326b25e125..ce5fda5a2106 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q14.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q14.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_6, i_category_id_8, i_class_id_7)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,21 +21,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
final aggregation over (i_item_sk_13)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_13"])
partial aggregation over (i_item_sk_13)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_20", "i_category_id_24", "i_class_id_22"])
- scan item
+ dynamic filter (["i_brand_id_20", "i_category_id_24", "i_class_id_22"])
+ scan item
final aggregation over (brand_id, category_id, class_id)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_72", "i_category_id_76", "i_class_id_74"])
partial aggregation over (i_brand_id_72, i_category_id_76, i_class_id_74)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_41", "ss_sold_date_sk_62"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -45,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_128, i_category_id_132, i_class_id_130)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -56,7 +61,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_184, i_category_id_188, i_class_id_186)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -70,19 +76,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_258"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_324"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_390"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -93,7 +102,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_469, i_category_id_473, i_class_id_471)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_440", "cs_sold_date_sk_459"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -101,21 +111,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_462"])
- scan item
+ dynamic filter (["i_item_sk_462"])
+ scan item
final aggregation over (i_item_sk_518)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_518"])
partial aggregation over (i_item_sk_518)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_525", "i_category_id_529", "i_class_id_527"])
- scan item
+ dynamic filter (["i_brand_id_525", "i_category_id_529", "i_class_id_527"])
+ scan item
final aggregation over (brand_id_542, category_id_544, class_id_543)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_580", "i_category_id_584", "i_class_id_582"])
partial aggregation over (i_brand_id_580, i_category_id_584, i_class_id_582)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_549", "ss_sold_date_sk_570"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -126,7 +139,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_670, i_category_id_674, i_class_id_672)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_641", "cs_sold_date_sk_660"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -137,7 +151,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_760, i_category_id_764, i_class_id_762)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_719", "ws_sold_date_sk_750"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -151,19 +166,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_841"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_907"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_973"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -174,7 +192,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1052, i_category_id_1056, i_class_id_1054)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_1011", "ws_sold_date_sk_1042"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -182,21 +201,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_1045"])
- scan item
+ dynamic filter (["i_item_sk_1045"])
+ scan item
final aggregation over (i_item_sk_1101)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_1101"])
partial aggregation over (i_item_sk_1101)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_1108", "i_category_id_1112", "i_class_id_1110"])
- scan item
+ dynamic filter (["i_brand_id_1108", "i_category_id_1112", "i_class_id_1110"])
+ scan item
final aggregation over (brand_id_1125, category_id_1127, class_id_1126)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_1163", "i_category_id_1167", "i_class_id_1165"])
partial aggregation over (i_brand_id_1163, i_category_id_1167, i_class_id_1165)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_1132", "ss_sold_date_sk_1153"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -207,7 +229,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1253, i_category_id_1257, i_class_id_1255)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_1224", "cs_sold_date_sk_1243"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -218,7 +241,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1343, i_category_id_1347, i_class_id_1345)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_1302", "ws_sold_date_sk_1333"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -232,19 +256,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_1424"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_1490"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_1556"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q15.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q15.plan.txt
index 56302f05c739..ec58f1619767 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q15.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q15.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -15,7 +16,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q16.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q16.plan.txt
index 8dcf233bf561..60f1ee48b6a9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q16.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q16.plan.txt
@@ -8,19 +8,22 @@ final aggregation over ()
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_order_number"])
partial aggregation over (cr_order_number)
- scan catalog_returns
+ dynamic filter (["cr_order_number"])
+ scan catalog_returns
final aggregation over (ca_state, cc_county, cs_call_center_sk, cs_ext_ship_cost, cs_net_profit, cs_order_number_22, cs_ship_addr_sk, cs_ship_date_sk, cs_warehouse_sk, d_date, unique)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_order_number_22"])
partial aggregation over (ca_state, cc_county, cs_call_center_sk, cs_ext_ship_cost, cs_net_profit, cs_order_number_22, cs_ship_addr_sk, cs_ship_date_sk, cs_warehouse_sk, d_date, unique)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_order_number_22"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_ship_addr_sk", "cs_ship_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q17.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q17.plan.txt
index 49c98c0b8dda..5062413e205f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q17.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q17.plan.txt
@@ -6,26 +6,30 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_item_desc, i_item_id, s_state)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q18.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q18.plan.txt
index 5f2dfaaeb4fa..8e2571b0d36a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q18.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q18.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
@@ -24,7 +25,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cd_demo_sk_2"])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q19.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q19.plan.txt
index c500acf6fca3..698ecbc98b33 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q19.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q19.plan.txt
@@ -7,17 +7,20 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q20.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q20.plan.txt
index 852a9d2a3e5c..2e873503ece8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q20.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q20.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q21.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q21.plan.txt
index 50e40917c430..2ec2a1799207 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q21.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q21.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q22.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q22.plan.txt
index 2fd28d3f31ed..6f1d958f18df 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q22.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q22.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand", "i_product_name"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q23.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q23.plan.txt
index 7cbaa1dbba4d..36966192b554 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q23.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q23.plan.txt
@@ -12,17 +12,20 @@ final aggregation over ()
partial aggregation over (d_date_6, ss_item_sk, substr$gid)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -33,7 +36,8 @@ final aggregation over ()
partial aggregation over (ss_customer_sk_42)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_42"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_42"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
scan customer
@@ -49,7 +53,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_70"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_70", "ss_sold_date_sk_90"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -67,17 +72,20 @@ final aggregation over ()
partial aggregation over (d_date_210, ss_item_sk_184, substr$gid_265)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_184", "ss_item_sk_184", "ss_sold_date_sk_205"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk_238"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -88,7 +96,8 @@ final aggregation over ()
partial aggregation over (ss_customer_sk_273)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_273"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_273"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_296"])
scan customer
@@ -104,7 +113,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_321"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_321", "ss_sold_date_sk_341"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q24.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q24.plan.txt
index 243f543065be..c73b8598f773 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q24.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q24.plan.txt
@@ -12,22 +12,26 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (c_first_name, c_last_name, ca_state, i_color, i_current_price, i_manager_id, i_size, i_units, s_state, s_store_name)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_zip", "upper"])
- scan customer_address
+ dynamic filter (["ca_zip"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_birth_country", "s_zip"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -52,16 +56,20 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk_12", "ss_ticket_number_19"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_13", "ss_item_sk_12", "ss_item_sk_12", "ss_store_sk_17", "ss_ticket_number_19"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk_37", "sr_ticket_number_44"])
- scan store_returns
+ dynamic filter (["sr_item_sk_37"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_zip_83"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_113"])
- scan customer
+ dynamic filter (["c_birth_country_127"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q25.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q25.plan.txt
index 8eedb8e05888..b1efa4fcf91a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q25.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q25.plan.txt
@@ -7,25 +7,29 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q26.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q26.plan.txt
index 555bb67d3baa..d91ef68bdab5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q26.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q26.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_item_sk", "cs_promo_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q27.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q27.plan.txt
index b637b1d27f97..3de726f1cc03 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q27.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q27.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q29.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q29.plan.txt
index 8eedb8e05888..b1efa4fcf91a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q29.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q29.plan.txt
@@ -7,25 +7,29 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q30.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q30.plan.txt
index f6d2620e2a9b..16cf422f1235 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q30.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q30.plan.txt
@@ -9,18 +9,21 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_state, wr_returning_customer_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_returning_addr_sk"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk", "wr_returning_customer_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -36,11 +39,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_state_85, wr_returning_customer_sk_27)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_77"])
- scan customer_address
+ dynamic filter (["ca_address_sk_77"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_returning_addr_sk_30"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk_44"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q31.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q31.plan.txt
index 0056aa780bc4..68eaa09566a1 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q31.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q31.plan.txt
@@ -11,13 +11,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk_9"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk_9", "ss_sold_date_sk_26"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_59"])
- scan customer_address
+ dynamic filter (["ca_county_66", "ca_county_66", "ca_county_66"])
+ scan customer_address
final aggregation over (ca_county_140, d_qoy_113, d_year_109)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_140"])
@@ -25,13 +27,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk_83"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk_83", "ss_sold_date_sk_100"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_133"])
- scan customer_address
+ dynamic filter (["ca_county_140", "ca_county_140"])
+ scan customer_address
join (INNER, PARTITIONED):
final aggregation over (ca_county_276, d_qoy_249, d_year_245)
local exchange (GATHER, SINGLE, [])
@@ -40,13 +44,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk_209"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk_209", "ws_sold_date_sk_236"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_269"])
- scan customer_address
+ dynamic filter (["ca_county_276", "ca_county_276"])
+ scan customer_address
final aggregation over (ca_county_361, d_qoy_334, d_year_330)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_361"])
@@ -54,13 +60,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk_294"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk_294", "ws_sold_date_sk_321"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_354"])
- scan customer_address
+ dynamic filter (["ca_county_361"])
+ scan customer_address
join (INNER, PARTITIONED):
final aggregation over (ca_county, d_qoy, d_year)
local exchange (GATHER, SINGLE, [])
@@ -69,13 +77,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_county"])
+ scan customer_address
final aggregation over (ca_county_191, d_qoy_164, d_year_160)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_191"])
@@ -83,7 +93,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q32.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q32.plan.txt
index e09ec6de273c..02f6814dbdab 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q32.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q32.plan.txt
@@ -9,7 +9,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_item_sk_18"])
partial aggregation over (cs_item_sk_18)
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_18", "cs_sold_date_sk_37"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q33.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q33.plan.txt
index 1b2427d4e654..b0447bd7c0a9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q33.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q33.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_6"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_22)
@@ -36,7 +38,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -46,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_95"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_121)
@@ -62,7 +66,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -72,7 +77,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_196"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_222)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q34.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q34.plan.txt
index e9f7af9e157c..537336239d51 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q34.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q34.plan.txt
@@ -3,7 +3,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
final aggregation over (ss_customer_sk, ss_ticket_number)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
@@ -11,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q35.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q35.plan.txt
index f94ec8be8411..42c0747cc500 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q35.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q35.plan.txt
@@ -11,18 +11,21 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_cdemo_sk", "c_customer_sk"])
+ scan customer
final aggregation over (ss_customer_sk)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -34,7 +37,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -43,7 +47,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q36.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q36.plan.txt
index d640f5ac0d14..06cf870e256c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q36.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q36.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q37.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q37.plan.txt
index 2582d9fa4122..eadc54781cf8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q37.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q37.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_current_price", "i_item_desc", "i_item_id"])
partial aggregation over (i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q38.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q38.plan.txt
index 9f02b3c87024..b342ddb2e44f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q38.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q38.plan.txt
@@ -12,7 +12,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,7 +28,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,7 +44,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q39.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q39.plan.txt
index eb2349ef1574..96555d1e77b4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q39.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q39.plan.txt
@@ -10,16 +10,19 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_item_sk", "inv_warehouse_sk", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan warehouse
+ dynamic filter (["w_warehouse_sk"])
+ scan warehouse
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["inv_item_sk_8", "inv_warehouse_sk_9"])
final aggregation over (d_moy_62, inv_item_sk_8, inv_warehouse_sk_9, w_warehouse_name_40)
@@ -29,7 +32,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk_11", "inv_item_sk_8", "inv_warehouse_sk_9"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q40.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q40.plan.txt
index 266142fc4c1a..7b700b882104 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q40.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q40.plan.txt
@@ -9,10 +9,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q41.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q41.plan.txt
index 58a96c8d1ec2..772ad4b317c4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q41.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q41.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_product_name)
single aggregation over (i_manufact, i_manufact_id, i_product_name, unique)
join (INNER, REPLICATED, can skip output duplicates):
- scan item
+ dynamic filter (["i_manufact"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q42.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q42.plan.txt
index 17cc12f10e9e..b35f518a9b70 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q42.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q42.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_category, i_category_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q43.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q43.plan.txt
index 9d9e36441a12..b94077c666ea 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q43.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q43.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name, s_store_id, s_store_name)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q45.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q45.plan.txt
index 5b30cdf7426c..c23529328ac7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q45.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q45.plan.txt
@@ -11,13 +11,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q46.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q46.plan.txt
index e8aa3db7886c..2fbada568690 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q46.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q46.plan.txt
@@ -4,7 +4,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_11"])
scan customer_address
@@ -18,7 +19,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q47.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q47.plan.txt
index 2d63bde52f55..6bda63bab469 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q47.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q47.plan.txt
@@ -11,16 +11,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_company_name", "s_company_name", "s_store_name", "s_store_name"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand", "i_brand", "i_category", "i_category"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_14", "i_category_18", "s_company_name_102", "s_store_name_90"])
final aggregation over (d_moy_63, d_year_61, i_brand_14, i_category_18, s_company_name_102, s_store_name_90)
@@ -30,16 +33,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_31", "ss_sold_date_sk_52", "ss_store_sk_36"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_company_name_102", "s_store_name_90"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_14", "i_category_18"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_133", "i_category_137", "s_company_name_221", "s_store_name_209"])
final aggregation over (d_moy_182, d_year_180, i_brand_133, i_category_137, s_company_name_221, s_store_name_209)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_150", "ss_sold_date_sk_171", "ss_store_sk_155"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q48.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q48.plan.txt
index 7eb552bd09e3..bf1527240cfe 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q48.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q48.plan.txt
@@ -8,7 +8,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_cdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q49.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q49.plan.txt
index 6f687392953d..e3a416cd5356 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q49.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q49.plan.txt
@@ -12,11 +12,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (wr_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -30,11 +32,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (cr_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_order_number"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -48,11 +52,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (sr_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q50.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q50.plan.txt
index c2a9d481bf10..8ff8d8dbfebf 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q50.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q50.plan.txt
@@ -8,11 +8,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q51.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q51.plan.txt
index 6a1ca8bd4aca..32fa4cc52c6c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q51.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q51.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
partial aggregation over (d_date, ws_item_sk)
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk"])
partial aggregation over (d_date_7, ss_item_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q52.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q52.plan.txt
index 33752e693e6c..79ab5d5f2dc7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q52.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q52.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q53.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q53.plan.txt
index cd10ab3698e6..799e43e0eca0 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q53.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q53.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q54.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q54.plan.txt
index f5c3ef3b83c8..e456cebcc259 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q54.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q54.plan.txt
@@ -12,13 +12,15 @@ local exchange (GATHER, SINGLE, [])
cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk", "ca_county", "ca_state"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
@@ -27,14 +29,17 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
partial aggregation over (c_current_addr_sk, c_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan catalog_sales
- scan web_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -43,7 +48,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_month_seq_17"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q55.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q55.plan.txt
index 0322599f01e5..72d129c6fab1 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q55.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q55.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q56.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q56.plan.txt
index e96c8c31aabb..34ac61dc445c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q56.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q56.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_6"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_10)
@@ -36,7 +38,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -46,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_83"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_109)
@@ -62,7 +66,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -72,7 +77,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_184"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_210)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q57.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q57.plan.txt
index 26f16c8477dc..3df7a342b38c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q57.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q57.plan.txt
@@ -11,16 +11,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan call_center
+ dynamic filter (["cc_name", "cc_name"])
+ scan call_center
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand", "i_brand", "i_category", "i_category"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cc_name_102", "i_brand_14", "i_category_18"])
final aggregation over (cc_name_102, d_moy_74, d_year_72, i_brand_14, i_category_18)
@@ -30,16 +33,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk_40", "cs_item_sk_44", "cs_sold_date_sk_63"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan call_center
+ dynamic filter (["cc_name_102"])
+ scan call_center
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_14", "i_category_18"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cc_name_232", "i_brand_144", "i_category_148"])
final aggregation over (cc_name_232, d_moy_204, d_year_202, i_brand_144, i_category_148)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk_170", "cs_item_sk_174", "cs_sold_date_sk_193"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q58.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q58.plan.txt
index 192c6d359edd..4d29a46b942a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q58.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q58.plan.txt
@@ -8,11 +8,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_6)
@@ -20,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_6"])
partial aggregation over (d_date_6)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_8"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -28,7 +31,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_id"])
+ scan item
join (INNER, PARTITIONED):
final aggregation over (i_item_id_69)
local exchange (GATHER, SINGLE, [])
@@ -37,11 +41,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_94"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_126)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_126"])
partial aggregation over (d_date_126)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_128"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -57,7 +64,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_68"])
- scan item
+ dynamic filter (["i_item_id_69"])
+ scan item
final aggregation over (i_item_id_191)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_191"])
@@ -65,11 +73,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_216"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_248)
@@ -77,7 +87,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_248"])
partial aggregation over (d_date_248)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_250"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q59.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q59.plan.txt
index 7f584558007b..b71b03defefe 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q59.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q59.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_day_name", "d_week_seq", "ss_store_sk"])
partial aggregation over (d_day_name, d_week_seq, ss_store_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["expr_203", "s_store_sk"])
join (INNER, PARTITIONED):
@@ -29,10 +31,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_day_name_85", "d_week_seq_75", "ss_store_sk_52"])
partial aggregation over (d_day_name_85, d_week_seq_75, ss_store_sk_52)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_68", "ss_store_sk_52"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_75"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -43,7 +47,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_store_sk_117"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["s_store_id"])
- scan store
+ dynamic filter (["s_store_id"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_store_id_118"])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q60.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q60.plan.txt
index 4616b0ad95b6..cd5904cf7598 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q60.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q60.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -21,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_id_6"])
- scan item
+ dynamic filter (["i_item_id_6"])
+ scan item
final aggregation over (i_item_id_10)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_10"])
@@ -35,7 +37,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -46,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_id_83"])
- scan item
+ dynamic filter (["i_item_id_83"])
+ scan item
final aggregation over (i_item_id_109)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_109"])
@@ -60,7 +64,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -71,7 +76,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_id_184"])
- scan item
+ dynamic filter (["i_item_id_184"])
+ scan item
final aggregation over (i_item_id_210)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_210"])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q61.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q61.plan.txt
index ff3d350a643f..1cd788781e8b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q61.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q61.plan.txt
@@ -9,7 +9,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -22,7 +23,8 @@ cross join:
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -38,7 +40,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_14", "ss_item_sk_13", "ss_sold_date_sk_34", "ss_store_sk_18"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -51,7 +54,8 @@ cross join:
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_98"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk_102"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q62.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q62.plan.txt
index 90f04a71a65b..1c3444200bc5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q62.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q62.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_date_sk", "ws_ship_mode_sk", "ws_warehouse_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q63.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q63.plan.txt
index 23e28eddc4b7..da2cbd549a64 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q63.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q63.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q64.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q64.plan.txt
index 5b7e66dd9c00..9bdac814cbd5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q64.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q64.plan.txt
@@ -8,11 +8,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_city", "ca_city_105", "ca_street_name", "ca_street_name_102", "ca_street_number", "ca_street_number_101", "ca_zip", "ca_zip_108", "d_year", "d_year_15", "d_year_45", "i_product_name", "s_store_name", "s_zip", "ss_item_sk"])
partial aggregation over (ca_city, ca_city_105, ca_street_name, ca_street_name_102, ca_street_number, ca_street_number_101, ca_zip, ca_zip_108, d_year, d_year_15, d_year_45, i_product_name, s_store_name, s_zip, ss_item_sk)
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk_99"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
@@ -20,7 +22,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cd_demo_sk_75"])
- scan customer_demographics
+ dynamic filter (["cd_demo_sk_75"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
join (INNER, REPLICATED):
@@ -33,13 +36,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_customer_sk", "ss_hdemo_sk", "ss_item_sk", "ss_item_sk", "ss_item_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_item_sk", "sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (cs_item_sk)
@@ -48,15 +53,18 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (cs_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_item_sk", "cs_item_sk", "cs_order_number"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_hdemo_sk", "c_first_sales_date_sk", "c_first_shipto_date_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -68,24 +76,28 @@ remote exchange (GATHER, SINGLE, [])
scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_store_name", "s_zip"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan promotion
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_91"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
@@ -96,11 +108,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_city_452", "ca_city_467", "ca_street_name_449", "ca_street_name_464", "ca_street_number_448", "ca_street_number_463", "ca_zip_455", "ca_zip_470", "d_year_254", "d_year_284", "d_year_314", "i_product_name_507", "s_store_name_343", "s_zip_363", "ss_item_sk_133"])
partial aggregation over (ca_city_452, ca_city_467, ca_street_name_449, ca_street_name_464, ca_street_number_448, ca_street_number_463, ca_zip_455, ca_zip_470, d_year_254, d_year_284, d_year_314, i_product_name_507, s_store_name_343, s_zip_363, ss_item_sk_133)
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk_461"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk_446"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
@@ -108,7 +122,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cd_demo_sk_400"])
- scan customer_demographics
+ dynamic filter (["cd_demo_sk_400"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk_371"])
join (INNER, REPLICATED):
@@ -121,13 +136,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk_133", "ss_ticket_number_140"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk_135", "ss_customer_sk_134", "ss_hdemo_sk_136", "ss_item_sk_133", "ss_item_sk_133", "ss_item_sk_133", "ss_promo_sk_139", "ss_sold_date_sk_154", "ss_store_sk_138", "ss_ticket_number_140"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk_158", "sr_ticket_number_165"])
- scan store_returns
+ dynamic filter (["sr_item_sk_158", "sr_item_sk_158"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (cs_item_sk_193)
@@ -136,15 +153,18 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (cs_item_sk_193)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk_193", "cs_order_number_195"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk_193", "cs_item_sk_193", "cs_order_number_195"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk_216", "cr_order_number_230"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk_216"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_369"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_hdemo_sk_372", "c_first_sales_date_sk_375", "c_first_shipto_date_sk_374"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -166,14 +186,16 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_433"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_440"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q65.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q65.plan.txt
index 0c80486a2845..e709c2b79828 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q65.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q65.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk_7", "ss_store_sk_12"])
partial aggregation over (ss_item_sk_7, ss_store_sk_12)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_7", "ss_sold_date_sk_28", "ss_store_sk_12"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -15,7 +16,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["s_store_sk"])
- scan store
+ dynamic filter (["s_store_sk"])
+ scan store
final aggregation over (ss_store_sk)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_store_sk"])
@@ -25,7 +27,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_store_sk"])
partial aggregation over (ss_item_sk, ss_store_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q66.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q66.plan.txt
index b87ae78025f5..ba2954f5d404 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q66.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q66.plan.txt
@@ -15,7 +15,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_mode_sk", "ws_sold_date_sk", "ws_sold_time_sk", "ws_warehouse_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan ship_mode
@@ -41,7 +42,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_ship_mode_sk", "cs_sold_date_sk", "cs_sold_time_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan ship_mode
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q67.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q67.plan.txt
index 60f46f2fcf90..66c2001151d6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q67.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q67.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q68.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q68.plan.txt
index 5feab810ee06..198e4327c76a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q68.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q68.plan.txt
@@ -4,7 +4,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
final aggregation over (ca_address_sk, ca_city, ss_customer_sk, ss_ticket_number)
@@ -12,13 +13,15 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_address_sk, ca_city, ss_customer_sk, ss_ticket_number)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q69.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q69.plan.txt
index 4b87cab3294e..1ed946056199 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q69.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q69.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
@@ -17,14 +18,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -33,7 +36,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,7 +46,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q70.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q70.plan.txt
index 0ba93430749a..6782961fcb04 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q70.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q70.plan.txt
@@ -10,13 +10,15 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_state"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_state"])
+ scan store
single aggregation over (s_state_53)
final aggregation over (s_state_53)
local exchange (GATHER, SINGLE, [])
@@ -24,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (s_state_53)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_26", "ss_store_sk_10"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q71.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q71.plan.txt
index 599dd0ab9f9c..eb516d2aebba 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q71.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q71.plan.txt
@@ -9,17 +9,20 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk", "ws_sold_time_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk", "cs_sold_time_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_sold_time_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q72.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q72.plan.txt
index 9c47f45ae5a1..cc812789f826 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q72.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q72.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["inv_item_sk"])
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_quantity_on_hand", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_16"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
@@ -21,7 +23,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_bill_hdemo_sk", "cs_item_sk", "cs_ship_date_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q73.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q73.plan.txt
index 8a3c9f5087e6..0ceb0cf526e0 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q73.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q73.plan.txt
@@ -3,7 +3,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
final aggregation over (ss_customer_sk, ss_ticket_number)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
@@ -11,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q74.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q74.plan.txt
index 89fdfff32752..aa0066ea858b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q74.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q74.plan.txt
@@ -9,13 +9,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_90"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_90", "ss_sold_date_sk_110"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_68"])
- scan customer
+ dynamic filter (["c_customer_id_69", "c_customer_id_69"])
+ scan customer
final aggregation over (c_customer_id_329, c_first_name_336, c_last_name_337, d_year_390)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_329"])
@@ -23,13 +25,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_351"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_351", "ws_sold_date_sk_381"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_328"])
- scan customer
+ dynamic filter (["c_customer_id_329"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_customer_id, c_first_name, c_last_name, d_year)
local exchange (GATHER, SINGLE, [])
@@ -38,13 +42,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_id"])
+ scan customer
final aggregation over (c_customer_id_508, c_first_name_515, c_last_name_516, d_year_569)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_508"])
@@ -52,7 +58,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_530"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_530", "ws_sold_date_sk_560"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q75.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q75.plan.txt
index 72ac1ec6cf65..41b95bbc141b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q75.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q75.plan.txt
@@ -8,15 +8,18 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_13, expr, expr_18, i_brand_id_7, i_category_id_9, i_class_id_8, i_manufact_id_10)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_order_number"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_7", "i_category_id_9", "i_class_id_8", "i_manufact_id_10"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -24,15 +27,18 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_51, expr_77, expr_78, i_brand_id_28, i_category_id_32, i_class_id_30, i_manufact_id_34)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_28", "i_category_id_32", "i_class_id_30", "i_manufact_id_34"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -40,15 +46,18 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_111, expr_137, expr_138, i_brand_id_88, i_category_id_92, i_class_id_90, i_manufact_id_94)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_88", "i_category_id_92", "i_class_id_90", "i_manufact_id_94"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -59,12 +68,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_221, expr_274, expr_275, i_brand_id_198, i_category_id_202, i_class_id_200, i_manufact_id_204)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cr_item_sk_246", "cr_order_number_260"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk_246", "cr_order_number_260"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk_169", "cs_order_number_171"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_169", "cs_sold_date_sk_188"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -75,12 +86,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_331, expr_377, expr_378, i_brand_id_308, i_category_id_312, i_class_id_310, i_manufact_id_314)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["sr_item_sk_356", "sr_ticket_number_363"])
- scan store_returns
+ dynamic filter (["sr_item_sk_356", "sr_ticket_number_363"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk_277", "ss_ticket_number_284"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk_277", "ss_sold_date_sk_298"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -91,12 +104,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_445, expr_495, expr_496, i_brand_id_422, i_category_id_426, i_class_id_424, i_manufact_id_428)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["wr_item_sk_470", "wr_order_number_481"])
- scan web_returns
+ dynamic filter (["wr_item_sk_470", "wr_order_number_481"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk_381", "ws_order_number_395"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_item_sk_381", "ws_sold_date_sk_412"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q76.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q76.plan.txt
index 96f6228260dc..f9599e0446e5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q76.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q76.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_qoy_10, d_year_9, expr_134, expr_135, i_category_6)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,12 +18,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_qoy_51, d_year_47, expr_140, expr_141, i_category_29)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_17"])
- scan item
+ dynamic filter (["i_item_sk_17"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_sold_date_sk"])
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_sk_41"])
scan date_dim
@@ -31,7 +34,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q77.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q77.plan.txt
index f5f8b7b62eea..b632624a3d15 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q77.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q77.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ss_store_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -25,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (sr_store_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -38,7 +40,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_call_center_sk"])
partial aggregation over (cs_call_center_sk)
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -49,7 +52,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_call_center_sk"])
partial aggregation over (cr_call_center_sk)
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -60,7 +64,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ws_web_page_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -73,7 +78,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (wr_web_page_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk", "wr_web_page_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q78.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q78.plan.txt
index e9a4bce6caf7..a13222cb0024 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q78.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q78.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_customer_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -24,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
scan web_returns
@@ -38,7 +41,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
scan catalog_returns
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q79.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q79.plan.txt
index c41171325a3c..733be6f6e8b7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q79.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q79.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q80.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q80.plan.txt
index a4b2da9fdab0..61944a8d3ab3 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q80.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q80.plan.txt
@@ -15,10 +15,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -41,10 +43,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_catalog_page_sk", "cs_item_sk", "cs_promo_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -67,10 +71,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_promo_sk", "ws_sold_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q81.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q81.plan.txt
index 1d349b955cdc..49d771cb6434 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q81.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q81.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_returning_addr_sk"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk", "cr_returning_addr_sk", "cr_returning_customer_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -37,7 +39,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_returning_addr_sk_30"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk_47", "cr_returning_addr_sk_30"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q82.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q82.plan.txt
index 532952036fc3..d3b691e03fe2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q82.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q82.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_current_price", "i_item_desc", "i_item_id"])
partial aggregation over (i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q83.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q83.plan.txt
index d5992a1244c4..9c4f78a6d332 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q83.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q83.plan.txt
@@ -8,11 +8,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_6)
@@ -20,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_6"])
partial aggregation over (d_date_6)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_8"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_40)
@@ -30,7 +33,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_id"])
+ scan item
join (INNER, PARTITIONED):
final aggregation over (i_item_id_74)
local exchange (GATHER, SINGLE, [])
@@ -39,11 +43,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_item_sk"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_99"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_131)
@@ -51,7 +57,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_131"])
partial aggregation over (d_date_131)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_133"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_165)
@@ -61,22 +68,26 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_73"])
- scan item
+ dynamic filter (["i_item_id_74"])
+ scan item
final aggregation over (i_item_id_201)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_201"])
partial aggregation over (i_item_id_201)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_200"])
- scan item
+ dynamic filter (["i_item_sk_200"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_226"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_258)
@@ -84,7 +95,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_258"])
partial aggregation over (d_date_258)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_260"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_292)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q84.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q84.plan.txt
index ec22af2c6a55..b1402e98e5ab 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q84.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q84.plan.txt
@@ -1,23 +1,27 @@
local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_cdemo_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_hdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q85.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q85.plan.txt
index 2a72b1dbbed5..eedf6f3329c2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q85.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q85.plan.txt
@@ -6,13 +6,15 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (r_reason_desc)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cd_demo_sk_6", "cd_education_status_9", "cd_marital_status_8"])
- scan customer_demographics
+ dynamic filter (["cd_demo_sk_6", "cd_education_status_9", "cd_marital_status_8"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cd_education_status", "cd_marital_status", "wr_returning_cdemo_sk"])
join (INNER, PARTITIONED):
@@ -20,13 +22,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_order_number", "ws_sold_date_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_reason_sk", "wr_refunded_cdemo_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cd_demo_sk"])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q86.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q86.plan.txt
index cca927926827..38fdc67f5412 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q86.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q86.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (groupid, i_category$gid, i_class$gid)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q87.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q87.plan.txt
index 9f02b3c87024..b342ddb2e44f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q87.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q87.plan.txt
@@ -12,7 +12,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,7 +28,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,7 +44,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q88.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q88.plan.txt
index 6e297c60e201..fbeb9bec31cc 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q88.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q88.plan.txt
@@ -12,7 +12,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_time_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -29,7 +30,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_10", "ss_sold_time_sk_6", "ss_store_sk_12"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -46,7 +48,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_86", "ss_sold_time_sk_82", "ss_store_sk_88"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -63,7 +66,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_162", "ss_sold_time_sk_158", "ss_store_sk_164"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -80,7 +84,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_238", "ss_sold_time_sk_234", "ss_store_sk_240"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -97,7 +102,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_314", "ss_sold_time_sk_310", "ss_store_sk_316"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -114,7 +120,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_390", "ss_sold_time_sk_386", "ss_store_sk_392"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -131,7 +138,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_466", "ss_sold_time_sk_462", "ss_store_sk_468"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q89.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q89.plan.txt
index 396d705bbc38..221dfc17c333 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q89.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q89.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q90.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q90.plan.txt
index 0ddf21aa574d..0324ff34e833 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q90.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q90.plan.txt
@@ -6,7 +6,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_hdemo_sk", "ws_sold_time_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan web_page
@@ -23,7 +24,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_hdemo_sk_15", "ws_sold_time_sk_6", "ws_web_page_sk_17"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan web_page
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q91.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q91.plan.txt
index 750e4be2dcb9..cae49eea1e14 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q91.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q91.plan.txt
@@ -9,7 +9,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_returning_customer_sk"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_call_center_sk", "cr_returned_date_sk", "cr_returning_customer_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk", "c_current_hdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q92.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q92.plan.txt
index 2dfed78f9a62..26d64d4d3541 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q92.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q92.plan.txt
@@ -9,7 +9,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ws_item_sk_6"])
partial aggregation over (ws_item_sk_6)
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_6", "ws_sold_date_sk_37"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q93.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q93.plan.txt
index ca9dc7543db7..e1cd897adff9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q93.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q93.plan.txt
@@ -7,10 +7,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_reason_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan reason
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q94.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q94.plan.txt
index 704afb8ed5c1..d2a476965598 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q94.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q94.plan.txt
@@ -8,19 +8,22 @@ final aggregation over ()
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_order_number"])
partial aggregation over (wr_order_number)
- scan web_returns
+ dynamic filter (["wr_order_number"])
+ scan web_returns
final aggregation over (ca_state, d_date, unique, web_company_name, ws_ext_ship_cost, ws_net_profit, ws_order_number_22, ws_ship_addr_sk, ws_ship_date_sk, ws_warehouse_sk, ws_web_site_sk)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_22"])
partial aggregation over (ca_state, d_date, unique, web_company_name, ws_ext_ship_cost, ws_net_profit, ws_order_number_22, ws_ship_addr_sk, ws_ship_date_sk, ws_warehouse_sk, ws_web_site_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_order_number_22"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_addr_sk", "ws_ship_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q95.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q95.plan.txt
index 5e42003378f2..ee593ef8a918 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q95.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q95.plan.txt
@@ -9,29 +9,35 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_order_number_100"])
- scan web_sales
+ dynamic filter (["ws_order_number_100", "ws_order_number_100", "ws_order_number_100"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_order_number", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_136"])
- scan web_sales
+ dynamic filter (["ws_order_number_136"])
+ scan web_sales
join (INNER, PARTITIONED):
final aggregation over (ws_order_number_22)
local exchange (GATHER, SINGLE, [])
partial aggregation over (ws_order_number_22)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_order_number_22"])
- scan web_sales
+ dynamic filter (["ws_order_number_22", "ws_order_number_22"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_58"])
- scan web_sales
+ dynamic filter (["ws_order_number_58"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_addr_sk", "ws_ship_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q96.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q96.plan.txt
index 6ac294895946..e4fdf4d14611 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q96.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q96.plan.txt
@@ -5,7 +5,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_time_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q97.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q97.plan.txt
index 7b9c83293534..959bbfe9de73 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q97.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q97.plan.txt
@@ -8,7 +8,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk"])
partial aggregation over (ss_customer_sk, ss_item_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk", "cs_item_sk"])
partial aggregation over (cs_bill_customer_sk, cs_item_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q98.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q98.plan.txt
index 9775b6c511f5..7c0caca03f27 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q98.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q98.plan.txt
@@ -9,7 +9,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q99.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q99.plan.txt
index 7f8838ac985a..87cec8152a11 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q99.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q99.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_ship_date_sk", "cs_ship_mode_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q01.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q01.plan.txt
index 114fb89fe851..821640079948 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q01.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q01.plan.txt
@@ -4,7 +4,8 @@ local exchange (GATHER, SINGLE, [])
join (LEFT, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk"])
join (INNER, REPLICATED):
@@ -13,7 +14,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_store_sk"])
partial aggregation over (sr_customer_sk, sr_store_sk)
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -31,7 +33,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk_9", "sr_store_sk_13"])
partial aggregation over (sr_customer_sk_9, sr_store_sk_13)
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk_6"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q02.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q02.plan.txt
index ebb55d3dc0a5..c78141721c2e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q02.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q02.plan.txt
@@ -10,14 +10,18 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name, d_week_seq)
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
- scan catalog_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq", "d_week_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_week_seq_20"])
- scan date_dim
+ dynamic filter (["d_week_seq_20"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["expr_219"])
join (INNER, PARTITIONED):
@@ -28,11 +32,14 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name_134, d_week_seq_124)
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
- scan catalog_sales
+ dynamic filter (["ws_sold_date_sk_48"])
+ scan web_sales
+ dynamic filter (["cs_sold_date_sk_84"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_124"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_week_seq_169"])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q03.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q03.plan.txt
index 70aae3fa1bdd..ede6415850e5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q03.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q03.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q04.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q04.plan.txt
index a6efbe49650b..a7206f469c83 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q04.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q04.plan.txt
@@ -10,13 +10,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk_870"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk_870", "cs_sold_date_sk_867"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_847"])
- scan customer
+ dynamic filter (["c_customer_id_848", "c_customer_id_848", "c_customer_id_848"])
+ scan customer
final aggregation over (c_birth_country_1558, c_customer_id_1545, c_email_address_1560, c_first_name_1552, c_last_name_1553, c_login_1559, c_preferred_cust_flag_1554, d_year_1606)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_1545"])
@@ -24,13 +26,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_1568"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_1568", "ws_sold_date_sk_1564"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_1544"])
- scan customer
+ dynamic filter (["c_customer_id_1545", "c_customer_id_1545"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_birth_country_561, c_customer_id_548, c_email_address_563, c_first_name_555, c_last_name_556, c_login_562, c_preferred_cust_flag_557, d_year_609)
local exchange (GATHER, SINGLE, [])
@@ -39,13 +43,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk_570"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk_570", "cs_sold_date_sk_567"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_547"])
- scan customer
+ dynamic filter (["c_customer_id_548", "c_customer_id_548"])
+ scan customer
final aggregation over (c_birth_country_1258, c_customer_id_1245, c_email_address_1260, c_first_name_1252, c_last_name_1253, c_login_1259, c_preferred_cust_flag_1254, d_year_1306)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_1245"])
@@ -53,13 +59,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_1268"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_1268", "ws_sold_date_sk_1264"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_1244"])
- scan customer
+ dynamic filter (["c_customer_id_1245"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_birth_country_175, c_customer_id_162, c_email_address_177, c_first_name_169, c_last_name_170, c_login_176, c_preferred_cust_flag_171, d_year_212)
local exchange (GATHER, SINGLE, [])
@@ -68,13 +76,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_184"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_184", "ss_sold_date_sk_181"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_161"])
- scan customer
+ dynamic filter (["c_customer_id_162"])
+ scan customer
final aggregation over (c_birth_country, c_customer_id, c_email_address, c_first_name, c_last_name, c_login, c_preferred_cust_flag, d_year)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id"])
@@ -82,7 +92,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q05.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q05.plan.txt
index a837004a655b..3b6be94640f6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q05.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q05.plan.txt
@@ -12,8 +12,10 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan store_sales
- scan store_returns
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,8 +29,10 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan catalog_sales
- scan catalog_returns
+ dynamic filter (["cs_catalog_page_sk", "cs_sold_date_sk"])
+ scan catalog_sales
+ dynamic filter (["cr_catalog_page_sk", "cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,13 +46,16 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
+ dynamic filter (["ws_sold_date_sk", "ws_web_site_sk"])
+ scan web_sales
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk_82", "ws_order_number_96"])
- scan web_sales
+ dynamic filter (["ws_item_sk_82", "ws_order_number_96", "ws_web_site_sk_92"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_returned_date_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q06.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q06.plan.txt
index fb3592d65b6e..5b35c89d1047 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q06.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q06.plan.txt
@@ -12,11 +12,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_month_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -28,7 +30,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q07.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q07.plan.txt
index 32f4763b443d..a8da2880635e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q07.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q07.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q08.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q08.plan.txt
index 45b29afc325b..a0f9f839ee51 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q08.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q08.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["substr_34"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -30,7 +31,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_zip_16)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_7"])
- scan customer_address
+ dynamic filter (["ca_address_sk_7"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q10.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q10.plan.txt
index 7d60d2a5fdd5..751f1ac52a8c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q10.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q10.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_ship_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -21,14 +22,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
@@ -37,14 +40,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q11.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q11.plan.txt
index 19f529a8c0c8..d6c17e531127 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q11.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q11.plan.txt
@@ -9,13 +9,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_101"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_101", "ss_sold_date_sk_98"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_78"])
- scan customer
+ dynamic filter (["c_customer_id_79", "c_customer_id_79"])
+ scan customer
final aggregation over (c_birth_country_371, c_customer_id_358, c_email_address_373, c_first_name_365, c_last_name_366, c_login_372, c_preferred_cust_flag_367, d_year_419)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_358"])
@@ -23,13 +25,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_381"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_381", "ws_sold_date_sk_377"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_357"])
- scan customer
+ dynamic filter (["c_customer_id_358"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_birth_country, c_customer_id, c_email_address, c_first_name, c_last_name, c_login, c_preferred_cust_flag, d_year)
local exchange (GATHER, SINGLE, [])
@@ -38,13 +42,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_id"])
+ scan customer
final aggregation over (c_birth_country_564, c_customer_id_551, c_email_address_566, c_first_name_558, c_last_name_559, c_login_565, c_preferred_cust_flag_560, d_year_612)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_551"])
@@ -52,7 +58,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_574"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_574", "ws_sold_date_sk_570"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q12.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q12.plan.txt
index eb114fe9092d..db9389ab3d6e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q12.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q12.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q13.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q13.plan.txt
index a4d7d7d75438..6bb6b2b7a4c7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q13.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q13.plan.txt
@@ -9,7 +9,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_cdemo_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q14.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q14.plan.txt
index c8326b25e125..6e0414b614d4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q14.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q14.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_6, i_category_id_8, i_class_id_7)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,21 +21,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
final aggregation over (i_item_sk_13)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_13"])
partial aggregation over (i_item_sk_13)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_20", "i_category_id_24", "i_class_id_22"])
- scan item
+ dynamic filter (["i_brand_id_20", "i_category_id_24", "i_class_id_22"])
+ scan item
final aggregation over (brand_id, category_id, class_id)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_72", "i_category_id_76", "i_class_id_74"])
partial aggregation over (i_brand_id_72, i_category_id_76, i_class_id_74)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_42", "ss_sold_date_sk_40"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -45,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_128, i_category_id_132, i_class_id_130)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -56,7 +61,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_184, i_category_id_188, i_class_id_186)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -70,19 +76,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_236"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_291"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_357"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -93,7 +102,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_469, i_category_id_473, i_class_id_471)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_441", "cs_sold_date_sk_426"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -101,21 +111,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_462"])
- scan item
+ dynamic filter (["i_item_sk_462"])
+ scan item
final aggregation over (i_item_sk_518)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_518"])
partial aggregation over (i_item_sk_518)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_525", "i_category_id_529", "i_class_id_527"])
- scan item
+ dynamic filter (["i_brand_id_525", "i_category_id_529", "i_class_id_527"])
+ scan item
final aggregation over (brand_id_542, category_id_544, class_id_543)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_580", "i_category_id_584", "i_class_id_582"])
partial aggregation over (i_brand_id_580, i_category_id_584, i_class_id_582)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_550", "ss_sold_date_sk_548"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -126,7 +139,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_670, i_category_id_674, i_class_id_672)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_642", "cs_sold_date_sk_627"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -137,7 +151,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_760, i_category_id_764, i_class_id_762)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_720", "ws_sold_date_sk_717"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -151,19 +166,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_819"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_874"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_940"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -174,7 +192,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1052, i_category_id_1056, i_class_id_1054)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_1012", "ws_sold_date_sk_1009"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -182,21 +201,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_1045"])
- scan item
+ dynamic filter (["i_item_sk_1045"])
+ scan item
final aggregation over (i_item_sk_1101)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_1101"])
partial aggregation over (i_item_sk_1101)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_1108", "i_category_id_1112", "i_class_id_1110"])
- scan item
+ dynamic filter (["i_brand_id_1108", "i_category_id_1112", "i_class_id_1110"])
+ scan item
final aggregation over (brand_id_1125, category_id_1127, class_id_1126)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_1163", "i_category_id_1167", "i_class_id_1165"])
partial aggregation over (i_brand_id_1163, i_category_id_1167, i_class_id_1165)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_1133", "ss_sold_date_sk_1131"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -207,7 +229,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1253, i_category_id_1257, i_class_id_1255)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_1225", "cs_sold_date_sk_1210"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -218,7 +241,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1343, i_category_id_1347, i_class_id_1345)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_1303", "ws_sold_date_sk_1300"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -232,19 +256,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_1402"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_1457"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_1523"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q15.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q15.plan.txt
index 56302f05c739..ec58f1619767 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q15.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q15.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -15,7 +16,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q16.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q16.plan.txt
index 58337bb6677e..3d9dca3748b4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q16.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q16.plan.txt
@@ -8,19 +8,22 @@ final aggregation over ()
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_order_number"])
partial aggregation over (cr_order_number)
- scan catalog_returns
+ dynamic filter (["cr_order_number"])
+ scan catalog_returns
final aggregation over (ca_state, cc_county, cs_call_center_sk, cs_ext_ship_cost, cs_net_profit, cs_order_number_23, cs_ship_addr_sk, cs_ship_date_sk, cs_warehouse_sk, d_date, unique)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_order_number_23"])
partial aggregation over (ca_state, cc_county, cs_call_center_sk, cs_ext_ship_cost, cs_net_profit, cs_order_number_23, cs_ship_addr_sk, cs_ship_date_sk, cs_warehouse_sk, d_date, unique)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_order_number_23"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_ship_addr_sk", "cs_ship_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q17.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q17.plan.txt
index 49c98c0b8dda..5062413e205f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q17.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q17.plan.txt
@@ -6,26 +6,30 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_item_desc, i_item_id, s_state)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q18.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q18.plan.txt
index 5f2dfaaeb4fa..8e2571b0d36a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q18.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q18.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
@@ -24,7 +25,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cd_demo_sk_2"])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q19.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q19.plan.txt
index c500acf6fca3..698ecbc98b33 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q19.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q19.plan.txt
@@ -7,17 +7,20 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q20.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q20.plan.txt
index 852a9d2a3e5c..2e873503ece8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q20.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q20.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q21.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q21.plan.txt
index 50e40917c430..2ec2a1799207 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q21.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q21.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q22.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q22.plan.txt
index 2fd28d3f31ed..6f1d958f18df 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q22.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q22.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand", "i_product_name"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q23.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q23.plan.txt
index 789f96505ed5..2df6cf04552c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q23.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q23.plan.txt
@@ -12,17 +12,20 @@ final aggregation over ()
partial aggregation over (d_date_6, ss_item_sk, substr$gid)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -33,7 +36,8 @@ final aggregation over ()
partial aggregation over (ss_customer_sk_43)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_43"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_43"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
scan customer
@@ -49,7 +53,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_71"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_71", "ss_sold_date_sk_68"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -67,17 +72,20 @@ final aggregation over ()
partial aggregation over (d_date_210, ss_item_sk_185, substr$gid_265)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_185", "ss_item_sk_185", "ss_sold_date_sk_183"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk_238"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -88,7 +96,8 @@ final aggregation over ()
partial aggregation over (ss_customer_sk_274)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_274"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_274"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_296"])
scan customer
@@ -104,7 +113,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_322"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_322", "ss_sold_date_sk_319"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q24.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q24.plan.txt
index 14c2547a1059..1c3d7959c6ae 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q24.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q24.plan.txt
@@ -12,22 +12,26 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (c_first_name, c_last_name, ca_state, i_color, i_current_price, i_manager_id, i_size, i_units, s_state, s_store_name)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_zip", "upper"])
- scan customer_address
+ dynamic filter (["ca_zip"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_birth_country", "s_zip"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -52,16 +56,20 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk_13", "ss_ticket_number_20"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_14", "ss_item_sk_13", "ss_item_sk_13", "ss_store_sk_18", "ss_ticket_number_20"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk_38", "sr_ticket_number_45"])
- scan store_returns
+ dynamic filter (["sr_item_sk_38"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_zip_83"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_113"])
- scan customer
+ dynamic filter (["c_birth_country_127"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q25.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q25.plan.txt
index 8eedb8e05888..b1efa4fcf91a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q25.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q25.plan.txt
@@ -7,25 +7,29 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q26.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q26.plan.txt
index 555bb67d3baa..d91ef68bdab5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q26.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q26.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_item_sk", "cs_promo_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q27.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q27.plan.txt
index b637b1d27f97..3de726f1cc03 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q27.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q27.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q29.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q29.plan.txt
index 8eedb8e05888..b1efa4fcf91a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q29.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q29.plan.txt
@@ -7,25 +7,29 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q30.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q30.plan.txt
index 86527fb7e2b8..7c28bc32e90f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q30.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q30.plan.txt
@@ -9,18 +9,21 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_state, wr_returning_customer_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_returning_addr_sk"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk", "wr_returning_customer_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -36,11 +39,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_state_85, wr_returning_customer_sk_28)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_77"])
- scan customer_address
+ dynamic filter (["ca_address_sk_77"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_returning_addr_sk_31"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk_21"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q31.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q31.plan.txt
index c89b05c7d74d..2486fa37f74f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q31.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q31.plan.txt
@@ -11,13 +11,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk_10"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk_10", "ss_sold_date_sk_4"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_59"])
- scan customer_address
+ dynamic filter (["ca_county_66", "ca_county_66", "ca_county_66"])
+ scan customer_address
final aggregation over (ca_county_140, d_qoy_113, d_year_109)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_140"])
@@ -25,13 +27,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk_84"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk_84", "ss_sold_date_sk_78"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_133"])
- scan customer_address
+ dynamic filter (["ca_county_140", "ca_county_140"])
+ scan customer_address
join (INNER, PARTITIONED):
final aggregation over (ca_county_276, d_qoy_249, d_year_245)
local exchange (GATHER, SINGLE, [])
@@ -40,13 +44,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk_210"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk_210", "ws_sold_date_sk_203"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_269"])
- scan customer_address
+ dynamic filter (["ca_county_276", "ca_county_276"])
+ scan customer_address
final aggregation over (ca_county_361, d_qoy_334, d_year_330)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_361"])
@@ -54,13 +60,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk_295"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk_295", "ws_sold_date_sk_288"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_354"])
- scan customer_address
+ dynamic filter (["ca_county_361"])
+ scan customer_address
join (INNER, PARTITIONED):
final aggregation over (ca_county, d_qoy, d_year)
local exchange (GATHER, SINGLE, [])
@@ -69,13 +77,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_county"])
+ scan customer_address
final aggregation over (ca_county_191, d_qoy_164, d_year_160)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_191"])
@@ -83,7 +93,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q32.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q32.plan.txt
index d2a7e4049c81..c5607e291e5b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q32.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q32.plan.txt
@@ -9,7 +9,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_item_sk_19"])
partial aggregation over (cs_item_sk_19)
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_19", "cs_sold_date_sk_4"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q33.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q33.plan.txt
index 1b2427d4e654..b0447bd7c0a9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q33.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q33.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_6"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_22)
@@ -36,7 +38,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -46,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_95"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_121)
@@ -62,7 +66,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -72,7 +77,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_196"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_222)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q34.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q34.plan.txt
index e9f7af9e157c..537336239d51 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q34.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q34.plan.txt
@@ -3,7 +3,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
final aggregation over (ss_customer_sk, ss_ticket_number)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
@@ -11,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q35.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q35.plan.txt
index f94ec8be8411..42c0747cc500 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q35.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q35.plan.txt
@@ -11,18 +11,21 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_cdemo_sk", "c_customer_sk"])
+ scan customer
final aggregation over (ss_customer_sk)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -34,7 +37,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -43,7 +47,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q36.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q36.plan.txt
index d640f5ac0d14..06cf870e256c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q36.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q36.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q37.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q37.plan.txt
index 2582d9fa4122..eadc54781cf8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q37.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q37.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_current_price", "i_item_desc", "i_item_id"])
partial aggregation over (i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q38.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q38.plan.txt
index 9f02b3c87024..b342ddb2e44f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q38.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q38.plan.txt
@@ -12,7 +12,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,7 +28,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,7 +44,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q39.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q39.plan.txt
index 657fe01edba1..ef6b7c34e1a2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q39.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q39.plan.txt
@@ -10,16 +10,19 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_item_sk", "inv_warehouse_sk", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan warehouse
+ dynamic filter (["w_warehouse_sk"])
+ scan warehouse
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["inv_item_sk_9", "inv_warehouse_sk_10"])
final aggregation over (d_moy_62, inv_item_sk_9, inv_warehouse_sk_10, w_warehouse_name_40)
@@ -29,7 +32,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk_8", "inv_item_sk_9", "inv_warehouse_sk_10"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q40.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q40.plan.txt
index 266142fc4c1a..7b700b882104 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q40.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q40.plan.txt
@@ -9,10 +9,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q41.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q41.plan.txt
index 58a96c8d1ec2..772ad4b317c4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q41.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q41.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_product_name)
single aggregation over (i_manufact, i_manufact_id, i_product_name, unique)
join (INNER, REPLICATED, can skip output duplicates):
- scan item
+ dynamic filter (["i_manufact"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q42.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q42.plan.txt
index 17cc12f10e9e..b35f518a9b70 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q42.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q42.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_category, i_category_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q43.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q43.plan.txt
index 9d9e36441a12..b94077c666ea 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q43.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q43.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name, s_store_id, s_store_name)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q45.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q45.plan.txt
index 5b30cdf7426c..c23529328ac7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q45.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q45.plan.txt
@@ -11,13 +11,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q46.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q46.plan.txt
index e8aa3db7886c..2fbada568690 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q46.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q46.plan.txt
@@ -4,7 +4,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_11"])
scan customer_address
@@ -18,7 +19,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q47.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q47.plan.txt
index 2d63bde52f55..deca457a85b4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q47.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q47.plan.txt
@@ -11,16 +11,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_company_name", "s_company_name", "s_store_name", "s_store_name"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand", "i_brand", "i_category", "i_category"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_14", "i_category_18", "s_company_name_102", "s_store_name_90"])
final aggregation over (d_moy_63, d_year_61, i_brand_14, i_category_18, s_company_name_102, s_store_name_90)
@@ -30,16 +33,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_32", "ss_sold_date_sk_30", "ss_store_sk_37"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_company_name_102", "s_store_name_90"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_14", "i_category_18"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_133", "i_category_137", "s_company_name_221", "s_store_name_209"])
final aggregation over (d_moy_182, d_year_180, i_brand_133, i_category_137, s_company_name_221, s_store_name_209)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_151", "ss_sold_date_sk_149", "ss_store_sk_156"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q48.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q48.plan.txt
index 7eb552bd09e3..bf1527240cfe 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q48.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q48.plan.txt
@@ -8,7 +8,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_cdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q49.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q49.plan.txt
index 6f687392953d..e3a416cd5356 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q49.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q49.plan.txt
@@ -12,11 +12,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (wr_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -30,11 +32,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (cr_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_order_number"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -48,11 +52,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (sr_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q50.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q50.plan.txt
index c2a9d481bf10..8ff8d8dbfebf 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q50.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q50.plan.txt
@@ -8,11 +8,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q51.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q51.plan.txt
index 6a1ca8bd4aca..32fa4cc52c6c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q51.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q51.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
partial aggregation over (d_date, ws_item_sk)
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk"])
partial aggregation over (d_date_7, ss_item_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q52.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q52.plan.txt
index 33752e693e6c..79ab5d5f2dc7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q52.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q52.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q53.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q53.plan.txt
index cd10ab3698e6..799e43e0eca0 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q53.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q53.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q54.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q54.plan.txt
index f5c3ef3b83c8..e456cebcc259 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q54.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q54.plan.txt
@@ -12,13 +12,15 @@ local exchange (GATHER, SINGLE, [])
cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk", "ca_county", "ca_state"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
@@ -27,14 +29,17 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
partial aggregation over (c_current_addr_sk, c_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan catalog_sales
- scan web_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -43,7 +48,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_month_seq_17"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q55.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q55.plan.txt
index 0322599f01e5..72d129c6fab1 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q55.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q55.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q56.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q56.plan.txt
index e96c8c31aabb..34ac61dc445c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q56.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q56.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_6"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_10)
@@ -36,7 +38,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -46,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_83"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_109)
@@ -62,7 +66,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -72,7 +77,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_184"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_210)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q57.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q57.plan.txt
index 26f16c8477dc..0605ac8bfdc2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q57.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q57.plan.txt
@@ -11,16 +11,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan call_center
+ dynamic filter (["cc_name", "cc_name"])
+ scan call_center
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand", "i_brand", "i_category", "i_category"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cc_name_102", "i_brand_14", "i_category_18"])
final aggregation over (cc_name_102, d_moy_74, d_year_72, i_brand_14, i_category_18)
@@ -30,16 +33,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk_41", "cs_item_sk_45", "cs_sold_date_sk_30"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan call_center
+ dynamic filter (["cc_name_102"])
+ scan call_center
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_14", "i_category_18"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cc_name_232", "i_brand_144", "i_category_148"])
final aggregation over (cc_name_232, d_moy_204, d_year_202, i_brand_144, i_category_148)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk_171", "cs_item_sk_175", "cs_sold_date_sk_160"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q58.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q58.plan.txt
index 192c6d359edd..4d29a46b942a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q58.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q58.plan.txt
@@ -8,11 +8,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_6)
@@ -20,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_6"])
partial aggregation over (d_date_6)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_8"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -28,7 +31,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_id"])
+ scan item
join (INNER, PARTITIONED):
final aggregation over (i_item_id_69)
local exchange (GATHER, SINGLE, [])
@@ -37,11 +41,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_94"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_126)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_126"])
partial aggregation over (d_date_126)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_128"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -57,7 +64,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_68"])
- scan item
+ dynamic filter (["i_item_id_69"])
+ scan item
final aggregation over (i_item_id_191)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_191"])
@@ -65,11 +73,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_216"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_248)
@@ -77,7 +87,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_248"])
partial aggregation over (d_date_248)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_250"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q59.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q59.plan.txt
index ae30fe8f578e..933affe1eb9a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q59.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q59.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_day_name", "d_week_seq", "ss_store_sk"])
partial aggregation over (d_day_name, d_week_seq, ss_store_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["expr_203", "s_store_sk"])
join (INNER, PARTITIONED):
@@ -29,10 +31,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_day_name_85", "d_week_seq_75", "ss_store_sk_53"])
partial aggregation over (d_day_name_85, d_week_seq_75, ss_store_sk_53)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_46", "ss_store_sk_53"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_75"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -43,7 +47,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_store_sk_117"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["s_store_id"])
- scan store
+ dynamic filter (["s_store_id"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_store_id_118"])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q60.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q60.plan.txt
index 4616b0ad95b6..cd5904cf7598 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q60.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q60.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -21,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_id_6"])
- scan item
+ dynamic filter (["i_item_id_6"])
+ scan item
final aggregation over (i_item_id_10)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_10"])
@@ -35,7 +37,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -46,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_id_83"])
- scan item
+ dynamic filter (["i_item_id_83"])
+ scan item
final aggregation over (i_item_id_109)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_109"])
@@ -60,7 +64,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -71,7 +76,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_id_184"])
- scan item
+ dynamic filter (["i_item_id_184"])
+ scan item
final aggregation over (i_item_id_210)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_210"])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q61.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q61.plan.txt
index f5183d67d01e..e5538ffe3d08 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q61.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q61.plan.txt
@@ -9,7 +9,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -22,7 +23,8 @@ cross join:
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -38,7 +40,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_15", "ss_item_sk_14", "ss_sold_date_sk_12", "ss_store_sk_19"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -51,7 +54,8 @@ cross join:
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_98"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk_102"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q62.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q62.plan.txt
index 90f04a71a65b..1c3444200bc5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q62.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q62.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_date_sk", "ws_ship_mode_sk", "ws_warehouse_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q63.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q63.plan.txt
index 23e28eddc4b7..da2cbd549a64 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q63.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q63.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q64.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q64.plan.txt
index b3b3aa65cb46..a21f273ac8d8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q64.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q64.plan.txt
@@ -8,11 +8,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_city", "ca_city_105", "ca_street_name", "ca_street_name_102", "ca_street_number", "ca_street_number_101", "ca_zip", "ca_zip_108", "d_year", "d_year_15", "d_year_45", "i_product_name", "s_store_name", "s_zip", "ss_item_sk"])
partial aggregation over (ca_city, ca_city_105, ca_street_name, ca_street_name_102, ca_street_number, ca_street_number_101, ca_zip, ca_zip_108, d_year, d_year_15, d_year_45, i_product_name, s_store_name, s_zip, ss_item_sk)
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk_99"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
@@ -20,7 +22,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cd_demo_sk_75"])
- scan customer_demographics
+ dynamic filter (["cd_demo_sk_75"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
join (INNER, REPLICATED):
@@ -33,13 +36,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_customer_sk", "ss_hdemo_sk", "ss_item_sk", "ss_item_sk", "ss_item_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_item_sk", "sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (cs_item_sk)
@@ -48,15 +53,18 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (cs_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_item_sk", "cs_item_sk", "cs_order_number"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_hdemo_sk", "c_first_sales_date_sk", "c_first_shipto_date_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -68,24 +76,28 @@ remote exchange (GATHER, SINGLE, [])
scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_store_name", "s_zip"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan promotion
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_91"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
@@ -96,11 +108,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_city_452", "ca_city_467", "ca_street_name_449", "ca_street_name_464", "ca_street_number_448", "ca_street_number_463", "ca_zip_455", "ca_zip_470", "d_year_254", "d_year_284", "d_year_314", "i_product_name_507", "s_store_name_343", "s_zip_363", "ss_item_sk_134"])
partial aggregation over (ca_city_452, ca_city_467, ca_street_name_449, ca_street_name_464, ca_street_number_448, ca_street_number_463, ca_zip_455, ca_zip_470, d_year_254, d_year_284, d_year_314, i_product_name_507, s_store_name_343, s_zip_363, ss_item_sk_134)
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk_461"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk_446"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
@@ -108,7 +122,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cd_demo_sk_400"])
- scan customer_demographics
+ dynamic filter (["cd_demo_sk_400"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk_371"])
join (INNER, REPLICATED):
@@ -121,13 +136,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk_134", "ss_ticket_number_141"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk_136", "ss_customer_sk_135", "ss_hdemo_sk_137", "ss_item_sk_134", "ss_item_sk_134", "ss_item_sk_134", "ss_promo_sk_140", "ss_sold_date_sk_132", "ss_store_sk_139", "ss_ticket_number_141"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk_159", "sr_ticket_number_166"])
- scan store_returns
+ dynamic filter (["sr_item_sk_159", "sr_item_sk_159"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (cs_item_sk_194)
@@ -136,15 +153,18 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (cs_item_sk_194)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk_194", "cs_order_number_196"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk_194", "cs_item_sk_194", "cs_order_number_196"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk_217", "cr_order_number_231"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk_217"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_369"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_hdemo_sk_372", "c_first_sales_date_sk_375", "c_first_shipto_date_sk_374"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -166,14 +186,16 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_433"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_440"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q65.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q65.plan.txt
index d464032d91fc..869d645686cd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q65.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q65.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk_8", "ss_store_sk_13"])
partial aggregation over (ss_item_sk_8, ss_store_sk_13)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_8", "ss_sold_date_sk_6", "ss_store_sk_13"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -15,7 +16,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["s_store_sk"])
- scan store
+ dynamic filter (["s_store_sk"])
+ scan store
final aggregation over (ss_store_sk)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_store_sk"])
@@ -25,7 +27,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_store_sk"])
partial aggregation over (ss_item_sk, ss_store_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q66.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q66.plan.txt
index b87ae78025f5..ba2954f5d404 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q66.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q66.plan.txt
@@ -15,7 +15,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_mode_sk", "ws_sold_date_sk", "ws_sold_time_sk", "ws_warehouse_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan ship_mode
@@ -41,7 +42,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_ship_mode_sk", "cs_sold_date_sk", "cs_sold_time_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan ship_mode
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q67.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q67.plan.txt
index 60f46f2fcf90..66c2001151d6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q67.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q67.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q68.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q68.plan.txt
index 5feab810ee06..198e4327c76a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q68.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q68.plan.txt
@@ -4,7 +4,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
final aggregation over (ca_address_sk, ca_city, ss_customer_sk, ss_ticket_number)
@@ -12,13 +13,15 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_address_sk, ca_city, ss_customer_sk, ss_ticket_number)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q69.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q69.plan.txt
index 4b87cab3294e..1ed946056199 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q69.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q69.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
@@ -17,14 +18,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -33,7 +36,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,7 +46,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q70.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q70.plan.txt
index 0ba93430749a..9ed44d6f32bd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q70.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q70.plan.txt
@@ -10,13 +10,15 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_state"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_state"])
+ scan store
single aggregation over (s_state_53)
final aggregation over (s_state_53)
local exchange (GATHER, SINGLE, [])
@@ -24,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (s_state_53)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_4", "ss_store_sk_11"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q71.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q71.plan.txt
index 599dd0ab9f9c..eb516d2aebba 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q71.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q71.plan.txt
@@ -9,17 +9,20 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk", "ws_sold_time_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk", "cs_sold_time_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_sold_time_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q72.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q72.plan.txt
index 9c47f45ae5a1..cc812789f826 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q72.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q72.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["inv_item_sk"])
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_quantity_on_hand", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_16"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
@@ -21,7 +23,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_bill_hdemo_sk", "cs_item_sk", "cs_ship_date_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q73.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q73.plan.txt
index 8a3c9f5087e6..0ceb0cf526e0 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q73.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q73.plan.txt
@@ -3,7 +3,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
final aggregation over (ss_customer_sk, ss_ticket_number)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
@@ -11,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q74.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q74.plan.txt
index e05771f18836..c8c3d330e7cb 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q74.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q74.plan.txt
@@ -9,13 +9,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_91"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_91", "ss_sold_date_sk_88"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_68"])
- scan customer
+ dynamic filter (["c_customer_id_69", "c_customer_id_69"])
+ scan customer
final aggregation over (c_customer_id_329, c_first_name_336, c_last_name_337, d_year_390)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_329"])
@@ -23,13 +25,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_352"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_352", "ws_sold_date_sk_348"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_328"])
- scan customer
+ dynamic filter (["c_customer_id_329"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_customer_id, c_first_name, c_last_name, d_year)
local exchange (GATHER, SINGLE, [])
@@ -38,13 +42,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_id"])
+ scan customer
final aggregation over (c_customer_id_508, c_first_name_515, c_last_name_516, d_year_569)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_508"])
@@ -52,7 +58,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_531"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_531", "ws_sold_date_sk_527"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q75.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q75.plan.txt
index fef6864e7254..0513d29cbb4c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q75.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q75.plan.txt
@@ -8,15 +8,18 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_13, expr, expr_18, i_brand_id_7, i_category_id_9, i_class_id_8, i_manufact_id_10)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_order_number"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_7", "i_category_id_9", "i_class_id_8", "i_manufact_id_10"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -24,15 +27,18 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_51, expr_77, expr_78, i_brand_id_28, i_category_id_32, i_class_id_30, i_manufact_id_34)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_28", "i_category_id_32", "i_class_id_30", "i_manufact_id_34"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -40,15 +46,18 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_111, expr_137, expr_138, i_brand_id_88, i_category_id_92, i_class_id_90, i_manufact_id_94)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_88", "i_category_id_92", "i_class_id_90", "i_manufact_id_94"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -59,12 +68,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_221, expr_274, expr_275, i_brand_id_198, i_category_id_202, i_class_id_200, i_manufact_id_204)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cr_item_sk_247", "cr_order_number_261"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk_247", "cr_order_number_261"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk_170", "cs_order_number_172"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_170", "cs_sold_date_sk_155"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -75,12 +86,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_331, expr_377, expr_378, i_brand_id_308, i_category_id_312, i_class_id_310, i_manufact_id_314)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["sr_item_sk_357", "sr_ticket_number_364"])
- scan store_returns
+ dynamic filter (["sr_item_sk_357", "sr_ticket_number_364"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk_278", "ss_ticket_number_285"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk_278", "ss_sold_date_sk_276"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -91,12 +104,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_445, expr_495, expr_496, i_brand_id_422, i_category_id_426, i_class_id_424, i_manufact_id_428)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["wr_item_sk_471", "wr_order_number_482"])
- scan web_returns
+ dynamic filter (["wr_item_sk_471", "wr_order_number_482"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk_382", "ws_order_number_396"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_item_sk_382", "ws_sold_date_sk_379"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q76.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q76.plan.txt
index 96f6228260dc..f9599e0446e5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q76.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q76.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_qoy_10, d_year_9, expr_134, expr_135, i_category_6)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,12 +18,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_qoy_51, d_year_47, expr_140, expr_141, i_category_29)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_17"])
- scan item
+ dynamic filter (["i_item_sk_17"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_sold_date_sk"])
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_sk_41"])
scan date_dim
@@ -31,7 +34,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q77.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q77.plan.txt
index f5f8b7b62eea..b632624a3d15 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q77.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q77.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ss_store_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -25,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (sr_store_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -38,7 +40,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_call_center_sk"])
partial aggregation over (cs_call_center_sk)
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -49,7 +52,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_call_center_sk"])
partial aggregation over (cr_call_center_sk)
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -60,7 +64,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ws_web_page_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -73,7 +78,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (wr_web_page_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk", "wr_web_page_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q78.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q78.plan.txt
index e9a4bce6caf7..a13222cb0024 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q78.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q78.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_customer_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -24,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
scan web_returns
@@ -38,7 +41,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
scan catalog_returns
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q79.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q79.plan.txt
index c41171325a3c..733be6f6e8b7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q79.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q79.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q80.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q80.plan.txt
index a4b2da9fdab0..61944a8d3ab3 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q80.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q80.plan.txt
@@ -15,10 +15,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -41,10 +43,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_catalog_page_sk", "cs_item_sk", "cs_promo_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -67,10 +71,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_promo_sk", "ws_sold_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q81.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q81.plan.txt
index 9e0a80faf301..eef4fb7f8e93 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q81.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q81.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_returning_addr_sk"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk", "cr_returning_addr_sk", "cr_returning_customer_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -37,7 +39,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_returning_addr_sk_31"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk_21", "cr_returning_addr_sk_31"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q82.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q82.plan.txt
index 532952036fc3..d3b691e03fe2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q82.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q82.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_current_price", "i_item_desc", "i_item_id"])
partial aggregation over (i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q83.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q83.plan.txt
index d5992a1244c4..9c4f78a6d332 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q83.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q83.plan.txt
@@ -8,11 +8,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_6)
@@ -20,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_6"])
partial aggregation over (d_date_6)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_8"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_40)
@@ -30,7 +33,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_id"])
+ scan item
join (INNER, PARTITIONED):
final aggregation over (i_item_id_74)
local exchange (GATHER, SINGLE, [])
@@ -39,11 +43,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_item_sk"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_99"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_131)
@@ -51,7 +57,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_131"])
partial aggregation over (d_date_131)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_133"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_165)
@@ -61,22 +68,26 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_73"])
- scan item
+ dynamic filter (["i_item_id_74"])
+ scan item
final aggregation over (i_item_id_201)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_201"])
partial aggregation over (i_item_id_201)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_200"])
- scan item
+ dynamic filter (["i_item_sk_200"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_226"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_258)
@@ -84,7 +95,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_258"])
partial aggregation over (d_date_258)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_260"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_292)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q84.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q84.plan.txt
index ec22af2c6a55..b1402e98e5ab 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q84.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q84.plan.txt
@@ -1,23 +1,27 @@
local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_cdemo_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_hdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q85.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q85.plan.txt
index 2a72b1dbbed5..eedf6f3329c2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q85.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q85.plan.txt
@@ -6,13 +6,15 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (r_reason_desc)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cd_demo_sk_6", "cd_education_status_9", "cd_marital_status_8"])
- scan customer_demographics
+ dynamic filter (["cd_demo_sk_6", "cd_education_status_9", "cd_marital_status_8"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cd_education_status", "cd_marital_status", "wr_returning_cdemo_sk"])
join (INNER, PARTITIONED):
@@ -20,13 +22,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_order_number", "ws_sold_date_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_reason_sk", "wr_refunded_cdemo_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cd_demo_sk"])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q86.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q86.plan.txt
index cca927926827..38fdc67f5412 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q86.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q86.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (groupid, i_category$gid, i_class$gid)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q87.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q87.plan.txt
index 9f02b3c87024..b342ddb2e44f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q87.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q87.plan.txt
@@ -12,7 +12,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,7 +28,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,7 +44,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q88.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q88.plan.txt
index 6e297c60e201..123c3d12c59d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q88.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q88.plan.txt
@@ -12,7 +12,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_time_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -29,7 +30,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_11", "ss_sold_time_sk_7", "ss_store_sk_13"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -46,7 +48,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_87", "ss_sold_time_sk_83", "ss_store_sk_89"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -63,7 +66,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_163", "ss_sold_time_sk_159", "ss_store_sk_165"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -80,7 +84,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_239", "ss_sold_time_sk_235", "ss_store_sk_241"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -97,7 +102,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_315", "ss_sold_time_sk_311", "ss_store_sk_317"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -114,7 +120,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_391", "ss_sold_time_sk_387", "ss_store_sk_393"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -131,7 +138,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_467", "ss_sold_time_sk_463", "ss_store_sk_469"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q89.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q89.plan.txt
index 396d705bbc38..221dfc17c333 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q89.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q89.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q90.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q90.plan.txt
index 0ddf21aa574d..0645101dc4e6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q90.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q90.plan.txt
@@ -6,7 +6,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_hdemo_sk", "ws_sold_time_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan web_page
@@ -23,7 +24,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_hdemo_sk_16", "ws_sold_time_sk_7", "ws_web_page_sk_18"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan web_page
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q91.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q91.plan.txt
index 750e4be2dcb9..cae49eea1e14 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q91.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q91.plan.txt
@@ -9,7 +9,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_returning_customer_sk"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_call_center_sk", "cr_returned_date_sk", "cr_returning_customer_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk", "c_current_hdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q92.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q92.plan.txt
index 55eb5a4a778f..f88e053a3194 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q92.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q92.plan.txt
@@ -9,7 +9,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ws_item_sk_7"])
partial aggregation over (ws_item_sk_7)
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_7", "ws_sold_date_sk_4"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q93.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q93.plan.txt
index ca9dc7543db7..e1cd897adff9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q93.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q93.plan.txt
@@ -7,10 +7,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_reason_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan reason
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q94.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q94.plan.txt
index a868321dbc78..9ec98f244d16 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q94.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q94.plan.txt
@@ -8,19 +8,22 @@ final aggregation over ()
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_order_number"])
partial aggregation over (wr_order_number)
- scan web_returns
+ dynamic filter (["wr_order_number"])
+ scan web_returns
final aggregation over (ca_state, d_date, unique, web_company_name, ws_ext_ship_cost, ws_net_profit, ws_order_number_23, ws_ship_addr_sk, ws_ship_date_sk, ws_warehouse_sk, ws_web_site_sk)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_23"])
partial aggregation over (ca_state, d_date, unique, web_company_name, ws_ext_ship_cost, ws_net_profit, ws_order_number_23, ws_ship_addr_sk, ws_ship_date_sk, ws_warehouse_sk, ws_web_site_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_order_number_23"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_addr_sk", "ws_ship_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q95.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q95.plan.txt
index aaf3edd0ed42..108f553caff7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q95.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q95.plan.txt
@@ -9,29 +9,35 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_order_number_101"])
- scan web_sales
+ dynamic filter (["ws_order_number_101", "ws_order_number_101", "ws_order_number_101"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_order_number", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_137"])
- scan web_sales
+ dynamic filter (["ws_order_number_137"])
+ scan web_sales
join (INNER, PARTITIONED):
final aggregation over (ws_order_number_23)
local exchange (GATHER, SINGLE, [])
partial aggregation over (ws_order_number_23)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_order_number_23"])
- scan web_sales
+ dynamic filter (["ws_order_number_23", "ws_order_number_23"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_59"])
- scan web_sales
+ dynamic filter (["ws_order_number_59"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_addr_sk", "ws_ship_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q96.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q96.plan.txt
index 6ac294895946..e4fdf4d14611 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q96.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q96.plan.txt
@@ -5,7 +5,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_time_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q97.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q97.plan.txt
index 7b9c83293534..959bbfe9de73 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q97.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q97.plan.txt
@@ -8,7 +8,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk"])
partial aggregation over (ss_customer_sk, ss_item_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk", "cs_item_sk"])
partial aggregation over (cs_bill_customer_sk, cs_item_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q98.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q98.plan.txt
index 9775b6c511f5..7c0caca03f27 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q98.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q98.plan.txt
@@ -9,7 +9,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q99.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q99.plan.txt
index 7f8838ac985a..87cec8152a11 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q99.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q99.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_ship_date_sk", "cs_ship_mode_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q01.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q01.plan.txt
index d091b5f71d8b..9f5479141165 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q01.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q01.plan.txt
@@ -4,7 +4,8 @@ local exchange (GATHER, SINGLE, [])
join (LEFT, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk"])
join (INNER, REPLICATED):
@@ -13,7 +14,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_store_sk"])
partial aggregation over (sr_customer_sk, sr_store_sk)
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -31,7 +33,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk_8", "sr_store_sk_12"])
partial aggregation over (sr_customer_sk_8, sr_store_sk_12)
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk_25"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q02.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q02.plan.txt
index ebb55d3dc0a5..e53db1e6ec57 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q02.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q02.plan.txt
@@ -10,14 +10,18 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name, d_week_seq)
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
- scan catalog_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq", "d_week_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_week_seq_20"])
- scan date_dim
+ dynamic filter (["d_week_seq_20"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["expr_219"])
join (INNER, PARTITIONED):
@@ -28,11 +32,14 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name_134, d_week_seq_124)
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
- scan catalog_sales
+ dynamic filter (["ws_sold_date_sk_81"])
+ scan web_sales
+ dynamic filter (["cs_sold_date_sk_117"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_124"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_week_seq_169"])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q03.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q03.plan.txt
index 70aae3fa1bdd..ede6415850e5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q03.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q03.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q04.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q04.plan.txt
index 7a475db42e6d..10ebe8629d94 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q04.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q04.plan.txt
@@ -10,13 +10,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk_869"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk_869", "cs_sold_date_sk_900"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_847"])
- scan customer
+ dynamic filter (["c_customer_id_848", "c_customer_id_848", "c_customer_id_848"])
+ scan customer
final aggregation over (c_birth_country_1558, c_customer_id_1545, c_email_address_1560, c_first_name_1552, c_last_name_1553, c_login_1559, c_preferred_cust_flag_1554, d_year_1606)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_1545"])
@@ -24,13 +26,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_1567"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_1567", "ws_sold_date_sk_1597"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_1544"])
- scan customer
+ dynamic filter (["c_customer_id_1545", "c_customer_id_1545"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_birth_country_561, c_customer_id_548, c_email_address_563, c_first_name_555, c_last_name_556, c_login_562, c_preferred_cust_flag_557, d_year_609)
local exchange (GATHER, SINGLE, [])
@@ -39,13 +43,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk_569"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk_569", "cs_sold_date_sk_600"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_547"])
- scan customer
+ dynamic filter (["c_customer_id_548", "c_customer_id_548"])
+ scan customer
final aggregation over (c_birth_country_1258, c_customer_id_1245, c_email_address_1260, c_first_name_1252, c_last_name_1253, c_login_1259, c_preferred_cust_flag_1254, d_year_1306)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_1245"])
@@ -53,13 +59,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_1267"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_1267", "ws_sold_date_sk_1297"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_1244"])
- scan customer
+ dynamic filter (["c_customer_id_1245"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_birth_country_175, c_customer_id_162, c_email_address_177, c_first_name_169, c_last_name_170, c_login_176, c_preferred_cust_flag_171, d_year_212)
local exchange (GATHER, SINGLE, [])
@@ -68,13 +76,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_183"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_183", "ss_sold_date_sk_203"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_161"])
- scan customer
+ dynamic filter (["c_customer_id_162"])
+ scan customer
final aggregation over (c_birth_country, c_customer_id, c_email_address, c_first_name, c_last_name, c_login, c_preferred_cust_flag, d_year)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id"])
@@ -82,7 +92,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q05.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q05.plan.txt
index 169f66124bda..23ab40f569d7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q05.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q05.plan.txt
@@ -12,8 +12,10 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan store_sales
- scan store_returns
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,8 +29,10 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan catalog_sales
- scan catalog_returns
+ dynamic filter (["cs_catalog_page_sk", "cs_sold_date_sk"])
+ scan catalog_sales
+ dynamic filter (["cr_catalog_page_sk", "cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,13 +46,16 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
+ dynamic filter (["ws_sold_date_sk", "ws_web_site_sk"])
+ scan web_sales
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk_81", "ws_order_number_95"])
- scan web_sales
+ dynamic filter (["ws_item_sk_81", "ws_order_number_95", "ws_web_site_sk_91"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_returned_date_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q06.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q06.plan.txt
index f25b809ee8ef..67d1f35ddb4e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q06.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q06.plan.txt
@@ -10,11 +10,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_month_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -28,7 +30,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q07.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q07.plan.txt
index 32f4763b443d..a8da2880635e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q07.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q07.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q08.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q08.plan.txt
index 45b29afc325b..a0f9f839ee51 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q08.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q08.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["substr_34"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -30,7 +31,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_zip_16)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_7"])
- scan customer_address
+ dynamic filter (["ca_address_sk_7"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q10.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q10.plan.txt
index 7d60d2a5fdd5..751f1ac52a8c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q10.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q10.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_ship_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -21,14 +22,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
@@ -37,14 +40,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q11.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q11.plan.txt
index bca78917b94d..41aaf0c91c75 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q11.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q11.plan.txt
@@ -9,13 +9,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_100"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_100", "ss_sold_date_sk_120"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_78"])
- scan customer
+ dynamic filter (["c_customer_id_79", "c_customer_id_79"])
+ scan customer
final aggregation over (c_birth_country_371, c_customer_id_358, c_email_address_373, c_first_name_365, c_last_name_366, c_login_372, c_preferred_cust_flag_367, d_year_419)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_358"])
@@ -23,13 +25,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_380"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_380", "ws_sold_date_sk_410"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_357"])
- scan customer
+ dynamic filter (["c_customer_id_358"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_birth_country, c_customer_id, c_email_address, c_first_name, c_last_name, c_login, c_preferred_cust_flag, d_year)
local exchange (GATHER, SINGLE, [])
@@ -38,13 +42,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_id"])
+ scan customer
final aggregation over (c_birth_country_564, c_customer_id_551, c_email_address_566, c_first_name_558, c_last_name_559, c_login_565, c_preferred_cust_flag_560, d_year_612)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_551"])
@@ -52,7 +58,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_573"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_573", "ws_sold_date_sk_603"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q12.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q12.plan.txt
index 6f94c98c5224..04b0eb523fd6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q12.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q12.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q13.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q13.plan.txt
index 011d5b20fbba..8f205090a87c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q13.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q13.plan.txt
@@ -7,7 +7,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_cdemo_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q14.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q14.plan.txt
index c8326b25e125..ce5fda5a2106 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q14.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q14.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_6, i_category_id_8, i_class_id_7)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,21 +21,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
final aggregation over (i_item_sk_13)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_13"])
partial aggregation over (i_item_sk_13)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_20", "i_category_id_24", "i_class_id_22"])
- scan item
+ dynamic filter (["i_brand_id_20", "i_category_id_24", "i_class_id_22"])
+ scan item
final aggregation over (brand_id, category_id, class_id)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_72", "i_category_id_76", "i_class_id_74"])
partial aggregation over (i_brand_id_72, i_category_id_76, i_class_id_74)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_41", "ss_sold_date_sk_62"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -45,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_128, i_category_id_132, i_class_id_130)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -56,7 +61,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_184, i_category_id_188, i_class_id_186)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -70,19 +76,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_258"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_324"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_390"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -93,7 +102,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_469, i_category_id_473, i_class_id_471)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_440", "cs_sold_date_sk_459"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -101,21 +111,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_462"])
- scan item
+ dynamic filter (["i_item_sk_462"])
+ scan item
final aggregation over (i_item_sk_518)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_518"])
partial aggregation over (i_item_sk_518)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_525", "i_category_id_529", "i_class_id_527"])
- scan item
+ dynamic filter (["i_brand_id_525", "i_category_id_529", "i_class_id_527"])
+ scan item
final aggregation over (brand_id_542, category_id_544, class_id_543)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_580", "i_category_id_584", "i_class_id_582"])
partial aggregation over (i_brand_id_580, i_category_id_584, i_class_id_582)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_549", "ss_sold_date_sk_570"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -126,7 +139,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_670, i_category_id_674, i_class_id_672)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_641", "cs_sold_date_sk_660"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -137,7 +151,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_760, i_category_id_764, i_class_id_762)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_719", "ws_sold_date_sk_750"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -151,19 +166,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_841"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_907"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_973"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -174,7 +192,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1052, i_category_id_1056, i_class_id_1054)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_1011", "ws_sold_date_sk_1042"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -182,21 +201,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_1045"])
- scan item
+ dynamic filter (["i_item_sk_1045"])
+ scan item
final aggregation over (i_item_sk_1101)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_1101"])
partial aggregation over (i_item_sk_1101)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_1108", "i_category_id_1112", "i_class_id_1110"])
- scan item
+ dynamic filter (["i_brand_id_1108", "i_category_id_1112", "i_class_id_1110"])
+ scan item
final aggregation over (brand_id_1125, category_id_1127, class_id_1126)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_1163", "i_category_id_1167", "i_class_id_1165"])
partial aggregation over (i_brand_id_1163, i_category_id_1167, i_class_id_1165)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_1132", "ss_sold_date_sk_1153"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -207,7 +229,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1253, i_category_id_1257, i_class_id_1255)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_1224", "cs_sold_date_sk_1243"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -218,7 +241,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1343, i_category_id_1347, i_class_id_1345)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_1302", "ws_sold_date_sk_1333"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -232,19 +256,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_1424"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_1490"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_1556"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q15.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q15.plan.txt
index f359fbefb40f..f6e8849bd9b5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q15.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q15.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -15,7 +16,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q16.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q16.plan.txt
index d97b831a9546..4ff3a5713b44 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q16.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q16.plan.txt
@@ -8,19 +8,22 @@ final aggregation over ()
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_order_number"])
partial aggregation over (cr_order_number)
- scan catalog_returns
+ dynamic filter (["cr_order_number"])
+ scan catalog_returns
final aggregation over (ca_state, cc_county, cs_call_center_sk, cs_ext_ship_cost, cs_net_profit, cs_order_number_22, cs_ship_addr_sk, cs_ship_date_sk, cs_warehouse_sk, d_date, unique)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_order_number_22"])
partial aggregation over (ca_state, cc_county, cs_call_center_sk, cs_ext_ship_cost, cs_net_profit, cs_order_number_22, cs_ship_addr_sk, cs_ship_date_sk, cs_warehouse_sk, d_date, unique)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_order_number_22"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_ship_addr_sk", "cs_ship_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q17.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q17.plan.txt
index 47c73f484403..7082811c8502 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q17.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q17.plan.txt
@@ -6,26 +6,30 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_item_desc, i_item_id, s_state)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q18.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q18.plan.txt
index 3cdca5dac93e..1b9e7c3ebd46 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q18.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q18.plan.txt
@@ -10,14 +10,16 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q19.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q19.plan.txt
index 57e559af38d4..c51217a1957f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q19.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q19.plan.txt
@@ -6,18 +6,21 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand, i_brand_id, i_manufact, i_manufact_id)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q20.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q20.plan.txt
index 852a9d2a3e5c..2e873503ece8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q20.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q20.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q21.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q21.plan.txt
index 50e40917c430..2ec2a1799207 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q21.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q21.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q22.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q22.plan.txt
index 2fd28d3f31ed..6f1d958f18df 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q22.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q22.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand", "i_product_name"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q23.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q23.plan.txt
index 7cbaa1dbba4d..36966192b554 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q23.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q23.plan.txt
@@ -12,17 +12,20 @@ final aggregation over ()
partial aggregation over (d_date_6, ss_item_sk, substr$gid)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -33,7 +36,8 @@ final aggregation over ()
partial aggregation over (ss_customer_sk_42)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_42"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_42"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
scan customer
@@ -49,7 +53,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_70"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_70", "ss_sold_date_sk_90"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -67,17 +72,20 @@ final aggregation over ()
partial aggregation over (d_date_210, ss_item_sk_184, substr$gid_265)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_184", "ss_item_sk_184", "ss_sold_date_sk_205"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk_238"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -88,7 +96,8 @@ final aggregation over ()
partial aggregation over (ss_customer_sk_273)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_273"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_273"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_296"])
scan customer
@@ -104,7 +113,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_321"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_321", "ss_sold_date_sk_341"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q24.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q24.plan.txt
index d4aee5a72c72..48655336cf12 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q24.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q24.plan.txt
@@ -12,21 +12,25 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (c_first_name, c_last_name, ca_state, i_color, i_current_price, i_manager_id, i_size, i_units, s_state, s_store_name)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_zip", "upper"])
- scan customer_address
+ dynamic filter (["ca_zip"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_birth_country", "s_zip"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -51,16 +55,20 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk_12", "ss_ticket_number_19"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_13", "ss_item_sk_12", "ss_item_sk_12", "ss_store_sk_17", "ss_ticket_number_19"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_zip_83"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk_37", "sr_ticket_number_44"])
- scan store_returns
+ dynamic filter (["sr_item_sk_37"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_113"])
- scan customer
+ dynamic filter (["c_birth_country_127"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q25.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q25.plan.txt
index a21872e9dd27..2cf400cb82cd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q25.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q25.plan.txt
@@ -6,26 +6,30 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_item_desc, i_item_id, s_store_id, s_store_name)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q26.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q26.plan.txt
index 555bb67d3baa..d91ef68bdab5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q26.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q26.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_item_sk", "cs_promo_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q27.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q27.plan.txt
index ed0e2e73e9f3..bb3578559862 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q27.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q27.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q29.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q29.plan.txt
index a21872e9dd27..2cf400cb82cd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q29.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q29.plan.txt
@@ -6,26 +6,30 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_item_desc, i_item_id, s_store_id, s_store_name)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q30.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q30.plan.txt
index 20acb58872da..d37894529112 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q30.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q30.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["wr_returning_addr_sk"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk", "wr_returning_addr_sk", "wr_returning_customer_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -37,7 +39,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["wr_returning_addr_sk_30"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk_44", "wr_returning_addr_sk_30"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q31.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q31.plan.txt
index 0056aa780bc4..68eaa09566a1 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q31.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q31.plan.txt
@@ -11,13 +11,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk_9"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk_9", "ss_sold_date_sk_26"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_59"])
- scan customer_address
+ dynamic filter (["ca_county_66", "ca_county_66", "ca_county_66"])
+ scan customer_address
final aggregation over (ca_county_140, d_qoy_113, d_year_109)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_140"])
@@ -25,13 +27,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk_83"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk_83", "ss_sold_date_sk_100"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_133"])
- scan customer_address
+ dynamic filter (["ca_county_140", "ca_county_140"])
+ scan customer_address
join (INNER, PARTITIONED):
final aggregation over (ca_county_276, d_qoy_249, d_year_245)
local exchange (GATHER, SINGLE, [])
@@ -40,13 +44,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk_209"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk_209", "ws_sold_date_sk_236"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_269"])
- scan customer_address
+ dynamic filter (["ca_county_276", "ca_county_276"])
+ scan customer_address
final aggregation over (ca_county_361, d_qoy_334, d_year_330)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_361"])
@@ -54,13 +60,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk_294"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk_294", "ws_sold_date_sk_321"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_354"])
- scan customer_address
+ dynamic filter (["ca_county_361"])
+ scan customer_address
join (INNER, PARTITIONED):
final aggregation over (ca_county, d_qoy, d_year)
local exchange (GATHER, SINGLE, [])
@@ -69,13 +77,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_county"])
+ scan customer_address
final aggregation over (ca_county_191, d_qoy_164, d_year_160)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_191"])
@@ -83,7 +93,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q32.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q32.plan.txt
index e09ec6de273c..02f6814dbdab 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q32.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q32.plan.txt
@@ -9,7 +9,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_item_sk_18"])
partial aggregation over (cs_item_sk_18)
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_18", "cs_sold_date_sk_37"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q33.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q33.plan.txt
index 1b2427d4e654..b0447bd7c0a9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q33.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q33.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_6"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_22)
@@ -36,7 +38,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -46,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_95"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_121)
@@ -62,7 +66,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -72,7 +77,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_196"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_222)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q34.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q34.plan.txt
index e9f7af9e157c..537336239d51 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q34.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q34.plan.txt
@@ -3,7 +3,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
final aggregation over (ss_customer_sk, ss_ticket_number)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
@@ -11,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q35.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q35.plan.txt
index f1fed4317214..5a7a74e49f1f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q35.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q35.plan.txt
@@ -13,7 +13,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
@@ -22,7 +23,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -34,7 +36,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -43,7 +46,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q36.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q36.plan.txt
index d640f5ac0d14..06cf870e256c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q36.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q36.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q37.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q37.plan.txt
index 2582d9fa4122..eadc54781cf8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q37.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q37.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_current_price", "i_item_desc", "i_item_id"])
partial aggregation over (i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q38.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q38.plan.txt
index 9f02b3c87024..b342ddb2e44f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q38.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q38.plan.txt
@@ -12,7 +12,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,7 +28,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,7 +44,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q39.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q39.plan.txt
index eb2349ef1574..96555d1e77b4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q39.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q39.plan.txt
@@ -10,16 +10,19 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_item_sk", "inv_warehouse_sk", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan warehouse
+ dynamic filter (["w_warehouse_sk"])
+ scan warehouse
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["inv_item_sk_8", "inv_warehouse_sk_9"])
final aggregation over (d_moy_62, inv_item_sk_8, inv_warehouse_sk_9, w_warehouse_name_40)
@@ -29,7 +32,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk_11", "inv_item_sk_8", "inv_warehouse_sk_9"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q40.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q40.plan.txt
index 266142fc4c1a..7b700b882104 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q40.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q40.plan.txt
@@ -9,10 +9,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q41.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q41.plan.txt
index 58a96c8d1ec2..772ad4b317c4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q41.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q41.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_product_name)
single aggregation over (i_manufact, i_manufact_id, i_product_name, unique)
join (INNER, REPLICATED, can skip output duplicates):
- scan item
+ dynamic filter (["i_manufact"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q42.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q42.plan.txt
index 87792b40cd98..534e670ed02a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q42.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q42.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_category, i_category_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q43.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q43.plan.txt
index 9d9e36441a12..b94077c666ea 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q43.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q43.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name, s_store_id, s_store_name)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q45.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q45.plan.txt
index 6a42b74e28db..95918f1b4170 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q45.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q45.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q46.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q46.plan.txt
index d675e12143ee..a2a2c32a60a9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q46.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q46.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_customer_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
@@ -27,7 +28,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_11"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q47.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q47.plan.txt
index 2d63bde52f55..6bda63bab469 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q47.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q47.plan.txt
@@ -11,16 +11,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_company_name", "s_company_name", "s_store_name", "s_store_name"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand", "i_brand", "i_category", "i_category"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_14", "i_category_18", "s_company_name_102", "s_store_name_90"])
final aggregation over (d_moy_63, d_year_61, i_brand_14, i_category_18, s_company_name_102, s_store_name_90)
@@ -30,16 +33,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_31", "ss_sold_date_sk_52", "ss_store_sk_36"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_company_name_102", "s_store_name_90"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_14", "i_category_18"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_133", "i_category_137", "s_company_name_221", "s_store_name_209"])
final aggregation over (d_moy_182, d_year_180, i_brand_133, i_category_137, s_company_name_221, s_store_name_209)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_150", "ss_sold_date_sk_171", "ss_store_sk_155"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q48.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q48.plan.txt
index dd3059b1afd4..17d20aa59ac5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q48.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q48.plan.txt
@@ -6,7 +6,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_cdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q49.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q49.plan.txt
index 6f687392953d..e3a416cd5356 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q49.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q49.plan.txt
@@ -12,11 +12,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (wr_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -30,11 +32,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (cr_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_order_number"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -48,11 +52,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (sr_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q50.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q50.plan.txt
index c2a9d481bf10..8ff8d8dbfebf 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q50.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q50.plan.txt
@@ -8,11 +8,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q51.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q51.plan.txt
index 6a1ca8bd4aca..32fa4cc52c6c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q51.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q51.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
partial aggregation over (d_date, ws_item_sk)
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk"])
partial aggregation over (d_date_7, ss_item_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q52.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q52.plan.txt
index 70aae3fa1bdd..ede6415850e5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q52.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q52.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q53.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q53.plan.txt
index cd10ab3698e6..799e43e0eca0 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q53.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q53.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q54.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q54.plan.txt
index f5c3ef3b83c8..e456cebcc259 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q54.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q54.plan.txt
@@ -12,13 +12,15 @@ local exchange (GATHER, SINGLE, [])
cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk", "ca_county", "ca_state"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
@@ -27,14 +29,17 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
partial aggregation over (c_current_addr_sk, c_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan catalog_sales
- scan web_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -43,7 +48,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_month_seq_17"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q55.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q55.plan.txt
index f89f2f078b63..c58f37a50aa2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q55.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q55.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q56.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q56.plan.txt
index 35ea332fb456..30a5e380cbdd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q56.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q56.plan.txt
@@ -10,14 +10,16 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_6"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_10)
@@ -37,14 +39,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_bill_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_83"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_109)
@@ -64,14 +68,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_184"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_210)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q57.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q57.plan.txt
index 105ad5f39b4a..67402b41d32c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q57.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q57.plan.txt
@@ -11,16 +11,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand", "i_brand", "i_category", "i_category"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan call_center
+ dynamic filter (["cc_name", "cc_name"])
+ scan call_center
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cc_name_102", "i_brand_14", "i_category_18"])
final aggregation over (cc_name_102, d_moy_74, d_year_72, i_brand_14, i_category_18)
@@ -30,16 +33,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk_40", "cs_item_sk_44", "cs_sold_date_sk_63"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_14", "i_category_18"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan call_center
+ dynamic filter (["cc_name_102"])
+ scan call_center
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cc_name_232", "i_brand_144", "i_category_148"])
final aggregation over (cc_name_232, d_moy_204, d_year_202, i_brand_144, i_category_148)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk_170", "cs_item_sk_174", "cs_sold_date_sk_193"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q58.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q58.plan.txt
index 00602f5115c0..6592ac42f887 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q58.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q58.plan.txt
@@ -7,11 +7,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_6)
@@ -19,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_6"])
partial aggregation over (d_date_6)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_8"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -27,7 +30,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_id"])
+ scan item
join (INNER, PARTITIONED):
final aggregation over (i_item_id_69)
local exchange (GATHER, SINGLE, [])
@@ -35,11 +39,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_item_id_69)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_94"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_126)
@@ -47,7 +53,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_126"])
partial aggregation over (d_date_126)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_128"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -55,7 +62,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_id_69"])
+ scan item
final aggregation over (i_item_id_191)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_191"])
@@ -63,11 +71,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_216"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_248)
@@ -75,7 +85,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_248"])
partial aggregation over (d_date_248)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_250"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q59.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q59.plan.txt
index 7f584558007b..b71b03defefe 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q59.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q59.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_day_name", "d_week_seq", "ss_store_sk"])
partial aggregation over (d_day_name, d_week_seq, ss_store_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["expr_203", "s_store_sk"])
join (INNER, PARTITIONED):
@@ -29,10 +31,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_day_name_85", "d_week_seq_75", "ss_store_sk_52"])
partial aggregation over (d_day_name_85, d_week_seq_75, ss_store_sk_52)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_68", "ss_store_sk_52"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_75"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -43,7 +47,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_store_sk_117"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["s_store_id"])
- scan store
+ dynamic filter (["s_store_id"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_store_id_118"])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q60.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q60.plan.txt
index e96c8c31aabb..34ac61dc445c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q60.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q60.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_6"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_10)
@@ -36,7 +38,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -46,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_83"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_109)
@@ -62,7 +66,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -72,7 +77,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_184"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_210)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q61.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q61.plan.txt
index ff3d350a643f..1cd788781e8b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q61.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q61.plan.txt
@@ -9,7 +9,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -22,7 +23,8 @@ cross join:
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -38,7 +40,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_14", "ss_item_sk_13", "ss_sold_date_sk_34", "ss_store_sk_18"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -51,7 +54,8 @@ cross join:
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_98"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk_102"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q62.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q62.plan.txt
index 61172c74fc4f..26846a9ba0a9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q62.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q62.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_date_sk", "ws_ship_mode_sk", "ws_warehouse_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q63.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q63.plan.txt
index 23e28eddc4b7..da2cbd549a64 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q63.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q63.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q64.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q64.plan.txt
index 34baf2cecca6..0eb91cefd6fd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q64.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q64.plan.txt
@@ -9,11 +9,13 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (ca_city, ca_city_105, ca_street_name, ca_street_name_102, ca_street_number, ca_street_number_101, ca_zip, ca_zip_108, d_year, d_year_15, d_year_45, i_product_name, s_store_name, s_zip, ss_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_99"])
- scan customer_address
+ dynamic filter (["ca_address_sk_99"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
@@ -30,13 +32,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_customer_sk", "ss_hdemo_sk", "ss_item_sk", "ss_item_sk", "ss_item_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_item_sk", "sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (cs_item_sk)
@@ -45,21 +49,25 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (cs_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_item_sk", "cs_item_sk", "cs_order_number"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_store_name", "s_zip"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_cdemo_sk", "c_current_hdemo_sk", "c_first_sales_date_sk", "c_first_shipto_date_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -68,7 +76,8 @@ remote exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cd_demo_sk_75"])
scan customer_demographics
@@ -78,14 +87,16 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_91"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
@@ -97,11 +108,13 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (ca_city_452, ca_city_467, ca_street_name_449, ca_street_name_464, ca_street_number_448, ca_street_number_463, ca_zip_455, ca_zip_470, d_year_254, d_year_284, d_year_314, i_product_name_507, s_store_name_343, s_zip_363, ss_item_sk_133)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_461"])
- scan customer_address
+ dynamic filter (["ca_address_sk_461"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk_373"])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk_446"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
@@ -118,13 +131,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk_133", "ss_ticket_number_140"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk_135", "ss_customer_sk_134", "ss_hdemo_sk_136", "ss_item_sk_133", "ss_item_sk_133", "ss_item_sk_133", "ss_promo_sk_139", "ss_sold_date_sk_154", "ss_store_sk_138", "ss_ticket_number_140"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk_158", "sr_ticket_number_165"])
- scan store_returns
+ dynamic filter (["sr_item_sk_158", "sr_item_sk_158"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (cs_item_sk_193)
@@ -133,10 +148,12 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (cs_item_sk_193)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk_193", "cs_order_number_195"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk_193", "cs_item_sk_193", "cs_order_number_195"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk_216", "cr_order_number_230"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk_216"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
@@ -147,7 +164,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_369"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_cdemo_sk_371", "c_current_hdemo_sk_372", "c_first_sales_date_sk_375", "c_first_shipto_date_sk_374"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -166,14 +184,16 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_433"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_440"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q65.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q65.plan.txt
index 0c80486a2845..e709c2b79828 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q65.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q65.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk_7", "ss_store_sk_12"])
partial aggregation over (ss_item_sk_7, ss_store_sk_12)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_7", "ss_sold_date_sk_28", "ss_store_sk_12"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -15,7 +16,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["s_store_sk"])
- scan store
+ dynamic filter (["s_store_sk"])
+ scan store
final aggregation over (ss_store_sk)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_store_sk"])
@@ -25,7 +27,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_store_sk"])
partial aggregation over (ss_item_sk, ss_store_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q66.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q66.plan.txt
index b87ae78025f5..ba2954f5d404 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q66.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q66.plan.txt
@@ -15,7 +15,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_mode_sk", "ws_sold_date_sk", "ws_sold_time_sk", "ws_warehouse_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan ship_mode
@@ -41,7 +42,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_ship_mode_sk", "cs_sold_date_sk", "cs_sold_time_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan ship_mode
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q67.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q67.plan.txt
index 60f46f2fcf90..66c2001151d6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q67.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q67.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q68.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q68.plan.txt
index 0df5521a9d32..b8cefafe7ca2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q68.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q68.plan.txt
@@ -4,7 +4,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
final aggregation over (ca_city, ss_addr_sk, ss_customer_sk, ss_ticket_number)
@@ -15,7 +16,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q69.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q69.plan.txt
index d304792469c0..c79f374b67e4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q69.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q69.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -19,7 +20,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cd_demo_sk"])
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
join (INNER, PARTITIONED):
@@ -28,14 +30,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -44,7 +48,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q70.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q70.plan.txt
index 0ba93430749a..6782961fcb04 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q70.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q70.plan.txt
@@ -10,13 +10,15 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_state"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_state"])
+ scan store
single aggregation over (s_state_53)
final aggregation over (s_state_53)
local exchange (GATHER, SINGLE, [])
@@ -24,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (s_state_53)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_26", "ss_store_sk_10"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q71.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q71.plan.txt
index 599dd0ab9f9c..eb516d2aebba 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q71.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q71.plan.txt
@@ -9,17 +9,20 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk", "ws_sold_time_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk", "cs_sold_time_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_sold_time_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q72.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q72.plan.txt
index 9c47f45ae5a1..cc812789f826 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q72.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q72.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["inv_item_sk"])
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_quantity_on_hand", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_16"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
@@ -21,7 +23,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_bill_hdemo_sk", "cs_item_sk", "cs_ship_date_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q73.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q73.plan.txt
index 8a3c9f5087e6..0ceb0cf526e0 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q73.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q73.plan.txt
@@ -3,7 +3,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
final aggregation over (ss_customer_sk, ss_ticket_number)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
@@ -11,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q74.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q74.plan.txt
index 89fdfff32752..aa0066ea858b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q74.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q74.plan.txt
@@ -9,13 +9,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_90"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_90", "ss_sold_date_sk_110"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_68"])
- scan customer
+ dynamic filter (["c_customer_id_69", "c_customer_id_69"])
+ scan customer
final aggregation over (c_customer_id_329, c_first_name_336, c_last_name_337, d_year_390)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_329"])
@@ -23,13 +25,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_351"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_351", "ws_sold_date_sk_381"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_328"])
- scan customer
+ dynamic filter (["c_customer_id_329"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_customer_id, c_first_name, c_last_name, d_year)
local exchange (GATHER, SINGLE, [])
@@ -38,13 +42,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_id"])
+ scan customer
final aggregation over (c_customer_id_508, c_first_name_515, c_last_name_516, d_year_569)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_508"])
@@ -52,7 +58,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_530"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_530", "ws_sold_date_sk_560"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q75.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q75.plan.txt
index 72ac1ec6cf65..41b95bbc141b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q75.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q75.plan.txt
@@ -8,15 +8,18 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_13, expr, expr_18, i_brand_id_7, i_category_id_9, i_class_id_8, i_manufact_id_10)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_order_number"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_7", "i_category_id_9", "i_class_id_8", "i_manufact_id_10"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -24,15 +27,18 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_51, expr_77, expr_78, i_brand_id_28, i_category_id_32, i_class_id_30, i_manufact_id_34)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_28", "i_category_id_32", "i_class_id_30", "i_manufact_id_34"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -40,15 +46,18 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_111, expr_137, expr_138, i_brand_id_88, i_category_id_92, i_class_id_90, i_manufact_id_94)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_88", "i_category_id_92", "i_class_id_90", "i_manufact_id_94"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -59,12 +68,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_221, expr_274, expr_275, i_brand_id_198, i_category_id_202, i_class_id_200, i_manufact_id_204)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cr_item_sk_246", "cr_order_number_260"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk_246", "cr_order_number_260"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk_169", "cs_order_number_171"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_169", "cs_sold_date_sk_188"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -75,12 +86,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_331, expr_377, expr_378, i_brand_id_308, i_category_id_312, i_class_id_310, i_manufact_id_314)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["sr_item_sk_356", "sr_ticket_number_363"])
- scan store_returns
+ dynamic filter (["sr_item_sk_356", "sr_ticket_number_363"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk_277", "ss_ticket_number_284"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk_277", "ss_sold_date_sk_298"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -91,12 +104,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_445, expr_495, expr_496, i_brand_id_422, i_category_id_426, i_class_id_424, i_manufact_id_428)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["wr_item_sk_470", "wr_order_number_481"])
- scan web_returns
+ dynamic filter (["wr_item_sk_470", "wr_order_number_481"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk_381", "ws_order_number_395"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_item_sk_381", "ws_sold_date_sk_412"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q76.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q76.plan.txt
index 044c8310d542..a13c0fb4d65e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q76.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q76.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_qoy_10, d_year_9, expr_134, expr_135, i_category_6)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -19,7 +20,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_sold_date_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_17"])
scan item
@@ -30,7 +32,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_qoy_111, d_year_107, expr_131, expr_133, i_category_89)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q77.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q77.plan.txt
index f5f8b7b62eea..b632624a3d15 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q77.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q77.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ss_store_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -25,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (sr_store_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -38,7 +40,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_call_center_sk"])
partial aggregation over (cs_call_center_sk)
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -49,7 +52,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_call_center_sk"])
partial aggregation over (cr_call_center_sk)
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -60,7 +64,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ws_web_page_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -73,7 +78,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (wr_web_page_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk", "wr_web_page_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q78.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q78.plan.txt
index e9a4bce6caf7..a13222cb0024 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q78.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q78.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_customer_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -24,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
scan web_returns
@@ -38,7 +41,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
scan catalog_returns
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q79.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q79.plan.txt
index c41171325a3c..733be6f6e8b7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q79.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q79.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q80.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q80.plan.txt
index a4b2da9fdab0..61944a8d3ab3 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q80.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q80.plan.txt
@@ -15,10 +15,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -41,10 +43,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_catalog_page_sk", "cs_item_sk", "cs_promo_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -67,10 +71,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_promo_sk", "ws_sold_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q81.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q81.plan.txt
index 88dfbd2615ea..097a1be6f2e1 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q81.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q81.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_returning_addr_sk"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk", "cr_returning_addr_sk", "cr_returning_customer_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -37,7 +39,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_returning_addr_sk_30"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk_47", "cr_returning_addr_sk_30"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q82.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q82.plan.txt
index 532952036fc3..d3b691e03fe2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q82.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q82.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_current_price", "i_item_desc", "i_item_id"])
partial aggregation over (i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q83.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q83.plan.txt
index 108710add4fd..5adb2dfd0e20 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q83.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q83.plan.txt
@@ -8,11 +8,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_6)
@@ -20,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_6"])
partial aggregation over (d_date_6)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_8"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_40)
@@ -30,7 +33,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_id"])
+ scan item
join (INNER, PARTITIONED):
final aggregation over (i_item_id_74)
local exchange (GATHER, SINGLE, [])
@@ -39,11 +43,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_item_sk"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_99"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_131)
@@ -51,7 +57,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_131"])
partial aggregation over (d_date_131)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_133"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_165)
@@ -61,7 +68,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_73"])
- scan item
+ dynamic filter (["i_item_id_74"])
+ scan item
final aggregation over (i_item_id_201)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_201"])
@@ -69,11 +77,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["wr_item_sk"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_returned_date_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_226"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_258)
@@ -81,7 +91,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_258"])
partial aggregation over (d_date_258)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_260"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_292)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q84.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q84.plan.txt
index ec22af2c6a55..b1402e98e5ab 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q84.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q84.plan.txt
@@ -1,23 +1,27 @@
local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_cdemo_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_hdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q85.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q85.plan.txt
index 23eed8958c96..fc6d26559bc9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q85.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q85.plan.txt
@@ -6,26 +6,30 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (r_reason_desc)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk_6", "cd_education_status_9", "cd_marital_status_8"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_refunded_addr_sk"])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_order_number", "ws_sold_date_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_reason_sk", "wr_refunded_cdemo_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q86.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q86.plan.txt
index cca927926827..38fdc67f5412 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q86.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q86.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (groupid, i_category$gid, i_class$gid)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q87.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q87.plan.txt
index 9f02b3c87024..b342ddb2e44f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q87.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q87.plan.txt
@@ -12,7 +12,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,7 +28,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,7 +44,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q88.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q88.plan.txt
index 6e297c60e201..fbeb9bec31cc 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q88.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q88.plan.txt
@@ -12,7 +12,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_time_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -29,7 +30,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_10", "ss_sold_time_sk_6", "ss_store_sk_12"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -46,7 +48,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_86", "ss_sold_time_sk_82", "ss_store_sk_88"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -63,7 +66,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_162", "ss_sold_time_sk_158", "ss_store_sk_164"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -80,7 +84,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_238", "ss_sold_time_sk_234", "ss_store_sk_240"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -97,7 +102,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_314", "ss_sold_time_sk_310", "ss_store_sk_316"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -114,7 +120,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_390", "ss_sold_time_sk_386", "ss_store_sk_392"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -131,7 +138,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_466", "ss_sold_time_sk_462", "ss_store_sk_468"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q89.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q89.plan.txt
index 396d705bbc38..221dfc17c333 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q89.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q89.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q90.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q90.plan.txt
index 0ddf21aa574d..0324ff34e833 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q90.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q90.plan.txt
@@ -6,7 +6,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_hdemo_sk", "ws_sold_time_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan web_page
@@ -23,7 +24,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_hdemo_sk_15", "ws_sold_time_sk_6", "ws_web_page_sk_17"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan web_page
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q91.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q91.plan.txt
index 2d679f5abc8e..11e637bca84b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q91.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q91.plan.txt
@@ -8,17 +8,20 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_call_center_sk", "cr_returned_date_sk", "cr_returning_customer_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_cdemo_sk", "c_current_hdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q92.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q92.plan.txt
index 2dfed78f9a62..26d64d4d3541 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q92.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q92.plan.txt
@@ -9,7 +9,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ws_item_sk_6"])
partial aggregation over (ws_item_sk_6)
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_6", "ws_sold_date_sk_37"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q93.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q93.plan.txt
index ca9dc7543db7..e1cd897adff9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q93.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q93.plan.txt
@@ -7,10 +7,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_reason_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan reason
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q94.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q94.plan.txt
index 63dd284f1694..6da19f5a9549 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q94.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q94.plan.txt
@@ -8,19 +8,22 @@ final aggregation over ()
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_order_number"])
partial aggregation over (wr_order_number)
- scan web_returns
+ dynamic filter (["wr_order_number"])
+ scan web_returns
final aggregation over (ca_state, d_date, unique, web_company_name, ws_ext_ship_cost, ws_net_profit, ws_order_number_22, ws_ship_addr_sk, ws_ship_date_sk, ws_warehouse_sk, ws_web_site_sk)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_22"])
partial aggregation over (ca_state, d_date, unique, web_company_name, ws_ext_ship_cost, ws_net_profit, ws_order_number_22, ws_ship_addr_sk, ws_ship_date_sk, ws_warehouse_sk, ws_web_site_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_order_number_22"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_addr_sk", "ws_ship_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q95.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q95.plan.txt
index 5e42003378f2..ee593ef8a918 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q95.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q95.plan.txt
@@ -9,29 +9,35 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_order_number_100"])
- scan web_sales
+ dynamic filter (["ws_order_number_100", "ws_order_number_100", "ws_order_number_100"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_order_number", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_136"])
- scan web_sales
+ dynamic filter (["ws_order_number_136"])
+ scan web_sales
join (INNER, PARTITIONED):
final aggregation over (ws_order_number_22)
local exchange (GATHER, SINGLE, [])
partial aggregation over (ws_order_number_22)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_order_number_22"])
- scan web_sales
+ dynamic filter (["ws_order_number_22", "ws_order_number_22"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_58"])
- scan web_sales
+ dynamic filter (["ws_order_number_58"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_addr_sk", "ws_ship_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q96.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q96.plan.txt
index 6ac294895946..e4fdf4d14611 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q96.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q96.plan.txt
@@ -5,7 +5,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_time_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q97.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q97.plan.txt
index 7b9c83293534..959bbfe9de73 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q97.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q97.plan.txt
@@ -8,7 +8,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk"])
partial aggregation over (ss_customer_sk, ss_item_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk", "cs_item_sk"])
partial aggregation over (cs_bill_customer_sk, cs_item_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q98.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q98.plan.txt
index 9775b6c511f5..7c0caca03f27 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q98.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q98.plan.txt
@@ -9,7 +9,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q99.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q99.plan.txt
index e7f593fe04e2..99580251ab0a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q99.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q99.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_ship_date_sk", "cs_ship_mode_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q01.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q01.plan.txt
index 114fb89fe851..821640079948 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q01.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q01.plan.txt
@@ -4,7 +4,8 @@ local exchange (GATHER, SINGLE, [])
join (LEFT, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk"])
join (INNER, REPLICATED):
@@ -13,7 +14,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_store_sk"])
partial aggregation over (sr_customer_sk, sr_store_sk)
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -31,7 +33,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk_9", "sr_store_sk_13"])
partial aggregation over (sr_customer_sk_9, sr_store_sk_13)
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk_6"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q02.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q02.plan.txt
index ebb55d3dc0a5..c78141721c2e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q02.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q02.plan.txt
@@ -10,14 +10,18 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name, d_week_seq)
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
- scan catalog_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq", "d_week_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_week_seq_20"])
- scan date_dim
+ dynamic filter (["d_week_seq_20"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["expr_219"])
join (INNER, PARTITIONED):
@@ -28,11 +32,14 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name_134, d_week_seq_124)
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
- scan catalog_sales
+ dynamic filter (["ws_sold_date_sk_48"])
+ scan web_sales
+ dynamic filter (["cs_sold_date_sk_84"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_124"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_week_seq_169"])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q03.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q03.plan.txt
index 70aae3fa1bdd..ede6415850e5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q03.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q03.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q04.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q04.plan.txt
index a6efbe49650b..a7206f469c83 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q04.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q04.plan.txt
@@ -10,13 +10,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk_870"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk_870", "cs_sold_date_sk_867"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_847"])
- scan customer
+ dynamic filter (["c_customer_id_848", "c_customer_id_848", "c_customer_id_848"])
+ scan customer
final aggregation over (c_birth_country_1558, c_customer_id_1545, c_email_address_1560, c_first_name_1552, c_last_name_1553, c_login_1559, c_preferred_cust_flag_1554, d_year_1606)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_1545"])
@@ -24,13 +26,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_1568"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_1568", "ws_sold_date_sk_1564"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_1544"])
- scan customer
+ dynamic filter (["c_customer_id_1545", "c_customer_id_1545"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_birth_country_561, c_customer_id_548, c_email_address_563, c_first_name_555, c_last_name_556, c_login_562, c_preferred_cust_flag_557, d_year_609)
local exchange (GATHER, SINGLE, [])
@@ -39,13 +43,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk_570"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk_570", "cs_sold_date_sk_567"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_547"])
- scan customer
+ dynamic filter (["c_customer_id_548", "c_customer_id_548"])
+ scan customer
final aggregation over (c_birth_country_1258, c_customer_id_1245, c_email_address_1260, c_first_name_1252, c_last_name_1253, c_login_1259, c_preferred_cust_flag_1254, d_year_1306)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_1245"])
@@ -53,13 +59,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_1268"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_1268", "ws_sold_date_sk_1264"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_1244"])
- scan customer
+ dynamic filter (["c_customer_id_1245"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_birth_country_175, c_customer_id_162, c_email_address_177, c_first_name_169, c_last_name_170, c_login_176, c_preferred_cust_flag_171, d_year_212)
local exchange (GATHER, SINGLE, [])
@@ -68,13 +76,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_184"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_184", "ss_sold_date_sk_181"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_161"])
- scan customer
+ dynamic filter (["c_customer_id_162"])
+ scan customer
final aggregation over (c_birth_country, c_customer_id, c_email_address, c_first_name, c_last_name, c_login, c_preferred_cust_flag, d_year)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id"])
@@ -82,7 +92,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q05.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q05.plan.txt
index a837004a655b..3b6be94640f6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q05.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q05.plan.txt
@@ -12,8 +12,10 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan store_sales
- scan store_returns
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,8 +29,10 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan catalog_sales
- scan catalog_returns
+ dynamic filter (["cs_catalog_page_sk", "cs_sold_date_sk"])
+ scan catalog_sales
+ dynamic filter (["cr_catalog_page_sk", "cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,13 +46,16 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
+ dynamic filter (["ws_sold_date_sk", "ws_web_site_sk"])
+ scan web_sales
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk_82", "ws_order_number_96"])
- scan web_sales
+ dynamic filter (["ws_item_sk_82", "ws_order_number_96", "ws_web_site_sk_92"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_returned_date_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q06.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q06.plan.txt
index f25b809ee8ef..67d1f35ddb4e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q06.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q06.plan.txt
@@ -10,11 +10,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_month_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -28,7 +30,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q07.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q07.plan.txt
index 32f4763b443d..a8da2880635e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q07.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q07.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q08.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q08.plan.txt
index 45b29afc325b..a0f9f839ee51 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q08.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q08.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["substr_34"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -30,7 +31,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_zip_16)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_7"])
- scan customer_address
+ dynamic filter (["ca_address_sk_7"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q10.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q10.plan.txt
index 7d60d2a5fdd5..751f1ac52a8c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q10.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q10.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_ship_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -21,14 +22,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
@@ -37,14 +40,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q11.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q11.plan.txt
index 19f529a8c0c8..d6c17e531127 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q11.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q11.plan.txt
@@ -9,13 +9,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_101"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_101", "ss_sold_date_sk_98"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_78"])
- scan customer
+ dynamic filter (["c_customer_id_79", "c_customer_id_79"])
+ scan customer
final aggregation over (c_birth_country_371, c_customer_id_358, c_email_address_373, c_first_name_365, c_last_name_366, c_login_372, c_preferred_cust_flag_367, d_year_419)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_358"])
@@ -23,13 +25,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_381"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_381", "ws_sold_date_sk_377"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_357"])
- scan customer
+ dynamic filter (["c_customer_id_358"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_birth_country, c_customer_id, c_email_address, c_first_name, c_last_name, c_login, c_preferred_cust_flag, d_year)
local exchange (GATHER, SINGLE, [])
@@ -38,13 +42,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_id"])
+ scan customer
final aggregation over (c_birth_country_564, c_customer_id_551, c_email_address_566, c_first_name_558, c_last_name_559, c_login_565, c_preferred_cust_flag_560, d_year_612)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_551"])
@@ -52,7 +58,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_574"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_574", "ws_sold_date_sk_570"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q12.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q12.plan.txt
index 6f94c98c5224..04b0eb523fd6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q12.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q12.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q13.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q13.plan.txt
index 011d5b20fbba..8f205090a87c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q13.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q13.plan.txt
@@ -7,7 +7,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_cdemo_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q14.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q14.plan.txt
index c8326b25e125..6e0414b614d4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q14.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q14.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_6, i_category_id_8, i_class_id_7)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,21 +21,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
final aggregation over (i_item_sk_13)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_13"])
partial aggregation over (i_item_sk_13)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_20", "i_category_id_24", "i_class_id_22"])
- scan item
+ dynamic filter (["i_brand_id_20", "i_category_id_24", "i_class_id_22"])
+ scan item
final aggregation over (brand_id, category_id, class_id)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_72", "i_category_id_76", "i_class_id_74"])
partial aggregation over (i_brand_id_72, i_category_id_76, i_class_id_74)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_42", "ss_sold_date_sk_40"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -45,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_128, i_category_id_132, i_class_id_130)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -56,7 +61,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_184, i_category_id_188, i_class_id_186)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -70,19 +76,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_236"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_291"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_357"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -93,7 +102,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_469, i_category_id_473, i_class_id_471)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_441", "cs_sold_date_sk_426"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -101,21 +111,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_462"])
- scan item
+ dynamic filter (["i_item_sk_462"])
+ scan item
final aggregation over (i_item_sk_518)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_518"])
partial aggregation over (i_item_sk_518)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_525", "i_category_id_529", "i_class_id_527"])
- scan item
+ dynamic filter (["i_brand_id_525", "i_category_id_529", "i_class_id_527"])
+ scan item
final aggregation over (brand_id_542, category_id_544, class_id_543)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_580", "i_category_id_584", "i_class_id_582"])
partial aggregation over (i_brand_id_580, i_category_id_584, i_class_id_582)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_550", "ss_sold_date_sk_548"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -126,7 +139,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_670, i_category_id_674, i_class_id_672)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_642", "cs_sold_date_sk_627"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -137,7 +151,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_760, i_category_id_764, i_class_id_762)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_720", "ws_sold_date_sk_717"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -151,19 +166,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_819"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_874"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_940"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -174,7 +192,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1052, i_category_id_1056, i_class_id_1054)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_1012", "ws_sold_date_sk_1009"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -182,21 +201,24 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk_1045"])
- scan item
+ dynamic filter (["i_item_sk_1045"])
+ scan item
final aggregation over (i_item_sk_1101)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_1101"])
partial aggregation over (i_item_sk_1101)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_brand_id_1108", "i_category_id_1112", "i_class_id_1110"])
- scan item
+ dynamic filter (["i_brand_id_1108", "i_category_id_1112", "i_class_id_1110"])
+ scan item
final aggregation over (brand_id_1125, category_id_1127, class_id_1126)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_id_1163", "i_category_id_1167", "i_class_id_1165"])
partial aggregation over (i_brand_id_1163, i_category_id_1167, i_class_id_1165)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_1133", "ss_sold_date_sk_1131"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -207,7 +229,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1253, i_category_id_1257, i_class_id_1255)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_1225", "cs_sold_date_sk_1210"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -218,7 +241,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1343, i_category_id_1347, i_class_id_1345)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_1303", "ws_sold_date_sk_1300"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -232,19 +256,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_1402"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_1457"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_1523"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q15.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q15.plan.txt
index f359fbefb40f..f6e8849bd9b5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q15.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q15.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -15,7 +16,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q16.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q16.plan.txt
index 5bae326d9635..cec3471287c3 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q16.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q16.plan.txt
@@ -8,19 +8,22 @@ final aggregation over ()
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_order_number"])
partial aggregation over (cr_order_number)
- scan catalog_returns
+ dynamic filter (["cr_order_number"])
+ scan catalog_returns
final aggregation over (ca_state, cc_county, cs_call_center_sk, cs_ext_ship_cost, cs_net_profit, cs_order_number_23, cs_ship_addr_sk, cs_ship_date_sk, cs_warehouse_sk, d_date, unique)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_order_number_23"])
partial aggregation over (ca_state, cc_county, cs_call_center_sk, cs_ext_ship_cost, cs_net_profit, cs_order_number_23, cs_ship_addr_sk, cs_ship_date_sk, cs_warehouse_sk, d_date, unique)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_order_number_23"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_ship_addr_sk", "cs_ship_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q17.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q17.plan.txt
index 47c73f484403..7082811c8502 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q17.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q17.plan.txt
@@ -6,26 +6,30 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_item_desc, i_item_id, s_state)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q18.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q18.plan.txt
index 3cdca5dac93e..1b9e7c3ebd46 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q18.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q18.plan.txt
@@ -10,14 +10,16 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q19.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q19.plan.txt
index 57e559af38d4..c51217a1957f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q19.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q19.plan.txt
@@ -6,18 +6,21 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand, i_brand_id, i_manufact, i_manufact_id)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q20.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q20.plan.txt
index 852a9d2a3e5c..2e873503ece8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q20.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q20.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q21.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q21.plan.txt
index 50e40917c430..2ec2a1799207 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q21.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q21.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q22.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q22.plan.txt
index 2fd28d3f31ed..6f1d958f18df 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q22.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q22.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand", "i_product_name"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q23.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q23.plan.txt
index 789f96505ed5..2df6cf04552c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q23.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q23.plan.txt
@@ -12,17 +12,20 @@ final aggregation over ()
partial aggregation over (d_date_6, ss_item_sk, substr$gid)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -33,7 +36,8 @@ final aggregation over ()
partial aggregation over (ss_customer_sk_43)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_43"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_43"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
scan customer
@@ -49,7 +53,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_71"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_71", "ss_sold_date_sk_68"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -67,17 +72,20 @@ final aggregation over ()
partial aggregation over (d_date_210, ss_item_sk_185, substr$gid_265)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_185", "ss_item_sk_185", "ss_sold_date_sk_183"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk_238"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -88,7 +96,8 @@ final aggregation over ()
partial aggregation over (ss_customer_sk_274)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_274"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_274"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_296"])
scan customer
@@ -104,7 +113,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_322"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_322", "ss_sold_date_sk_319"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q24.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q24.plan.txt
index 5126cd62beeb..c8901f95e598 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q24.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q24.plan.txt
@@ -12,21 +12,25 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (c_first_name, c_last_name, ca_state, i_color, i_current_price, i_manager_id, i_size, i_units, s_state, s_store_name)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_zip", "upper"])
- scan customer_address
+ dynamic filter (["ca_zip"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_birth_country", "s_zip"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -51,16 +55,20 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk_13", "ss_ticket_number_20"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_14", "ss_item_sk_13", "ss_item_sk_13", "ss_store_sk_18", "ss_ticket_number_20"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_zip_83"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk_38", "sr_ticket_number_45"])
- scan store_returns
+ dynamic filter (["sr_item_sk_38"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_113"])
- scan customer
+ dynamic filter (["c_birth_country_127"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q25.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q25.plan.txt
index a21872e9dd27..2cf400cb82cd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q25.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q25.plan.txt
@@ -6,26 +6,30 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_item_desc, i_item_id, s_store_id, s_store_name)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q26.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q26.plan.txt
index 555bb67d3baa..d91ef68bdab5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q26.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q26.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_item_sk", "cs_promo_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q27.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q27.plan.txt
index ed0e2e73e9f3..bb3578559862 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q27.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q27.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q29.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q29.plan.txt
index a21872e9dd27..2cf400cb82cd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q29.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q29.plan.txt
@@ -6,26 +6,30 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_item_desc, i_item_id, s_store_id, s_store_name)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q30.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q30.plan.txt
index 22aacc68d139..681776bd3a09 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q30.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q30.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["wr_returning_addr_sk"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk", "wr_returning_addr_sk", "wr_returning_customer_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -37,7 +39,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["wr_returning_addr_sk_31"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk_21", "wr_returning_addr_sk_31"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q31.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q31.plan.txt
index c89b05c7d74d..2486fa37f74f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q31.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q31.plan.txt
@@ -11,13 +11,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk_10"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk_10", "ss_sold_date_sk_4"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_59"])
- scan customer_address
+ dynamic filter (["ca_county_66", "ca_county_66", "ca_county_66"])
+ scan customer_address
final aggregation over (ca_county_140, d_qoy_113, d_year_109)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_140"])
@@ -25,13 +27,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk_84"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk_84", "ss_sold_date_sk_78"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_133"])
- scan customer_address
+ dynamic filter (["ca_county_140", "ca_county_140"])
+ scan customer_address
join (INNER, PARTITIONED):
final aggregation over (ca_county_276, d_qoy_249, d_year_245)
local exchange (GATHER, SINGLE, [])
@@ -40,13 +44,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk_210"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk_210", "ws_sold_date_sk_203"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_269"])
- scan customer_address
+ dynamic filter (["ca_county_276", "ca_county_276"])
+ scan customer_address
final aggregation over (ca_county_361, d_qoy_334, d_year_330)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_361"])
@@ -54,13 +60,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk_295"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk_295", "ws_sold_date_sk_288"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_354"])
- scan customer_address
+ dynamic filter (["ca_county_361"])
+ scan customer_address
join (INNER, PARTITIONED):
final aggregation over (ca_county, d_qoy, d_year)
local exchange (GATHER, SINGLE, [])
@@ -69,13 +77,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_county"])
+ scan customer_address
final aggregation over (ca_county_191, d_qoy_164, d_year_160)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_191"])
@@ -83,7 +93,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q32.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q32.plan.txt
index d2a7e4049c81..c5607e291e5b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q32.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q32.plan.txt
@@ -9,7 +9,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_item_sk_19"])
partial aggregation over (cs_item_sk_19)
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_19", "cs_sold_date_sk_4"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q33.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q33.plan.txt
index 1b2427d4e654..b0447bd7c0a9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q33.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q33.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_6"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_22)
@@ -36,7 +38,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -46,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_95"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_121)
@@ -62,7 +66,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -72,7 +77,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_manufact_id_196"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_222)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q34.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q34.plan.txt
index e9f7af9e157c..537336239d51 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q34.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q34.plan.txt
@@ -3,7 +3,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
final aggregation over (ss_customer_sk, ss_ticket_number)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
@@ -11,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q35.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q35.plan.txt
index f1fed4317214..5a7a74e49f1f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q35.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q35.plan.txt
@@ -13,7 +13,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
@@ -22,7 +23,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -34,7 +36,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -43,7 +46,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q36.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q36.plan.txt
index d640f5ac0d14..06cf870e256c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q36.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q36.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q37.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q37.plan.txt
index 2582d9fa4122..eadc54781cf8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q37.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q37.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_current_price", "i_item_desc", "i_item_id"])
partial aggregation over (i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q38.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q38.plan.txt
index 9f02b3c87024..b342ddb2e44f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q38.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q38.plan.txt
@@ -12,7 +12,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,7 +28,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,7 +44,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q39.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q39.plan.txt
index 657fe01edba1..ef6b7c34e1a2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q39.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q39.plan.txt
@@ -10,16 +10,19 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_item_sk", "inv_warehouse_sk", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan warehouse
+ dynamic filter (["w_warehouse_sk"])
+ scan warehouse
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["inv_item_sk_9", "inv_warehouse_sk_10"])
final aggregation over (d_moy_62, inv_item_sk_9, inv_warehouse_sk_10, w_warehouse_name_40)
@@ -29,7 +32,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk_8", "inv_item_sk_9", "inv_warehouse_sk_10"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q40.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q40.plan.txt
index 266142fc4c1a..7b700b882104 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q40.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q40.plan.txt
@@ -9,10 +9,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q41.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q41.plan.txt
index 58a96c8d1ec2..772ad4b317c4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q41.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q41.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_product_name)
single aggregation over (i_manufact, i_manufact_id, i_product_name, unique)
join (INNER, REPLICATED, can skip output duplicates):
- scan item
+ dynamic filter (["i_manufact"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q42.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q42.plan.txt
index 87792b40cd98..534e670ed02a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q42.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q42.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_category, i_category_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q43.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q43.plan.txt
index 9d9e36441a12..b94077c666ea 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q43.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q43.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name, s_store_id, s_store_name)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q45.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q45.plan.txt
index 6a42b74e28db..95918f1b4170 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q45.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q45.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q46.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q46.plan.txt
index d675e12143ee..a2a2c32a60a9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q46.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q46.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_customer_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
@@ -27,7 +28,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_11"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q47.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q47.plan.txt
index 2d63bde52f55..deca457a85b4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q47.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q47.plan.txt
@@ -11,16 +11,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_company_name", "s_company_name", "s_store_name", "s_store_name"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand", "i_brand", "i_category", "i_category"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_14", "i_category_18", "s_company_name_102", "s_store_name_90"])
final aggregation over (d_moy_63, d_year_61, i_brand_14, i_category_18, s_company_name_102, s_store_name_90)
@@ -30,16 +33,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_32", "ss_sold_date_sk_30", "ss_store_sk_37"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_company_name_102", "s_store_name_90"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_14", "i_category_18"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_133", "i_category_137", "s_company_name_221", "s_store_name_209"])
final aggregation over (d_moy_182, d_year_180, i_brand_133, i_category_137, s_company_name_221, s_store_name_209)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_151", "ss_sold_date_sk_149", "ss_store_sk_156"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q48.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q48.plan.txt
index dd3059b1afd4..17d20aa59ac5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q48.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q48.plan.txt
@@ -6,7 +6,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_cdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q49.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q49.plan.txt
index 6f687392953d..e3a416cd5356 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q49.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q49.plan.txt
@@ -12,11 +12,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (wr_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -30,11 +32,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (cr_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_order_number"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -48,11 +52,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (sr_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q50.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q50.plan.txt
index c2a9d481bf10..8ff8d8dbfebf 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q50.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q50.plan.txt
@@ -8,11 +8,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q51.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q51.plan.txt
index 6a1ca8bd4aca..32fa4cc52c6c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q51.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q51.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
partial aggregation over (d_date, ws_item_sk)
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk"])
partial aggregation over (d_date_7, ss_item_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q52.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q52.plan.txt
index 70aae3fa1bdd..ede6415850e5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q52.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q52.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q53.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q53.plan.txt
index cd10ab3698e6..799e43e0eca0 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q53.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q53.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q54.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q54.plan.txt
index f5c3ef3b83c8..e456cebcc259 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q54.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q54.plan.txt
@@ -12,13 +12,15 @@ local exchange (GATHER, SINGLE, [])
cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk", "ca_county", "ca_state"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
@@ -27,14 +29,17 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
partial aggregation over (c_current_addr_sk, c_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan catalog_sales
- scan web_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -43,7 +48,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_month_seq_17"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q55.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q55.plan.txt
index f89f2f078b63..c58f37a50aa2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q55.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q55.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q56.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q56.plan.txt
index 35ea332fb456..30a5e380cbdd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q56.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q56.plan.txt
@@ -10,14 +10,16 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_6"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_10)
@@ -37,14 +39,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_bill_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_83"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_109)
@@ -64,14 +68,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_184"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_210)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q57.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q57.plan.txt
index 105ad5f39b4a..df6922eae03b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q57.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q57.plan.txt
@@ -11,16 +11,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand", "i_brand", "i_category", "i_category"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan call_center
+ dynamic filter (["cc_name", "cc_name"])
+ scan call_center
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cc_name_102", "i_brand_14", "i_category_18"])
final aggregation over (cc_name_102, d_moy_74, d_year_72, i_brand_14, i_category_18)
@@ -30,16 +33,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk_41", "cs_item_sk_45", "cs_sold_date_sk_30"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_14", "i_category_18"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan call_center
+ dynamic filter (["cc_name_102"])
+ scan call_center
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cc_name_232", "i_brand_144", "i_category_148"])
final aggregation over (cc_name_232, d_moy_204, d_year_202, i_brand_144, i_category_148)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk_171", "cs_item_sk_175", "cs_sold_date_sk_160"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q58.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q58.plan.txt
index 00602f5115c0..6592ac42f887 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q58.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q58.plan.txt
@@ -7,11 +7,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_6)
@@ -19,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_6"])
partial aggregation over (d_date_6)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_8"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -27,7 +30,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_id"])
+ scan item
join (INNER, PARTITIONED):
final aggregation over (i_item_id_69)
local exchange (GATHER, SINGLE, [])
@@ -35,11 +39,13 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_item_id_69)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_94"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_126)
@@ -47,7 +53,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_126"])
partial aggregation over (d_date_126)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_128"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -55,7 +62,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_id_69"])
+ scan item
final aggregation over (i_item_id_191)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_191"])
@@ -63,11 +71,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_216"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_248)
@@ -75,7 +85,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_248"])
partial aggregation over (d_date_248)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_250"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q59.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q59.plan.txt
index ae30fe8f578e..933affe1eb9a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q59.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q59.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_day_name", "d_week_seq", "ss_store_sk"])
partial aggregation over (d_day_name, d_week_seq, ss_store_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["expr_203", "s_store_sk"])
join (INNER, PARTITIONED):
@@ -29,10 +31,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_day_name_85", "d_week_seq_75", "ss_store_sk_53"])
partial aggregation over (d_day_name_85, d_week_seq_75, ss_store_sk_53)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_46", "ss_store_sk_53"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_75"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -43,7 +47,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_store_sk_117"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["s_store_id"])
- scan store
+ dynamic filter (["s_store_id"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_store_id_118"])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q60.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q60.plan.txt
index e96c8c31aabb..34ac61dc445c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q60.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q60.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_6"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_10)
@@ -36,7 +38,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -46,7 +49,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_83"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_109)
@@ -62,7 +66,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -72,7 +77,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan item
+ dynamic filter (["i_item_id_184"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_210)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q61.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q61.plan.txt
index f5183d67d01e..e5538ffe3d08 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q61.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q61.plan.txt
@@ -9,7 +9,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -22,7 +23,8 @@ cross join:
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -38,7 +40,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_15", "ss_item_sk_14", "ss_sold_date_sk_12", "ss_store_sk_19"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -51,7 +54,8 @@ cross join:
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_98"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk_102"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q62.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q62.plan.txt
index 61172c74fc4f..26846a9ba0a9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q62.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q62.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_date_sk", "ws_ship_mode_sk", "ws_warehouse_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q63.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q63.plan.txt
index 23e28eddc4b7..da2cbd549a64 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q63.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q63.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q64.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q64.plan.txt
index 69658a2c0896..b2f61e308b27 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q64.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q64.plan.txt
@@ -9,11 +9,13 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (ca_city, ca_city_105, ca_street_name, ca_street_name_102, ca_street_number, ca_street_number_101, ca_zip, ca_zip_108, d_year, d_year_15, d_year_45, i_product_name, s_store_name, s_zip, ss_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_99"])
- scan customer_address
+ dynamic filter (["ca_address_sk_99"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
@@ -30,13 +32,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_customer_sk", "ss_hdemo_sk", "ss_item_sk", "ss_item_sk", "ss_item_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_item_sk", "sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (cs_item_sk)
@@ -45,21 +49,25 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (cs_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_item_sk", "cs_item_sk", "cs_order_number"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_store_name", "s_zip"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_cdemo_sk", "c_current_hdemo_sk", "c_first_sales_date_sk", "c_first_shipto_date_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -68,7 +76,8 @@ remote exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cd_demo_sk_75"])
scan customer_demographics
@@ -78,14 +87,16 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_91"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
@@ -97,11 +108,13 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (ca_city_452, ca_city_467, ca_street_name_449, ca_street_name_464, ca_street_number_448, ca_street_number_463, ca_zip_455, ca_zip_470, d_year_254, d_year_284, d_year_314, i_product_name_507, s_store_name_343, s_zip_363, ss_item_sk_134)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_461"])
- scan customer_address
+ dynamic filter (["ca_address_sk_461"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk_373"])
join (INNER, REPLICATED):
- scan customer_address
+ dynamic filter (["ca_address_sk_446"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
@@ -118,13 +131,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk_134", "ss_ticket_number_141"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk_136", "ss_customer_sk_135", "ss_hdemo_sk_137", "ss_item_sk_134", "ss_item_sk_134", "ss_item_sk_134", "ss_promo_sk_140", "ss_sold_date_sk_132", "ss_store_sk_139", "ss_ticket_number_141"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk_159", "sr_ticket_number_166"])
- scan store_returns
+ dynamic filter (["sr_item_sk_159", "sr_item_sk_159"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (cs_item_sk_194)
@@ -133,10 +148,12 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (cs_item_sk_194)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk_194", "cs_order_number_196"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk_194", "cs_item_sk_194", "cs_order_number_196"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk_217", "cr_order_number_231"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk_217"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
@@ -147,7 +164,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_369"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_cdemo_sk_371", "c_current_hdemo_sk_372", "c_first_sales_date_sk_375", "c_first_shipto_date_sk_374"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -166,14 +184,16 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_433"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_440"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q65.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q65.plan.txt
index d464032d91fc..869d645686cd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q65.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q65.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk_8", "ss_store_sk_13"])
partial aggregation over (ss_item_sk_8, ss_store_sk_13)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_8", "ss_sold_date_sk_6", "ss_store_sk_13"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -15,7 +16,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["s_store_sk"])
- scan store
+ dynamic filter (["s_store_sk"])
+ scan store
final aggregation over (ss_store_sk)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_store_sk"])
@@ -25,7 +27,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_store_sk"])
partial aggregation over (ss_item_sk, ss_store_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q66.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q66.plan.txt
index b87ae78025f5..ba2954f5d404 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q66.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q66.plan.txt
@@ -15,7 +15,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_mode_sk", "ws_sold_date_sk", "ws_sold_time_sk", "ws_warehouse_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan ship_mode
@@ -41,7 +42,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_ship_mode_sk", "cs_sold_date_sk", "cs_sold_time_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan ship_mode
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q67.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q67.plan.txt
index 60f46f2fcf90..66c2001151d6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q67.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q67.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q68.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q68.plan.txt
index 0df5521a9d32..b8cefafe7ca2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q68.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q68.plan.txt
@@ -4,7 +4,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
final aggregation over (ca_city, ss_addr_sk, ss_customer_sk, ss_ticket_number)
@@ -15,7 +16,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q69.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q69.plan.txt
index d304792469c0..c79f374b67e4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q69.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q69.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -19,7 +20,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cd_demo_sk"])
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_cdemo_sk"])
join (INNER, PARTITIONED):
@@ -28,14 +30,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -44,7 +48,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q70.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q70.plan.txt
index 0ba93430749a..9ed44d6f32bd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q70.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q70.plan.txt
@@ -10,13 +10,15 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_state"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_state"])
+ scan store
single aggregation over (s_state_53)
final aggregation over (s_state_53)
local exchange (GATHER, SINGLE, [])
@@ -24,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (s_state_53)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_4", "ss_store_sk_11"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q71.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q71.plan.txt
index 599dd0ab9f9c..eb516d2aebba 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q71.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q71.plan.txt
@@ -9,17 +9,20 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk", "ws_sold_time_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk", "cs_sold_time_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_sold_time_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q72.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q72.plan.txt
index 9c47f45ae5a1..cc812789f826 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q72.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q72.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["inv_item_sk"])
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_quantity_on_hand", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_16"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
@@ -21,7 +23,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_bill_hdemo_sk", "cs_item_sk", "cs_ship_date_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q73.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q73.plan.txt
index 8a3c9f5087e6..0ceb0cf526e0 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q73.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q73.plan.txt
@@ -3,7 +3,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_sk"])
+ scan customer
final aggregation over (ss_customer_sk, ss_ticket_number)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
@@ -11,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q74.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q74.plan.txt
index e05771f18836..c8c3d330e7cb 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q74.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q74.plan.txt
@@ -9,13 +9,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_91"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_91", "ss_sold_date_sk_88"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_68"])
- scan customer
+ dynamic filter (["c_customer_id_69", "c_customer_id_69"])
+ scan customer
final aggregation over (c_customer_id_329, c_first_name_336, c_last_name_337, d_year_390)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_329"])
@@ -23,13 +25,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_352"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_352", "ws_sold_date_sk_348"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_328"])
- scan customer
+ dynamic filter (["c_customer_id_329"])
+ scan customer
join (INNER, PARTITIONED):
final aggregation over (c_customer_id, c_first_name, c_last_name, d_year)
local exchange (GATHER, SINGLE, [])
@@ -38,13 +42,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_id"])
+ scan customer
final aggregation over (c_customer_id_508, c_first_name_515, c_last_name_516, d_year_569)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_id_508"])
@@ -52,7 +58,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_531"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_531", "ws_sold_date_sk_527"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q75.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q75.plan.txt
index fef6864e7254..0513d29cbb4c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q75.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q75.plan.txt
@@ -8,15 +8,18 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_13, expr, expr_18, i_brand_id_7, i_category_id_9, i_class_id_8, i_manufact_id_10)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_order_number"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_7", "i_category_id_9", "i_class_id_8", "i_manufact_id_10"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -24,15 +27,18 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_51, expr_77, expr_78, i_brand_id_28, i_category_id_32, i_class_id_30, i_manufact_id_34)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_ticket_number"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_28", "i_category_id_32", "i_class_id_30", "i_manufact_id_34"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -40,15 +46,18 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_111, expr_137, expr_138, i_brand_id_88, i_category_id_92, i_class_id_90, i_manufact_id_94)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_88", "i_category_id_92", "i_class_id_90", "i_manufact_id_94"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -59,12 +68,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_221, expr_274, expr_275, i_brand_id_198, i_category_id_202, i_class_id_200, i_manufact_id_204)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cr_item_sk_247", "cr_order_number_261"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk_247", "cr_order_number_261"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk_170", "cs_order_number_172"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_170", "cs_sold_date_sk_155"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -75,12 +86,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_331, expr_377, expr_378, i_brand_id_308, i_category_id_312, i_class_id_310, i_manufact_id_314)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["sr_item_sk_357", "sr_ticket_number_364"])
- scan store_returns
+ dynamic filter (["sr_item_sk_357", "sr_ticket_number_364"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk_278", "ss_ticket_number_285"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk_278", "ss_sold_date_sk_276"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -91,12 +104,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year_445, expr_495, expr_496, i_brand_id_422, i_category_id_426, i_class_id_424, i_manufact_id_428)
join (RIGHT, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["wr_item_sk_471", "wr_order_number_482"])
- scan web_returns
+ dynamic filter (["wr_item_sk_471", "wr_order_number_482"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk_382", "ws_order_number_396"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_item_sk_382", "ws_sold_date_sk_379"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q76.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q76.plan.txt
index 044c8310d542..a13c0fb4d65e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q76.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q76.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_qoy_10, d_year_9, expr_134, expr_135, i_category_6)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -19,7 +20,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_sold_date_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_17"])
scan item
@@ -30,7 +32,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_qoy_111, d_year_107, expr_131, expr_133, i_category_89)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q77.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q77.plan.txt
index f5f8b7b62eea..b632624a3d15 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q77.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q77.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ss_store_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -25,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (sr_store_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -38,7 +40,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_call_center_sk"])
partial aggregation over (cs_call_center_sk)
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -49,7 +52,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_call_center_sk"])
partial aggregation over (cr_call_center_sk)
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -60,7 +64,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ws_web_page_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -73,7 +78,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (wr_web_page_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk", "wr_web_page_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q78.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q78.plan.txt
index e9a4bce6caf7..a13222cb0024 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q78.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q78.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_customer_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -24,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
scan web_returns
@@ -38,7 +41,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
scan catalog_returns
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q79.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q79.plan.txt
index c41171325a3c..733be6f6e8b7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q79.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q79.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q80.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q80.plan.txt
index a4b2da9fdab0..61944a8d3ab3 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q80.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q80.plan.txt
@@ -15,10 +15,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -41,10 +43,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_catalog_page_sk", "cs_item_sk", "cs_promo_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -67,10 +71,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_promo_sk", "ws_sold_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q81.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q81.plan.txt
index f07bffd03de9..e4567eae50a0 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q81.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q81.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_returning_addr_sk"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk", "cr_returning_addr_sk", "cr_returning_customer_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -37,7 +39,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_returning_addr_sk_31"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk_21", "cr_returning_addr_sk_31"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q82.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q82.plan.txt
index 532952036fc3..d3b691e03fe2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q82.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q82.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_current_price", "i_item_desc", "i_item_id"])
partial aggregation over (i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q83.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q83.plan.txt
index 108710add4fd..5adb2dfd0e20 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q83.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q83.plan.txt
@@ -8,11 +8,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["sr_item_sk"])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_6)
@@ -20,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_6"])
partial aggregation over (d_date_6)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_8"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_40)
@@ -30,7 +33,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk"])
- scan item
+ dynamic filter (["i_item_id"])
+ scan item
join (INNER, PARTITIONED):
final aggregation over (i_item_id_74)
local exchange (GATHER, SINGLE, [])
@@ -39,11 +43,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cr_item_sk"])
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_99"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_131)
@@ -51,7 +57,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_131"])
partial aggregation over (d_date_131)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_133"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_165)
@@ -61,7 +68,8 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_73"])
- scan item
+ dynamic filter (["i_item_id_74"])
+ scan item
final aggregation over (i_item_id_201)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_id_201"])
@@ -69,11 +77,13 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["wr_item_sk"])
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_returned_date_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan date_dim
+ dynamic filter (["d_date_226"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_date_258)
@@ -81,7 +91,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_258"])
partial aggregation over (d_date_258)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_260"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_292)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q84.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q84.plan.txt
index ec22af2c6a55..b1402e98e5ab 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q84.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q84.plan.txt
@@ -1,23 +1,27 @@
local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_cdemo_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_hdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan household_demographics
+ dynamic filter (["hd_income_band_sk"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q85.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q85.plan.txt
index 23eed8958c96..fc6d26559bc9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q85.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q85.plan.txt
@@ -6,26 +6,30 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (r_reason_desc)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer_demographics
+ dynamic filter (["cd_demo_sk_6", "cd_education_status_9", "cd_marital_status_8"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_refunded_addr_sk"])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_order_number", "ws_sold_date_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_reason_sk", "wr_refunded_cdemo_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q86.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q86.plan.txt
index cca927926827..38fdc67f5412 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q86.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q86.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (groupid, i_category$gid, i_class$gid)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q87.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q87.plan.txt
index 9f02b3c87024..b342ddb2e44f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q87.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q87.plan.txt
@@ -12,7 +12,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,7 +28,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,7 +44,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q88.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q88.plan.txt
index 6e297c60e201..123c3d12c59d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q88.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q88.plan.txt
@@ -12,7 +12,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_time_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -29,7 +30,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_11", "ss_sold_time_sk_7", "ss_store_sk_13"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -46,7 +48,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_87", "ss_sold_time_sk_83", "ss_store_sk_89"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -63,7 +66,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_163", "ss_sold_time_sk_159", "ss_store_sk_165"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -80,7 +84,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_239", "ss_sold_time_sk_235", "ss_store_sk_241"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -97,7 +102,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_315", "ss_sold_time_sk_311", "ss_store_sk_317"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -114,7 +120,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_391", "ss_sold_time_sk_387", "ss_store_sk_393"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
@@ -131,7 +138,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_467", "ss_sold_time_sk_463", "ss_store_sk_469"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q89.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q89.plan.txt
index 396d705bbc38..221dfc17c333 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q89.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q89.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q90.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q90.plan.txt
index 0ddf21aa574d..0645101dc4e6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q90.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q90.plan.txt
@@ -6,7 +6,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_hdemo_sk", "ws_sold_time_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan web_page
@@ -23,7 +24,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_hdemo_sk_16", "ws_sold_time_sk_7", "ws_web_page_sk_18"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan web_page
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q91.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q91.plan.txt
index 2d679f5abc8e..11e637bca84b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q91.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q91.plan.txt
@@ -8,17 +8,20 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_call_center_sk", "cr_returned_date_sk", "cr_returning_customer_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_address_sk"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_cdemo_sk", "c_current_hdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q92.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q92.plan.txt
index 55eb5a4a778f..f88e053a3194 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q92.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q92.plan.txt
@@ -9,7 +9,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ws_item_sk_7"])
partial aggregation over (ws_item_sk_7)
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_7", "ws_sold_date_sk_4"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q93.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q93.plan.txt
index ca9dc7543db7..e1cd897adff9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q93.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q93.plan.txt
@@ -7,10 +7,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_reason_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan reason
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q94.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q94.plan.txt
index d027a28cdae5..2a9b2ecdeee5 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q94.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q94.plan.txt
@@ -8,19 +8,22 @@ final aggregation over ()
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_order_number"])
partial aggregation over (wr_order_number)
- scan web_returns
+ dynamic filter (["wr_order_number"])
+ scan web_returns
final aggregation over (ca_state, d_date, unique, web_company_name, ws_ext_ship_cost, ws_net_profit, ws_order_number_23, ws_ship_addr_sk, ws_ship_date_sk, ws_warehouse_sk, ws_web_site_sk)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_23"])
partial aggregation over (ca_state, d_date, unique, web_company_name, ws_ext_ship_cost, ws_net_profit, ws_order_number_23, ws_ship_addr_sk, ws_ship_date_sk, ws_warehouse_sk, ws_web_site_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_order_number_23"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_addr_sk", "ws_ship_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q95.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q95.plan.txt
index aaf3edd0ed42..108f553caff7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q95.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q95.plan.txt
@@ -9,29 +9,35 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_order_number_101"])
- scan web_sales
+ dynamic filter (["ws_order_number_101", "ws_order_number_101", "ws_order_number_101"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_order_number", "wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_137"])
- scan web_sales
+ dynamic filter (["ws_order_number_137"])
+ scan web_sales
join (INNER, PARTITIONED):
final aggregation over (ws_order_number_23)
local exchange (GATHER, SINGLE, [])
partial aggregation over (ws_order_number_23)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_order_number_23"])
- scan web_sales
+ dynamic filter (["ws_order_number_23", "ws_order_number_23"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_59"])
- scan web_sales
+ dynamic filter (["ws_order_number_59"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_addr_sk", "ws_ship_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q96.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q96.plan.txt
index 6ac294895946..e4fdf4d14611 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q96.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q96.plan.txt
@@ -5,7 +5,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_time_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan time_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q97.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q97.plan.txt
index 7b9c83293534..959bbfe9de73 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q97.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q97.plan.txt
@@ -8,7 +8,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk"])
partial aggregation over (ss_customer_sk, ss_item_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk", "cs_item_sk"])
partial aggregation over (cs_bill_customer_sk, cs_item_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q98.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q98.plan.txt
index 9775b6c511f5..7c0caca03f27 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q98.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q98.plan.txt
@@ -9,7 +9,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q99.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q99.plan.txt
index e7f593fe04e2..99580251ab0a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q99.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q99.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_ship_date_sk", "cs_ship_mode_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q01.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q01.plan.txt
index 745fed707f31..40cb14e1003f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q01.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q01.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_store_sk"])
partial aggregation over (sr_customer_sk, sr_store_sk)
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_customer_sk", "sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -30,7 +31,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk_9", "sr_store_sk_13"])
partial aggregation over (sr_customer_sk_9, sr_store_sk_13)
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk_6"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q02.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q02.plan.txt
index f26bc3efa106..592f5341cadd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q02.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q02.plan.txt
@@ -13,14 +13,18 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name, d_week_seq)
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
- scan catalog_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq", "d_week_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_week_seq_20"])
- scan date_dim
+ dynamic filter (["d_week_seq_20"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["expr_219"])
join (INNER, PARTITIONED):
@@ -34,11 +38,14 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name_134, d_week_seq_124)
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
- scan catalog_sales
+ dynamic filter (["ws_sold_date_sk_48"])
+ scan web_sales
+ dynamic filter (["cs_sold_date_sk_84"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_124"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_week_seq_169"])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q03.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q03.plan.txt
index 33752e693e6c..79ab5d5f2dc7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q03.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q03.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q04.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q04.plan.txt
index e48665bec1f3..1c6e49f74566 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q04.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q04.plan.txt
@@ -13,10 +13,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_id", "c_customer_id", "c_customer_id", "c_customer_id", "c_customer_id"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -29,10 +31,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_184"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_184", "ss_sold_date_sk_181"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_161"])
- scan customer
+ dynamic filter (["c_customer_id_162", "c_customer_id_162", "c_customer_id_162", "c_customer_id_162"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -45,10 +49,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk_570"])
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk_570", "cs_sold_date_sk_567"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_547"])
- scan customer
+ dynamic filter (["c_customer_id_548", "c_customer_id_548", "c_customer_id_548"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -61,10 +67,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk_870"])
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk_870", "cs_sold_date_sk_867"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_847"])
- scan customer
+ dynamic filter (["c_customer_id_848", "c_customer_id_848"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -77,10 +85,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_1268"])
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_1268", "ws_sold_date_sk_1264"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_1244"])
- scan customer
+ dynamic filter (["c_customer_id_1245"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -93,7 +103,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_1568"])
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_1568", "ws_sold_date_sk_1564"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_1544"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q05.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q05.plan.txt
index a837004a655b..3b6be94640f6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q05.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q05.plan.txt
@@ -12,8 +12,10 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan store_sales
- scan store_returns
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,8 +29,10 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan catalog_sales
- scan catalog_returns
+ dynamic filter (["cs_catalog_page_sk", "cs_sold_date_sk"])
+ scan catalog_sales
+ dynamic filter (["cr_catalog_page_sk", "cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,13 +46,16 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan web_sales
+ dynamic filter (["ws_sold_date_sk", "ws_web_site_sk"])
+ scan web_sales
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk_82", "ws_order_number_96"])
- scan web_sales
+ dynamic filter (["ws_item_sk_82", "ws_order_number_96", "ws_web_site_sk_92"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_returned_date_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q06.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q06.plan.txt
index c89d18969b08..512c56c4d431 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q06.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q06.plan.txt
@@ -13,16 +13,19 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_month_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q07.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q07.plan.txt
index 601bf97db238..7bae158b739d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q07.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q07.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q08.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q08.plan.txt
index 45b29afc325b..a0f9f839ee51 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q08.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q08.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["substr_34"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -30,7 +31,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_zip_16)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ca_address_sk_7"])
- scan customer_address
+ dynamic filter (["ca_address_sk_7"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q10.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q10.plan.txt
index 38d3383a9e95..5159357d1daa 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q10.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q10.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
@@ -23,7 +24,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -32,7 +34,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -41,7 +44,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q11.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q11.plan.txt
index 85b1c1e26444..b71be0b52614 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q11.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q11.plan.txt
@@ -11,10 +11,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_id", "c_customer_id", "c_customer_id"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,10 +29,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_101"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_101", "ss_sold_date_sk_98"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_78"])
- scan customer
+ dynamic filter (["c_customer_id_79", "c_customer_id_79"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -43,10 +47,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_381"])
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_381", "ws_sold_date_sk_377"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_357"])
- scan customer
+ dynamic filter (["c_customer_id_358"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -59,7 +65,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_574"])
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_574", "ws_sold_date_sk_570"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_550"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q12.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q12.plan.txt
index eeb765082686..848f91f552f6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q12.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q12.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q13.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q13.plan.txt
index a67a188b354a..ecae84f425b2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q13.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q13.plan.txt
@@ -8,7 +8,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_cdemo_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q14.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q14.plan.txt
index 9564a6bbd144..ae87b2cc383d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q14.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q14.plan.txt
@@ -14,10 +14,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -32,10 +34,12 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_72, i_category_id_76, i_class_id_74)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_42", "ss_sold_date_sk_40"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_72", "i_category_id_76", "i_class_id_74"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -43,10 +47,12 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_128, i_category_id_132, i_class_id_130)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_128", "i_category_id_132", "i_class_id_130"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -54,10 +60,12 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_184, i_category_id_188, i_class_id_186)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_184", "i_category_id_188", "i_class_id_186"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -71,19 +79,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_236"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_291"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_357"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -96,10 +107,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk_441"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_441", "cs_item_sk_441", "cs_sold_date_sk_426"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk_462"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -114,10 +127,12 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_580, i_category_id_584, i_class_id_582)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_550", "ss_sold_date_sk_548"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_580", "i_category_id_584", "i_class_id_582"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -125,10 +140,12 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_670, i_category_id_674, i_class_id_672)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_642", "cs_sold_date_sk_627"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_670", "i_category_id_674", "i_class_id_672"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -136,10 +153,12 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_760, i_category_id_764, i_class_id_762)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_720", "ws_sold_date_sk_717"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_760", "i_category_id_764", "i_class_id_762"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -153,19 +172,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_819"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_874"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_940"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -178,10 +200,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk_1012"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_1012", "ws_item_sk_1012", "ws_sold_date_sk_1009"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk_1045"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -196,10 +220,12 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1163, i_category_id_1167, i_class_id_1165)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_1133", "ss_sold_date_sk_1131"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_1163", "i_category_id_1167", "i_class_id_1165"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -207,10 +233,12 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1253, i_category_id_1257, i_class_id_1255)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_1225", "cs_sold_date_sk_1210"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_1253", "i_category_id_1257", "i_class_id_1255"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -218,10 +246,12 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand_id_1343, i_category_id_1347, i_class_id_1345)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk_1303", "ws_sold_date_sk_1300"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_1343", "i_category_id_1347", "i_class_id_1345"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -235,19 +265,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_1402"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_1457"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
partial aggregation over ()
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_1523"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q15.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q15.plan.txt
index e5ded0b0be26..ee3238f14ac3 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q15.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q15.plan.txt
@@ -9,10 +9,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q16.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q16.plan.txt
index 7e65b01be8f0..5a0158146bea 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q16.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q16.plan.txt
@@ -11,7 +11,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_order_number", "cs_ship_addr_sk", "cs_ship_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q17.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q17.plan.txt
index 87eb28cc04c6..1d5e752363bc 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q17.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q17.plan.txt
@@ -13,13 +13,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_customer_sk", "ss_item_sk", "ss_item_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_customer_sk", "sr_item_sk", "sr_item_sk", "sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk", "cs_item_sk"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q18.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q18.plan.txt
index 73489f21c61a..d557802488be 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q18.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q18.plan.txt
@@ -12,13 +12,15 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q19.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q19.plan.txt
index 80b275f4556f..2f9a85fad6bc 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q19.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q19.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -20,7 +21,8 @@ local exchange (GATHER, SINGLE, [])
scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q20.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q20.plan.txt
index 88b06a88754d..1e1dff9ee7b0 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q20.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q20.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q21.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q21.plan.txt
index f7af6a33b1a8..64508562e6d2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q21.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q21.plan.txt
@@ -7,7 +7,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan warehouse
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q22.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q22.plan.txt
index d323affadfc0..4cf902b7c8d7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q22.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q22.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (groupid, i_brand$gid, i_category$gid, i_class$gid, i_product_name$gid)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q23.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q23.plan.txt
index 511a84380045..6a879ef6f154 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q23.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q23.plan.txt
@@ -7,7 +7,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -21,7 +22,8 @@ final aggregation over ()
partial aggregation over (d_date_6, ss_item_sk, substr$gid)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -35,7 +37,8 @@ final aggregation over ()
partial aggregation over (ss_customer_sk_43)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_43"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_43"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
scan customer
@@ -51,7 +54,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_71"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_71", "ss_sold_date_sk_68"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_93"])
scan customer
@@ -64,7 +68,8 @@ final aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -78,7 +83,8 @@ final aggregation over ()
partial aggregation over (d_date_210, ss_item_sk_185, substr$gid_265)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_185", "ss_sold_date_sk_183"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -92,7 +98,8 @@ final aggregation over ()
partial aggregation over (ss_customer_sk_274)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_274"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_274"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_296"])
scan customer
@@ -108,7 +115,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_322"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_322", "ss_sold_date_sk_319"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_344"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q24.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q24.plan.txt
index b712f100f8e4..82cb67d72051 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q24.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q24.plan.txt
@@ -18,19 +18,23 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_item_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_zip"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_birth_country"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_zip", "upper"])
scan customer_address
@@ -52,19 +56,23 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk_13", "ss_ticket_number_20"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_14", "ss_item_sk_13", "ss_item_sk_13", "ss_store_sk_18", "ss_ticket_number_20"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk_38", "sr_ticket_number_45"])
- scan store_returns
+ dynamic filter (["sr_item_sk_38"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_zip_83"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_113"])
- scan customer
+ dynamic filter (["c_birth_country_127"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_zip_142", "upper_159"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q25.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q25.plan.txt
index 5f793a1f9c6e..09709465b13f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q25.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q25.plan.txt
@@ -13,13 +13,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_customer_sk", "ss_item_sk", "ss_item_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_customer_sk", "sr_item_sk", "sr_item_sk", "sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk", "cs_item_sk"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q26.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q26.plan.txt
index 347ca6778d5b..c6cff2a89dae 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q26.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q26.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_item_sk", "cs_promo_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q27.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q27.plan.txt
index bcef59d52b23..7003410a773b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q27.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q27.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_cdemo_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q29.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q29.plan.txt
index 5f793a1f9c6e..09709465b13f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q29.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q29.plan.txt
@@ -13,13 +13,16 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_customer_sk", "ss_item_sk", "ss_item_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_customer_sk", "sr_item_sk", "sr_item_sk", "sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk", "cs_item_sk"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q30.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q30.plan.txt
index c5703ddeb4b0..0cd35f85a48b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q30.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q30.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_state, wr_returning_customer_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk", "wr_returning_addr_sk", "wr_returning_customer_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -21,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
@@ -35,7 +37,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_state_85, wr_returning_customer_sk_28)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk_21", "wr_returning_addr_sk_31"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q31.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q31.plan.txt
index df6b6fc65b3d..2a344ef2b24e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q31.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q31.plan.txt
@@ -13,13 +13,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_county", "ca_county", "ca_county", "ca_county", "ca_county"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_66", NullableValue{type=integer, value=1}, NullableValue{type=integer, value=2000}])
final aggregation over (ca_county_66, d_qoy_39, d_year_35)
@@ -29,13 +31,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk_10"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk_10", "ss_sold_date_sk_4"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_59"])
- scan customer_address
+ dynamic filter (["ca_county_66", "ca_county_66", "ca_county_66", "ca_county_66"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_140", NullableValue{type=integer, value=1}, NullableValue{type=integer, value=2000}])
final aggregation over (ca_county_140, d_qoy_113, d_year_109)
@@ -45,13 +49,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk_84"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk_84", "ss_sold_date_sk_78"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_133"])
- scan customer_address
+ dynamic filter (["ca_county_140", "ca_county_140", "ca_county_140"])
+ scan customer_address
final aggregation over (ca_county_191, d_qoy_164, d_year_160)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_191", "d_qoy_164", "d_year_160"])
@@ -59,13 +65,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_184"])
- scan customer_address
+ dynamic filter (["ca_county_191", "ca_county_191"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_276", NullableValue{type=integer, value=1}, NullableValue{type=integer, value=2000}])
final aggregation over (ca_county_276, d_qoy_249, d_year_245)
@@ -75,13 +83,15 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk_210"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk_210", "ws_sold_date_sk_203"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_269"])
- scan customer_address
+ dynamic filter (["ca_county_276"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_county_361", NullableValue{type=integer, value=1}, NullableValue{type=integer, value=2000}])
final aggregation over (ca_county_361, d_qoy_334, d_year_330)
@@ -91,7 +101,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk_295"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk_295", "ws_sold_date_sk_288"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q32.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q32.plan.txt
index 1657af22cbdb..968a164ff256 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q32.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q32.plan.txt
@@ -7,7 +7,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -19,7 +20,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_item_sk_19"])
partial aggregation over (cs_item_sk_19)
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk_4"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q33.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q33.plan.txt
index d324980bbf82..abf2492e5e3f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q33.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q33.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -21,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_manufact_id_6"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_22)
@@ -39,7 +41,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_addr_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -48,7 +51,8 @@ local exchange (GATHER, SINGLE, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_manufact_id_95"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_121)
@@ -66,7 +70,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -75,7 +80,8 @@ local exchange (GATHER, SINGLE, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_manufact_id_196"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_manufact_id_222)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q34.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q34.plan.txt
index 9fa2321b1023..ea466ae6a37a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q34.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q34.plan.txt
@@ -10,7 +10,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q35.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q35.plan.txt
index 73a457ec34b8..003c60e00a1d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q35.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q35.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
@@ -23,7 +24,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -32,7 +34,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -41,7 +44,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q36.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q36.plan.txt
index 55d12e9b5b03..738be5e4e0d9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q36.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q36.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q37.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q37.plan.txt
index dcb283c4ad40..80d881ec6876 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q37.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q37.plan.txt
@@ -8,10 +8,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["inv_item_sk"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q38.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q38.plan.txt
index 9f02b3c87024..b342ddb2e44f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q38.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q38.plan.txt
@@ -12,7 +12,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,7 +28,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,7 +44,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q39.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q39.plan.txt
index 122ab8c8efdb..c80dc1618147 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q39.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q39.plan.txt
@@ -10,13 +10,16 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_item_sk", "inv_warehouse_sk", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan warehouse
+ dynamic filter (["w_warehouse_sk"])
+ scan warehouse
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -29,7 +32,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan inventory
+ dynamic filter (["inv_date_sk_8", "inv_item_sk_9", "inv_warehouse_sk_10"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q40.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q40.plan.txt
index e7cf03046da5..c5cd0958469b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q40.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q40.plan.txt
@@ -9,10 +9,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan warehouse
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q41.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q41.plan.txt
index 1fab708be592..b584563182db 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q41.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q41.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_manufact_14, i_manufact_id, i_product_name, unique)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["i_manufact_14"])
- scan item
+ dynamic filter (["i_manufact_14"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_manufact"])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q42.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q42.plan.txt
index 17cc12f10e9e..b35f518a9b70 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q42.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q42.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_category, i_category_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q43.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q43.plan.txt
index 9d9e36441a12..b94077c666ea 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q43.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q43.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_day_name, s_store_id, s_store_name)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q45.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q45.plan.txt
index f5f43d9d45fc..fb7def869ad6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q45.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q45.plan.txt
@@ -11,10 +11,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q46.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q46.plan.txt
index efaf54844c16..e5c140b8be39 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q46.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q46.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_customer_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -26,7 +27,8 @@ local exchange (GATHER, SINGLE, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q47.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q47.plan.txt
index 4ca1badb4e72..b81758420c9d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q47.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q47.plan.txt
@@ -11,16 +11,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand", "i_brand", "i_category", "i_category"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_company_name", "s_company_name", "s_store_name", "s_store_name"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_14", "i_category_18", "s_company_name_102", "s_store_name_90"])
final aggregation over (d_moy_63, d_year_61, i_brand_14, i_category_18, s_company_name_102, s_store_name_90)
@@ -30,16 +33,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_32", "ss_sold_date_sk_30", "ss_store_sk_37"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_14", "i_category_18"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_company_name_102", "s_store_name_90"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_brand_133", "i_category_137", "s_company_name_221", "s_store_name_209"])
final aggregation over (d_moy_182, d_year_180, i_brand_133, i_category_137, s_company_name_221, s_store_name_209)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_151", "ss_sold_date_sk_149", "ss_store_sk_156"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q48.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q48.plan.txt
index 4a2b8f72cb73..a3a54b6b1076 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q48.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q48.plan.txt
@@ -7,7 +7,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_cdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q49.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q49.plan.txt
index 01a7bb96b2df..e1f12dfe4663 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q49.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q49.plan.txt
@@ -13,7 +13,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_order_number", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
scan web_returns
@@ -31,7 +32,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_order_number", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
scan catalog_returns
@@ -49,7 +51,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
scan store_returns
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q50.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q50.plan.txt
index 8f8ad7edeffc..aba0a89c6ee6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q50.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q50.plan.txt
@@ -9,10 +9,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_customer_sk", "sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q51.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q51.plan.txt
index ed5e8607b930..8dfcb212f038 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q51.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q51.plan.txt
@@ -10,7 +10,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date", "ws_item_sk"])
partial aggregation over (d_date, ws_item_sk)
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -21,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_7", "ss_item_sk"])
partial aggregation over (d_date_7, ss_item_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q52.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q52.plan.txt
index 33752e693e6c..79ab5d5f2dc7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q52.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q52.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_year, i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q53.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q53.plan.txt
index cd10ab3698e6..799e43e0eca0 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q53.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q53.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q54.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q54.plan.txt
index 4ad40cb0a086..614e7c65e139 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q54.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q54.plan.txt
@@ -23,8 +23,10 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
remote exchange (REPARTITION, ROUND_ROBIN, [])
- scan catalog_sales
- scan web_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_bill_customer_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_bill_customer_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -33,19 +35,23 @@ local exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
- scan customer_address
+ dynamic filter (["ca_county", "ca_state"])
+ scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_month_seq_17"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q55.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q55.plan.txt
index 0322599f01e5..72d129c6fab1 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q55.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q55.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (i_brand, i_brand_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q56.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q56.plan.txt
index 94868da0baf9..d765fb4305b2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q56.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q56.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -21,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_id_6"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_10)
@@ -39,7 +41,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_addr_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -48,7 +51,8 @@ local exchange (GATHER, SINGLE, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_id_83"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_109)
@@ -66,7 +70,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -75,7 +80,8 @@ local exchange (GATHER, SINGLE, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_id_184"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_210)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q57.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q57.plan.txt
index cedf585a1320..7af8d6925f24 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q57.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q57.plan.txt
@@ -11,16 +11,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand", "i_brand", "i_category", "i_category"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan call_center
+ dynamic filter (["cc_name", "cc_name"])
+ scan call_center
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cc_name_102", "i_brand_14", "i_category_18"])
final aggregation over (cc_name_102, d_moy_74, d_year_72, i_brand_14, i_category_18)
@@ -30,16 +33,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk_41", "cs_item_sk_45", "cs_sold_date_sk_30"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_14", "i_category_18"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan call_center
+ dynamic filter (["cc_name_102"])
+ scan call_center
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cc_name_232", "i_brand_144", "i_category_148"])
final aggregation over (cc_name_232, d_moy_204, d_year_202, i_brand_144, i_category_148)
@@ -49,7 +55,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk_171", "cs_item_sk_175", "cs_sold_date_sk_160"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q58.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q58.plan.txt
index 53badf386c82..97ffbcf71797 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q58.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q58.plan.txt
@@ -10,19 +10,23 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_id", "i_item_id"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_date"])
+ scan date_dim
final aggregation over (d_date_6)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_6"])
partial aggregation over (d_date_6)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_8"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -36,19 +40,23 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_94"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_id_69"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_date_94"])
+ scan date_dim
final aggregation over (d_date_126)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_126"])
partial aggregation over (d_date_126)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_128"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
@@ -62,19 +70,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_216"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_date_216"])
+ scan date_dim
final aggregation over (d_date_248)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_248"])
partial aggregation over (d_date_248)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_250"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q59.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q59.plan.txt
index 6cd84ea7c15a..7d8e5431f182 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q59.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q59.plan.txt
@@ -13,16 +13,20 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_day_name", "d_week_seq", "ss_store_sk"])
partial aggregation over (d_day_name, d_week_seq, ss_store_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq", "d_week_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_store_id"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_20"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["expr_203", "s_store_id_118"])
join (INNER, REPLICATED):
@@ -36,10 +40,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_day_name_85", "d_week_seq_75", "ss_store_sk_53"])
partial aggregation over (d_day_name_85, d_week_seq_75, ss_store_sk_53)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_46", "ss_store_sk_53"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq_75"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q60.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q60.plan.txt
index 94868da0baf9..d765fb4305b2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q60.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q60.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_addr_sk"])
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -21,7 +22,8 @@ local exchange (GATHER, SINGLE, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_id_6"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_10)
@@ -39,7 +41,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_bill_addr_sk"])
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_bill_addr_sk", "cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -48,7 +51,8 @@ local exchange (GATHER, SINGLE, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_id_83"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_109)
@@ -66,7 +70,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_addr_sk"])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_bill_addr_sk", "ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -75,7 +80,8 @@ local exchange (GATHER, SINGLE, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_id_184"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (i_item_id_210)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q61.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q61.plan.txt
index fcb22ec7edbe..6999fdb4fa23 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q61.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q61.plan.txt
@@ -11,7 +11,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
@@ -23,7 +24,8 @@ cross join:
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
@@ -41,7 +43,8 @@ cross join:
remote exchange (REPARTITION, HASH, ["ss_customer_sk_15"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk_15", "ss_item_sk_14", "ss_sold_date_sk_12", "ss_store_sk_19"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
@@ -50,7 +53,8 @@ cross join:
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_98"])
- scan customer
+ dynamic filter (["c_current_addr_sk_102"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_118"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q62.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q62.plan.txt
index f1d8bc82fb42..257d17398b22 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q62.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q62.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_date_sk", "ws_ship_mode_sk", "ws_warehouse_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan warehouse
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q63.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q63.plan.txt
index 23e28eddc4b7..da2cbd549a64 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q63.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q63.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q64.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q64.plan.txt
index 4c035100b9ff..a4fff9f00857 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q64.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q64.plan.txt
@@ -29,29 +29,35 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_cdemo_sk", "ss_customer_sk", "ss_hdemo_sk", "ss_item_sk", "ss_item_sk", "ss_item_sk", "ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_item_sk", "sr_item_sk"])
+ scan store_returns
final aggregation over (cs_item_sk)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
partial aggregation over (cs_item_sk)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_item_sk", "cs_item_sk", "cs_order_number"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_store_name", "s_zip"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk", "c_current_hdemo_sk", "c_first_sales_date_sk", "c_first_shipto_date_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -69,10 +75,12 @@ remote exchange (GATHER, SINGLE, [])
scan promotion
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan household_demographics
+ dynamic filter (["hd_income_band_sk"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_91"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
@@ -87,7 +95,8 @@ remote exchange (GATHER, SINGLE, [])
scan income_band
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_store_name_343", "s_zip_363", "ss_item_sk_134"])
final aggregation over (ca_city_452, ca_city_467, ca_street_name_449, ca_street_name_464, ca_street_number_448, ca_street_number_463, ca_zip_455, ca_zip_470, d_year_254, d_year_284, d_year_314, i_product_name_507, s_store_name_343, s_zip_363, ss_item_sk_134)
@@ -116,20 +125,24 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk_134"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk_134", "ss_ticket_number_141"])
- scan store_sales
+ dynamic filter (["ss_addr_sk_138", "ss_cdemo_sk_136", "ss_customer_sk_135", "ss_hdemo_sk_137", "ss_item_sk_134", "ss_item_sk_134", "ss_item_sk_134", "ss_promo_sk_140", "ss_sold_date_sk_132", "ss_store_sk_139", "ss_ticket_number_141"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk_159", "sr_ticket_number_166"])
- scan store_returns
+ dynamic filter (["sr_item_sk_159", "sr_item_sk_159"])
+ scan store_returns
final aggregation over (cs_item_sk_194)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk_194"])
partial aggregation over (cs_item_sk_194)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk_194", "cs_order_number_196"])
- scan catalog_sales
+ dynamic filter (["cs_item_sk_194", "cs_item_sk_194", "cs_order_number_196"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk_217", "cr_order_number_231"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk_217"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -138,7 +151,8 @@ remote exchange (GATHER, SINGLE, [])
scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_369"])
- scan customer
+ dynamic filter (["c_current_addr_sk_373", "c_current_cdemo_sk_371", "c_current_hdemo_sk_372", "c_first_sales_date_sk_375", "c_first_shipto_date_sk_374"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -156,10 +170,12 @@ remote exchange (GATHER, SINGLE, [])
scan promotion
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_433"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan household_demographics
+ dynamic filter (["hd_income_band_sk_440"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_446"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q65.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q65.plan.txt
index eeb6db7ddd46..131cccbcb743 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q65.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q65.plan.txt
@@ -12,13 +12,15 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_store_sk"])
partial aggregation over (ss_item_sk, ss_store_sk)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_store_sk"])
- scan store
+ dynamic filter (["s_store_sk"])
+ scan store
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_store_sk_13"])
final aggregation over (ss_item_sk_8, ss_store_sk_13)
@@ -26,7 +28,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk_8", "ss_store_sk_13"])
partial aggregation over (ss_item_sk_8, ss_store_sk_13)
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk_8", "ss_sold_date_sk_6"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q66.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q66.plan.txt
index 77fab6dca7b0..f7d7f00e146a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q66.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q66.plan.txt
@@ -15,7 +15,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_mode_sk", "ws_sold_date_sk", "ws_sold_time_sk", "ws_warehouse_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan warehouse
@@ -41,7 +42,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_ship_mode_sk", "cs_sold_date_sk", "cs_sold_time_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan warehouse
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q67.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q67.plan.txt
index 6b438220e703..0650be596e8e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q67.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q67.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q68.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q68.plan.txt
index efaf54844c16..e5c140b8be39 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q68.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q68.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_addr_sk", "ss_customer_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -26,7 +27,8 @@ local exchange (GATHER, SINGLE, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q69.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q69.plan.txt
index 08db8f535af9..9148d4f49236 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q69.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q69.plan.txt
@@ -11,7 +11,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["c_current_addr_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk", "c_customer_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
@@ -23,7 +24,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
partial aggregation over (ss_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -32,7 +34,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
partial aggregation over (ws_bill_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -41,7 +44,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_ship_customer_sk"])
partial aggregation over (cs_ship_customer_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q70.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q70.plan.txt
index 8dcce2a51198..f780e63bd1a6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q70.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q70.plan.txt
@@ -10,13 +10,15 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["s_state"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan store
+ dynamic filter (["s_state"])
+ scan store
single aggregation over (s_state_53)
final aggregation over (s_state_53)
local exchange (GATHER, SINGLE, [])
@@ -24,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (s_state_53)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk_4", "ss_store_sk_11"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan store
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q71.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q71.plan.txt
index 599dd0ab9f9c..eb516d2aebba 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q71.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q71.plan.txt
@@ -9,17 +9,20 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk", "ws_sold_time_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk", "cs_sold_time_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_sold_time_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q72.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q72.plan.txt
index 5bf29d2e5757..6b583db84753 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q72.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q72.plan.txt
@@ -15,10 +15,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk"])
- scan catalog_sales
+ dynamic filter (["cs_bill_cdemo_sk", "cs_bill_hdemo_sk", "cs_item_sk", "cs_item_sk", "cs_quantity", "cs_ship_date_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["inv_item_sk"])
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_warehouse_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan warehouse
@@ -33,7 +35,8 @@ local exchange (GATHER, SINGLE, [])
scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_week_seq"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q73.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q73.plan.txt
index 9fa2321b1023..ea466ae6a37a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q73.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q73.plan.txt
@@ -10,7 +10,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q74.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q74.plan.txt
index 7f85ff20613d..d88c6fd0f089 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q74.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q74.plan.txt
@@ -11,10 +11,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_customer_id", "c_customer_id", "c_customer_id"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,10 +29,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_customer_sk_91"])
- scan store_sales
+ dynamic filter (["ss_customer_sk_91", "ss_sold_date_sk_88"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_68"])
- scan customer
+ dynamic filter (["c_customer_id_69", "c_customer_id_69"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -43,10 +47,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_352"])
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_352", "ws_sold_date_sk_348"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_328"])
- scan customer
+ dynamic filter (["c_customer_id_329"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -59,7 +65,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_531"])
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk_531", "ws_sold_date_sk_527"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk_507"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q75.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q75.plan.txt
index 742b7fa1b05f..9551936be224 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q75.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q75.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_7", "i_category_id_9", "i_class_id_8", "i_manufact_id_10"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -26,10 +28,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_28", "i_category_id_32", "i_class_id_30", "i_manufact_id_34"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,10 +46,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_brand_id_88", "i_category_id_92", "i_class_id_90", "i_manufact_id_94"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -61,7 +67,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_item_sk_170", "cs_order_number_172"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_item_sk_170", "cs_sold_date_sk_155"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -77,7 +84,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ss_item_sk_278", "ss_ticket_number_285"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_item_sk_278", "ss_sold_date_sk_276"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -93,7 +101,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_item_sk_382", "ws_order_number_396"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_item_sk_382", "ws_sold_date_sk_379"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q76.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q76.plan.txt
index 0a0569f12272..716b205b4567 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q76.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q76.plan.txt
@@ -6,7 +6,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_qoy_10, d_year_9, expr_134, expr_135, i_category_6)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -18,7 +19,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["i_item_sk_17"])
scan item
@@ -29,7 +31,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (d_qoy_111, d_year_107, expr_131, expr_133, i_category_89)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_item_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q77.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q77.plan.txt
index f5f8b7b62eea..b632624a3d15 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q77.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q77.plan.txt
@@ -12,7 +12,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ss_store_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -25,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (sr_store_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_returned_date_sk", "sr_store_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -38,7 +40,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cs_call_center_sk"])
partial aggregation over (cs_call_center_sk)
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -49,7 +52,8 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_call_center_sk"])
partial aggregation over (cr_call_center_sk)
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -60,7 +64,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ws_web_page_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -73,7 +78,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (wr_web_page_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_returned_date_sk", "wr_web_page_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q78.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q78.plan.txt
index 50161185b413..b36f1794209d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q78.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q78.plan.txt
@@ -10,10 +10,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_customer_sk", "ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -24,7 +26,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
scan web_returns
@@ -40,7 +43,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
scan catalog_returns
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q79.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q79.plan.txt
index 1447d7cc49e6..6b367ec922f9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q79.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q79.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_hdemo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q80.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q80.plan.txt
index 2c4af4d32334..fbd86708e27a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q80.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q80.plan.txt
@@ -15,10 +15,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_promo_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_item_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -41,10 +43,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
- scan catalog_sales
+ dynamic filter (["cs_catalog_page_sk", "cs_item_sk", "cs_promo_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
- scan catalog_returns
+ dynamic filter (["cr_item_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -67,10 +71,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_promo_sk", "ws_sold_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_item_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q81.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q81.plan.txt
index 972242886adc..0d3738f08f76 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q81.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q81.plan.txt
@@ -13,7 +13,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_state, cr_returning_customer_sk)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk", "cr_returning_addr_sk", "cr_returning_customer_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -22,7 +23,8 @@ local exchange (GATHER, SINGLE, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk_4"])
scan customer_address
@@ -36,7 +38,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (ca_state_88, cr_returning_customer_sk_28)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_returned_date_sk_21", "cr_returning_addr_sk_31"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q82.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q82.plan.txt
index 03845b26cd85..76a98ec7ec18 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q82.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q82.plan.txt
@@ -8,10 +8,12 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["inv_item_sk"])
join (INNER, REPLICATED, can skip output duplicates):
join (INNER, REPLICATED, can skip output duplicates):
- scan inventory
+ dynamic filter (["inv_date_sk", "inv_item_sk", "inv_item_sk"])
+ scan inventory
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_sk"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q83.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q83.plan.txt
index d2cc6b9db027..38f65608751f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q83.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q83.plan.txt
@@ -10,19 +10,23 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_returns
+ dynamic filter (["sr_item_sk", "sr_returned_date_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_id", "i_item_id"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_date"])
+ scan date_dim
final aggregation over (d_date_6)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_6"])
partial aggregation over (d_date_6)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_8"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_40)
@@ -38,19 +42,23 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_99"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_item_sk", "cr_returned_date_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan item
+ dynamic filter (["i_item_id_74"])
+ scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_date_99"])
+ scan date_dim
final aggregation over (d_date_131)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_131"])
partial aggregation over (d_date_131)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_133"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_165)
@@ -66,19 +74,22 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_226"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_returns
+ dynamic filter (["wr_item_sk", "wr_returned_date_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan date_dim
+ dynamic filter (["d_date_226"])
+ scan date_dim
final aggregation over (d_date_258)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["d_date_258"])
partial aggregation over (d_date_258)
join (INNER, REPLICATED, can skip output duplicates):
- scan date_dim
+ dynamic filter (["d_week_seq_260"])
+ scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (d_week_seq_292)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q84.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q84.plan.txt
index bc64fca2ef08..ded9c6e8c286 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q84.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q84.plan.txt
@@ -6,16 +6,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk", "c_current_cdemo_sk", "c_current_hdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_address
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan customer_demographics
+ dynamic filter (["cd_demo_sk"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan household_demographics
+ dynamic filter (["hd_income_band_sk"])
+ scan household_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan income_band
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q85.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q85.plan.txt
index 7ea94ada1e8c..338366b7d7e4 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q85.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q85.plan.txt
@@ -13,16 +13,19 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_order_number", "ws_sold_date_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_reason_sk", "wr_refunded_addr_sk", "wr_refunded_cdemo_sk", "wr_returning_cdemo_sk"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan web_page
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
- scan customer_demographics
+ dynamic filter (["cd_education_status", "cd_marital_status"])
+ scan customer_demographics
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan customer_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q86.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q86.plan.txt
index cca927926827..38fdc67f5412 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q86.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q86.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (groupid, i_category$gid, i_class$gid)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q87.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q87.plan.txt
index 9f02b3c87024..b342ddb2e44f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q87.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q87.plan.txt
@@ -12,7 +12,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_customer_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -27,7 +28,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_bill_customer_sk", "cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -42,7 +44,8 @@ final aggregation over ()
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk"])
join (INNER, REPLICATED, can skip output duplicates):
- scan web_sales
+ dynamic filter (["ws_bill_customer_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q88.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q88.plan.txt
index 4b767256bab5..f881cc28eb00 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q88.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q88.plan.txt
@@ -12,7 +12,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_time_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
@@ -29,7 +30,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_11", "ss_sold_time_sk_7", "ss_store_sk_13"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
@@ -46,7 +48,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_87", "ss_sold_time_sk_83", "ss_store_sk_89"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
@@ -63,7 +66,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_163", "ss_sold_time_sk_159", "ss_store_sk_165"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
@@ -80,7 +84,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_239", "ss_sold_time_sk_235", "ss_store_sk_241"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
@@ -97,7 +102,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_315", "ss_sold_time_sk_311", "ss_store_sk_317"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
@@ -114,7 +120,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_391", "ss_sold_time_sk_387", "ss_store_sk_393"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
@@ -131,7 +138,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk_467", "ss_sold_time_sk_463", "ss_store_sk_469"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q89.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q89.plan.txt
index 396d705bbc38..221dfc17c333 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q89.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q89.plan.txt
@@ -9,7 +9,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q90.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q90.plan.txt
index 5e6f7dd4cbdb..3b4a8070b84f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q90.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q90.plan.txt
@@ -6,7 +6,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_hdemo_sk", "ws_sold_time_sk", "ws_web_page_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
@@ -23,7 +24,8 @@ cross join:
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_ship_hdemo_sk_16", "ws_sold_time_sk_7", "ws_web_page_sk_18"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q91.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q91.plan.txt
index 8fc536c72b7c..2bb29d2be645 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q91.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q91.plan.txt
@@ -13,7 +13,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["cr_returning_customer_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_returns
+ dynamic filter (["cr_call_center_sk", "cr_returned_date_sk", "cr_returning_customer_sk"])
+ scan catalog_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan call_center
@@ -22,7 +23,8 @@ remote exchange (GATHER, SINGLE, [])
scan date_dim
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["c_customer_sk"])
- scan customer
+ dynamic filter (["c_current_addr_sk", "c_current_cdemo_sk", "c_current_hdemo_sk"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ca_address_sk"])
scan customer_address
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q92.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q92.plan.txt
index 335e21c50b65..4c49dec76d51 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q92.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q92.plan.txt
@@ -7,7 +7,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ws_item_sk"])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_item_sk", "ws_sold_date_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
@@ -19,7 +20,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ws_item_sk_7"])
partial aggregation over (ws_item_sk_7)
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_sold_date_sk_4"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q93.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q93.plan.txt
index ca9dc7543db7..e1cd897adff9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q93.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q93.plan.txt
@@ -7,10 +7,12 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_ticket_number"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
- scan store_returns
+ dynamic filter (["sr_reason_sk"])
+ scan store_returns
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan reason
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q94.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q94.plan.txt
index db9807f4e190..13e930d9647f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q94.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q94.plan.txt
@@ -11,7 +11,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_order_number", "ws_ship_addr_sk", "ws_ship_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q95.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q95.plan.txt
index 8bc70721a079..c7056e07c2a7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q95.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q95.plan.txt
@@ -9,7 +9,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan web_sales
+ dynamic filter (["ws_order_number", "ws_order_number", "ws_ship_addr_sk", "ws_ship_date_sk", "ws_web_site_sk"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -24,20 +25,24 @@ final aggregation over ()
partial aggregation over (ws_order_number_23)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_order_number_23"])
- scan web_sales
+ dynamic filter (["ws_order_number_23", "ws_order_number_23"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_59"])
- scan web_sales
+ dynamic filter (["ws_order_number_59"])
+ scan web_sales
final aggregation over (wr_order_number)
local exchange (GATHER, SINGLE, [])
partial aggregation over (wr_order_number)
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["wr_order_number"])
- scan web_returns
+ dynamic filter (["wr_order_number"])
+ scan web_returns
local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["ws_order_number_101"])
- scan web_sales
+ dynamic filter (["ws_order_number_101"])
+ scan web_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["ws_order_number_137"])
scan web_sales
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q96.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q96.plan.txt
index a942f9abdebe..da321e261edc 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q96.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q96.plan.txt
@@ -5,7 +5,8 @@ final aggregation over ()
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_hdemo_sk", "ss_sold_time_sk", "ss_store_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan household_demographics
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q97.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q97.plan.txt
index 7b9c83293534..959bbfe9de73 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q97.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q97.plan.txt
@@ -8,7 +8,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["ss_customer_sk", "ss_item_sk"])
partial aggregation over (ss_customer_sk, ss_item_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan store_sales
+ dynamic filter (["ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
@@ -17,7 +18,8 @@ final aggregation over ()
remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk", "cs_item_sk"])
partial aggregation over (cs_bill_customer_sk, cs_item_sk)
join (INNER, REPLICATED, can skip output duplicates):
- scan catalog_sales
+ dynamic filter (["cs_sold_date_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan date_dim
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q98.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q98.plan.txt
index 6db78ab06afe..283ba871c286 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q98.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q98.plan.txt
@@ -9,7 +9,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (i_category, i_class, i_current_price, i_item_desc, i_item_id)
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan store_sales
+ dynamic filter (["ss_item_sk", "ss_sold_date_sk"])
+ scan store_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan item
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q99.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q99.plan.txt
index fd69bb055770..8173d66e2929 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q99.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q99.plan.txt
@@ -8,7 +8,8 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan catalog_sales
+ dynamic filter (["cs_call_center_sk", "cs_ship_date_sk", "cs_ship_mode_sk", "cs_warehouse_sk"])
+ scan catalog_sales
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan warehouse
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q02.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q02.plan.txt
index b593422eaaf0..7d59421d48f6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q02.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q02.plan.txt
@@ -8,15 +8,18 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_23"])
partial aggregation over (partkey_23)
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["partkey_23", "suppkey_24"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey_34"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey_43"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
@@ -25,18 +28,21 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["suppkey_6"])
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["partkey_5", "suppkey_6"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q03.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q03.plan.txt
index 4a9e1323a310..6b20d8824865 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q03.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q03.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (orderdate, orderkey_5, shippriority)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_5"])
- scan lineitem
+ dynamic filter (["orderkey_5"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q04.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q04.plan.txt
index 5d0194bd4f62..ad4b7720ec2f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q04.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q04.plan.txt
@@ -6,7 +6,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderpriority"])
partial aggregation over (orderpriority)
join (INNER, REPLICATED):
- scan orders
+ dynamic filter (["orderkey"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (orderkey_0)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q05.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q05.plan.txt
index cb04cfef04bd..e36da99b8389 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q05.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q05.plan.txt
@@ -8,15 +8,18 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["nationkey_14", "orderkey_5"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["orderkey_5", "suppkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey_14", "nationkey_14"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["nationkey_21", "regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
@@ -24,7 +27,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["nationkey", "orderkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q07.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q07.plan.txt
index e334b46ac4d6..26c5762a8549 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q07.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q07.plan.txt
@@ -9,22 +9,26 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_5"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey"])
- scan orders
+ dynamic filter (["custkey", "orderkey_5"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey_11"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["nationkey_14"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["suppkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q08.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q08.plan.txt
index 34062f9cadd6..63b7df527b73 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q08.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q08.plan.txt
@@ -10,14 +10,16 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["suppkey_6"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["orderkey", "partkey_5", "suppkey_6"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
@@ -25,15 +27,18 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_11"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey"])
- scan orders
+ dynamic filter (["custkey"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey_17"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["nationkey_20"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q09.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q09.plan.txt
index 8b8f3844d639..87d5b62f892d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q09.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q09.plan.txt
@@ -13,13 +13,16 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_6"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey_5"])
- scan lineitem
+ dynamic filter (["orderkey", "partkey_5", "partkey_5", "suppkey_6", "suppkey_6"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
- scan part
+ dynamic filter (["partkey"])
+ scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
- scan supplier
+ dynamic filter (["nationkey", "suppkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_12"])
scan partsupp
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q10.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q10.plan.txt
index 4b45077ce17c..a2e906334bc6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q10.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q10.plan.txt
@@ -6,13 +6,15 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (acctbal, address, comment_7, custkey_6, name, name_12, phone)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan lineitem
+ dynamic filter (["orderkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_6"])
- scan customer
+ dynamic filter (["custkey_6", "nationkey"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan orders
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q11.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q11.plan.txt
index bfc5af4b5bb2..6783b012d01c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q11.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q11.plan.txt
@@ -7,11 +7,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
partial aggregation over (partkey)
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["suppkey"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
@@ -22,11 +24,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["suppkey_12"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey_22"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q12.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q12.plan.txt
index 7fb5b836dfa9..78a29b890283 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q12.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q12.plan.txt
@@ -7,7 +7,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (shipmode)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan orders
+ dynamic filter (["orderkey"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
scan lineitem
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q13.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q13.plan.txt
index e30665fcb33b..e730726f91ea 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q13.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q13.plan.txt
@@ -10,7 +10,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (custkey)
join (RIGHT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q14.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q14.plan.txt
index e46c0418a759..e19b87ce562d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q14.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q14.plan.txt
@@ -4,7 +4,8 @@ final aggregation over ()
partial aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey_0"])
- scan part
+ dynamic filter (["partkey_0"])
+ scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
scan lineitem
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q15.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q15.plan.txt
index c95f702a6873..27a7aac79447 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q15.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q15.plan.txt
@@ -3,7 +3,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, ROUND_ROBIN, [])
join (INNER, REPLICATED):
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["suppkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over (suppkey_0)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q16.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q16.plan.txt
index 97eea04d0aa1..5c88eb77e918 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q16.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q16.plan.txt
@@ -12,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey"])
- scan partsupp
+ dynamic filter (["partkey"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_0"])
scan part
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q17.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q17.plan.txt
index 0d192b20aa3d..28d5c917aabb 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q17.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q17.plan.txt
@@ -5,7 +5,8 @@ final aggregation over ()
cross join:
join (LEFT, REPLICATED):
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["partkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan part
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q18.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q18.plan.txt
index 463aec3e5325..94f7b5b1f75e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q18.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q18.plan.txt
@@ -5,13 +5,15 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (custkey_0, name, orderdate, orderkey_5, totalprice)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_5"])
- scan lineitem
+ dynamic filter (["orderkey_5"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
join (INNER, REPLICATED):
- scan orders
+ dynamic filter (["custkey_0", "orderkey"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
single aggregation over (orderkey_11)
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q19.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q19.plan.txt
index fa00639798fe..3280029142dd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q19.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q19.plan.txt
@@ -4,7 +4,8 @@ final aggregation over ()
partial aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey"])
- scan lineitem
+ dynamic filter (["partkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_0"])
scan part
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q20.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q20.plan.txt
index 89b191d4eafd..d4ca3430cd60 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q20.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q20.plan.txt
@@ -12,12 +12,14 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_21", "suppkey_22"])
partial aggregation over (partkey_21, suppkey_22)
- scan lineitem
+ dynamic filter (["partkey_21", "suppkey_22", "suppkey_22"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey", "suppkey_6"])
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["partkey"])
- scan partsupp
+ dynamic filter (["partkey", "suppkey_6"])
+ scan partsupp
final aggregation over (partkey_13)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_13"])
@@ -30,7 +32,8 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q21.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q21.plan.txt
index 1460eaa40b15..b61ccb423b60 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q21.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q21.plan.txt
@@ -13,17 +13,20 @@ local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["orderkey", "orderkey", "suppkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_5"])
- scan orders
+ dynamic filter (["orderkey_5"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_17"])
scan lineitem
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q22.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q22.plan.txt
index 0cc72848180d..c67a76eab602 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q22.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/partitioned/q22.plan.txt
@@ -8,7 +8,8 @@ remote exchange (GATHER, SINGLE, [])
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey"])
cross join:
- scan customer
+ dynamic filter (["acctbal"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over ()
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q02.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q02.plan.txt
index b593422eaaf0..7d59421d48f6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q02.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q02.plan.txt
@@ -8,15 +8,18 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_23"])
partial aggregation over (partkey_23)
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["partkey_23", "suppkey_24"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey_34"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey_43"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
@@ -25,18 +28,21 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["suppkey_6"])
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["partkey_5", "suppkey_6"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q03.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q03.plan.txt
index 4a9e1323a310..6b20d8824865 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q03.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q03.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (orderdate, orderkey_5, shippriority)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_5"])
- scan lineitem
+ dynamic filter (["orderkey_5"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q04.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q04.plan.txt
index 91dcfd113534..655ae9102c9b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q04.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q04.plan.txt
@@ -10,7 +10,8 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
partial aggregation over (orderkey_0)
- scan lineitem
+ dynamic filter (["orderkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
scan orders
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q05.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q05.plan.txt
index 11e54014a4ca..9121d88b28be 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q05.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q05.plan.txt
@@ -8,15 +8,18 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["nationkey_13", "orderkey_5"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["orderkey_5", "suppkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey_13", "nationkey_13"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["nationkey_20", "regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
@@ -24,7 +27,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["nationkey", "orderkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q07.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q07.plan.txt
index 4a90291c58c0..633ef6f13abe 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q07.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q07.plan.txt
@@ -8,11 +8,13 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["orderkey", "suppkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
@@ -20,11 +22,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_5"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey"])
- scan orders
+ dynamic filter (["custkey"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey_10"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["nationkey_13"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q08.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q08.plan.txt
index c196a44d68e0..ff8b232c10f2 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q08.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q08.plan.txt
@@ -11,29 +11,34 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_11"])
- scan orders
+ dynamic filter (["custkey", "orderkey_11"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["partkey_5", "suppkey_6"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey_16"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["nationkey_19"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q09.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q09.plan.txt
index 24be20eb1056..af09415d00c0 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q09.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q09.plan.txt
@@ -13,13 +13,16 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_6"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey_5"])
- scan lineitem
+ dynamic filter (["orderkey", "partkey_5", "partkey_5", "suppkey_6", "suppkey_6"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
- scan part
+ dynamic filter (["partkey"])
+ scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
- scan supplier
+ dynamic filter (["nationkey", "suppkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_12"])
scan partsupp
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q10.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q10.plan.txt
index 60df9b930b5b..1fefeddf8854 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q10.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q10.plan.txt
@@ -6,12 +6,14 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_5"])
- scan customer
+ dynamic filter (["custkey_5", "nationkey"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan lineitem
+ dynamic filter (["orderkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
scan orders
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q11.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q11.plan.txt
index bfc5af4b5bb2..6783b012d01c 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q11.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q11.plan.txt
@@ -7,11 +7,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
partial aggregation over (partkey)
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["suppkey"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
@@ -22,11 +24,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["suppkey_12"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey_22"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q12.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q12.plan.txt
index 7fb5b836dfa9..78a29b890283 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q12.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q12.plan.txt
@@ -7,7 +7,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (shipmode)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan orders
+ dynamic filter (["orderkey"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
scan lineitem
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q13.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q13.plan.txt
index e30665fcb33b..e730726f91ea 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q13.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q13.plan.txt
@@ -10,7 +10,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (custkey)
join (RIGHT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q14.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q14.plan.txt
index e46c0418a759..e19b87ce562d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q14.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q14.plan.txt
@@ -4,7 +4,8 @@ final aggregation over ()
partial aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey_0"])
- scan part
+ dynamic filter (["partkey_0"])
+ scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
scan lineitem
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q15.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q15.plan.txt
index 02ee343d1df5..267f9607142a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q15.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q15.plan.txt
@@ -4,7 +4,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["suppkey"])
- scan supplier
+ dynamic filter (["suppkey"])
+ scan supplier
final aggregation over (suppkey_0)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_0"])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q16.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q16.plan.txt
index 97eea04d0aa1..5c88eb77e918 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q16.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q16.plan.txt
@@ -12,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey"])
- scan partsupp
+ dynamic filter (["partkey"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_0"])
scan part
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q17.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q17.plan.txt
index 72a457f937bf..f58bebb3d049 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q17.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q17.plan.txt
@@ -8,11 +8,13 @@ final aggregation over ()
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_6"])
partial aggregation over (partkey_6)
- scan lineitem
+ dynamic filter (["partkey_6"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["partkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan part
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q18.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q18.plan.txt
index b9b41cc41b90..792f3516048e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q18.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q18.plan.txt
@@ -5,14 +5,16 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (custkey_0, name, orderdate, orderkey_5, totalprice)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_5"])
- scan lineitem
+ dynamic filter (["orderkey_5"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan orders
+ dynamic filter (["custkey_0", "orderkey"])
+ scan orders
single aggregation over (orderkey_10)
final aggregation over (orderkey_10)
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q19.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q19.plan.txt
index fa00639798fe..3280029142dd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q19.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q19.plan.txt
@@ -4,7 +4,8 @@ final aggregation over ()
partial aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey"])
- scan lineitem
+ dynamic filter (["partkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_0"])
scan part
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q20.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q20.plan.txt
index 89b191d4eafd..d4ca3430cd60 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q20.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q20.plan.txt
@@ -12,12 +12,14 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_21", "suppkey_22"])
partial aggregation over (partkey_21, suppkey_22)
- scan lineitem
+ dynamic filter (["partkey_21", "suppkey_22", "suppkey_22"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey", "suppkey_6"])
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["partkey"])
- scan partsupp
+ dynamic filter (["partkey", "suppkey_6"])
+ scan partsupp
final aggregation over (partkey_13)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_13"])
@@ -30,7 +32,8 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q21.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q21.plan.txt
index d62c188bfd61..93b1f2c4fada 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q21.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q21.plan.txt
@@ -9,22 +9,26 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (commitdate, exists, name, name_11, nationkey, orderkey_16, orderstatus, receiptdate, suppkey_0, unique)
join (RIGHT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_36"])
- scan lineitem
+ dynamic filter (["orderkey_36"])
+ scan lineitem
final aggregation over (commitdate, name, name_11, nationkey, orderkey_16, orderstatus, receiptdate, suppkey_0, unique_59)
local exchange (GATHER, SINGLE, [])
partial aggregation over (commitdate, name, name_11, nationkey, orderkey_16, orderstatus, receiptdate, suppkey_0, unique_59)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_16"])
- scan lineitem
+ dynamic filter (["orderkey_16"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["orderkey", "suppkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q22.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q22.plan.txt
index 0cc72848180d..c67a76eab602 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q22.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/hive/unpartitioned/q22.plan.txt
@@ -8,7 +8,8 @@ remote exchange (GATHER, SINGLE, [])
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey"])
cross join:
- scan customer
+ dynamic filter (["acctbal"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over ()
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q02.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q02.plan.txt
index 358da707a03d..bc5e2e079616 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q02.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q02.plan.txt
@@ -8,15 +8,18 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_19"])
partial aggregation over (partkey_19)
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["partkey_19", "suppkey_20"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey_29"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey_37"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
@@ -26,18 +29,21 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_5"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey_4"])
- scan partsupp
+ dynamic filter (["partkey_4", "suppkey_5"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q03.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q03.plan.txt
index f5cf1c82bd37..6b43a2922b47 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q03.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q03.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (orderdate, orderkey_4, shippriority)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_4"])
- scan lineitem
+ dynamic filter (["orderkey_4"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q04.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q04.plan.txt
index 91dcfd113534..655ae9102c9b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q04.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q04.plan.txt
@@ -10,7 +10,8 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
partial aggregation over (orderkey_0)
- scan lineitem
+ dynamic filter (["orderkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
scan orders
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q05.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q05.plan.txt
index 8d476b717a72..552e5f5d8101 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q05.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q05.plan.txt
@@ -9,20 +9,24 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["nationkey", "suppkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_4"])
- scan lineitem
+ dynamic filter (["orderkey_4", "suppkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["nationkey", "nationkey"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["nationkey_17", "regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q07.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q07.plan.txt
index 64d5f1fecd08..eb126c8e6c5d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q07.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q07.plan.txt
@@ -9,22 +9,26 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_4"])
- scan orders
+ dynamic filter (["custkey", "orderkey_4"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["suppkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey_8"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["nationkey_11"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q08.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q08.plan.txt
index 88f8a11f4445..6bf9dc00784b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q08.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q08.plan.txt
@@ -12,28 +12,33 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_9"])
- scan orders
+ dynamic filter (["custkey", "orderkey_9"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["partkey_4", "suppkey_5"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey_13"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["nationkey_16"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q09.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q09.plan.txt
index a55a51f232bd..fdb31d6425ed 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q09.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q09.plan.txt
@@ -13,13 +13,16 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_5"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey_4"])
- scan lineitem
+ dynamic filter (["orderkey", "partkey_4", "partkey_4", "suppkey_5", "suppkey_5"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
- scan part
+ dynamic filter (["partkey"])
+ scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
- scan supplier
+ dynamic filter (["nationkey", "suppkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_10"])
scan partsupp
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q10.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q10.plan.txt
index 7ab0ad56a3f1..1d813f011e8f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q10.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q10.plan.txt
@@ -6,12 +6,14 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_4"])
- scan customer
+ dynamic filter (["custkey_4", "nationkey"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan lineitem
+ dynamic filter (["orderkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
scan orders
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q11.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q11.plan.txt
index bfc5af4b5bb2..23b8747ebbc8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q11.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q11.plan.txt
@@ -7,11 +7,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
partial aggregation over (partkey)
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["suppkey"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
@@ -22,11 +24,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["suppkey_10"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey_19"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q12.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q12.plan.txt
index 7fb5b836dfa9..78a29b890283 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q12.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q12.plan.txt
@@ -7,7 +7,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (shipmode)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan orders
+ dynamic filter (["orderkey"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
scan lineitem
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q13.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q13.plan.txt
index e30665fcb33b..e730726f91ea 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q13.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q13.plan.txt
@@ -10,7 +10,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (custkey)
join (RIGHT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q14.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q14.plan.txt
index e46c0418a759..e19b87ce562d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q14.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q14.plan.txt
@@ -4,7 +4,8 @@ final aggregation over ()
partial aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey_0"])
- scan part
+ dynamic filter (["partkey_0"])
+ scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
scan lineitem
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q15.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q15.plan.txt
index b9a65952a467..7658f101858e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q15.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q15.plan.txt
@@ -4,7 +4,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["suppkey"])
- scan supplier
+ dynamic filter (["suppkey"])
+ scan supplier
final aggregation over (suppkey_0)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_0"])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q16.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q16.plan.txt
index bd14aff914fd..a1efdba535c6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q16.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q16.plan.txt
@@ -12,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey"])
- scan partsupp
+ dynamic filter (["partkey"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_0"])
scan part
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q17.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q17.plan.txt
index 30539653b56b..87f067c1d9e9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q17.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q17.plan.txt
@@ -8,11 +8,13 @@ final aggregation over ()
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_5"])
partial aggregation over (partkey_5)
- scan lineitem
+ dynamic filter (["partkey_5"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["partkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan part
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q18.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q18.plan.txt
index 296a79e4c9cf..b5af485ab287 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q18.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q18.plan.txt
@@ -9,13 +9,15 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey_0"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan orders
+ dynamic filter (["custkey_0", "orderkey", "orderkey"])
+ scan orders
single aggregation over (orderkey_8)
final aggregation over (orderkey_8)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_8"])
partial aggregation over (orderkey_8)
- scan lineitem
+ dynamic filter (["orderkey_8"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q19.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q19.plan.txt
index e46c0418a759..e19b87ce562d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q19.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q19.plan.txt
@@ -4,7 +4,8 @@ final aggregation over ()
partial aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey_0"])
- scan part
+ dynamic filter (["partkey_0"])
+ scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
scan lineitem
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q20.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q20.plan.txt
index cb79004dac3a..c8ab7dea8470 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q20.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q20.plan.txt
@@ -12,12 +12,14 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_18", "suppkey_19"])
partial aggregation over (partkey_18, suppkey_19)
- scan lineitem
+ dynamic filter (["partkey_18", "suppkey_19", "suppkey_19"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey", "suppkey_5"])
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["partkey"])
- scan partsupp
+ dynamic filter (["partkey", "suppkey_5"])
+ scan partsupp
final aggregation over (partkey_11)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_11"])
@@ -30,7 +32,8 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q21.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q21.plan.txt
index a5c8b20e6ec8..91b44cd52391 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q21.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q21.plan.txt
@@ -11,16 +11,19 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (commitdate, name, name_9, nationkey, orderkey_13, orderstatus, receiptdate, suppkey_0, unique_54)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_13"])
- scan lineitem
+ dynamic filter (["orderkey_13"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["orderkey", "suppkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q22.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q22.plan.txt
index eba30d3c79d1..520878bed01b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q22.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/partitioned/q22.plan.txt
@@ -8,7 +8,8 @@ remote exchange (GATHER, SINGLE, [])
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey"])
cross join:
- scan customer
+ dynamic filter (["acctbal"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over ()
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q02.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q02.plan.txt
index 358da707a03d..bc5e2e079616 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q02.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q02.plan.txt
@@ -8,15 +8,18 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_19"])
partial aggregation over (partkey_19)
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["partkey_19", "suppkey_20"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey_29"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey_37"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
@@ -26,18 +29,21 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_5"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey_4"])
- scan partsupp
+ dynamic filter (["partkey_4", "suppkey_5"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q03.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q03.plan.txt
index f5cf1c82bd37..6b43a2922b47 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q03.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q03.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (orderdate, orderkey_4, shippriority)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_4"])
- scan lineitem
+ dynamic filter (["orderkey_4"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q04.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q04.plan.txt
index 91dcfd113534..655ae9102c9b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q04.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q04.plan.txt
@@ -10,7 +10,8 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
partial aggregation over (orderkey_0)
- scan lineitem
+ dynamic filter (["orderkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
scan orders
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q05.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q05.plan.txt
index 8d476b717a72..552e5f5d8101 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q05.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q05.plan.txt
@@ -9,20 +9,24 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["nationkey", "suppkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_4"])
- scan lineitem
+ dynamic filter (["orderkey_4", "suppkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["nationkey", "nationkey"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["nationkey_17", "regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q07.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q07.plan.txt
index 64d5f1fecd08..eb126c8e6c5d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q07.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q07.plan.txt
@@ -9,22 +9,26 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_4"])
- scan orders
+ dynamic filter (["custkey", "orderkey_4"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["suppkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey_8"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["nationkey_11"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q08.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q08.plan.txt
index 88f8a11f4445..6bf9dc00784b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q08.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q08.plan.txt
@@ -12,28 +12,33 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_9"])
- scan orders
+ dynamic filter (["custkey", "orderkey_9"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["partkey_4", "suppkey_5"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey_13"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["nationkey_16"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q09.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q09.plan.txt
index a55a51f232bd..fdb31d6425ed 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q09.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q09.plan.txt
@@ -13,13 +13,16 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_5"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey_4"])
- scan lineitem
+ dynamic filter (["orderkey", "partkey_4", "partkey_4", "suppkey_5", "suppkey_5"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
- scan part
+ dynamic filter (["partkey"])
+ scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
- scan supplier
+ dynamic filter (["nationkey", "suppkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_10"])
scan partsupp
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q10.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q10.plan.txt
index 7ab0ad56a3f1..1d813f011e8f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q10.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q10.plan.txt
@@ -6,12 +6,14 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_4"])
- scan customer
+ dynamic filter (["custkey_4", "nationkey"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan lineitem
+ dynamic filter (["orderkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
scan orders
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q11.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q11.plan.txt
index bfc5af4b5bb2..23b8747ebbc8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q11.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q11.plan.txt
@@ -7,11 +7,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
partial aggregation over (partkey)
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["suppkey"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
@@ -22,11 +24,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["suppkey_10"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey_19"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q12.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q12.plan.txt
index 7fb5b836dfa9..78a29b890283 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q12.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q12.plan.txt
@@ -7,7 +7,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (shipmode)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan orders
+ dynamic filter (["orderkey"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
scan lineitem
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q13.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q13.plan.txt
index e30665fcb33b..e730726f91ea 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q13.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q13.plan.txt
@@ -10,7 +10,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (custkey)
join (RIGHT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q14.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q14.plan.txt
index e46c0418a759..e19b87ce562d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q14.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q14.plan.txt
@@ -4,7 +4,8 @@ final aggregation over ()
partial aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey_0"])
- scan part
+ dynamic filter (["partkey_0"])
+ scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
scan lineitem
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q15.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q15.plan.txt
index b9a65952a467..7658f101858e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q15.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q15.plan.txt
@@ -4,7 +4,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["suppkey"])
- scan supplier
+ dynamic filter (["suppkey"])
+ scan supplier
final aggregation over (suppkey_0)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_0"])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q16.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q16.plan.txt
index bd14aff914fd..a1efdba535c6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q16.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q16.plan.txt
@@ -12,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey"])
- scan partsupp
+ dynamic filter (["partkey"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_0"])
scan part
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q17.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q17.plan.txt
index 30539653b56b..87f067c1d9e9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q17.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q17.plan.txt
@@ -8,11 +8,13 @@ final aggregation over ()
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_5"])
partial aggregation over (partkey_5)
- scan lineitem
+ dynamic filter (["partkey_5"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["partkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan part
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q18.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q18.plan.txt
index 296a79e4c9cf..b5af485ab287 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q18.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q18.plan.txt
@@ -9,13 +9,15 @@ local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey_0"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan orders
+ dynamic filter (["custkey_0", "orderkey", "orderkey"])
+ scan orders
single aggregation over (orderkey_8)
final aggregation over (orderkey_8)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_8"])
partial aggregation over (orderkey_8)
- scan lineitem
+ dynamic filter (["orderkey_8"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q19.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q19.plan.txt
index e46c0418a759..e19b87ce562d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q19.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q19.plan.txt
@@ -4,7 +4,8 @@ final aggregation over ()
partial aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey_0"])
- scan part
+ dynamic filter (["partkey_0"])
+ scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
scan lineitem
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q20.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q20.plan.txt
index cb79004dac3a..c8ab7dea8470 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q20.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q20.plan.txt
@@ -12,12 +12,14 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_18", "suppkey_19"])
partial aggregation over (partkey_18, suppkey_19)
- scan lineitem
+ dynamic filter (["partkey_18", "suppkey_19", "suppkey_19"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey", "suppkey_5"])
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["partkey"])
- scan partsupp
+ dynamic filter (["partkey", "suppkey_5"])
+ scan partsupp
final aggregation over (partkey_11)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_11"])
@@ -30,7 +32,8 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q21.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q21.plan.txt
index 313eb576ce37..ec175600cf53 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q21.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q21.plan.txt
@@ -11,19 +11,23 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (commitdate, name, name_9, nationkey, orderkey_13, orderstatus, receiptdate, suppkey_0, unique_54)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_13"])
- scan lineitem
+ dynamic filter (["orderkey_13"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_4"])
- scan orders
+ dynamic filter (["orderkey_4"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["suppkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q22.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q22.plan.txt
index eba30d3c79d1..520878bed01b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q22.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/orc/unpartitioned/q22.plan.txt
@@ -8,7 +8,8 @@ remote exchange (GATHER, SINGLE, [])
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey"])
cross join:
- scan customer
+ dynamic filter (["acctbal"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over ()
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q02.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q02.plan.txt
index 075fb157c432..7542f4c5507a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q02.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q02.plan.txt
@@ -8,15 +8,18 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_19"])
partial aggregation over (partkey_19)
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["partkey_19", "suppkey_20"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey_29"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey_37"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
@@ -25,18 +28,21 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["suppkey_5"])
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["partkey_4", "suppkey_5"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q03.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q03.plan.txt
index f5cf1c82bd37..6b43a2922b47 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q03.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q03.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (orderdate, orderkey_4, shippriority)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_4"])
- scan lineitem
+ dynamic filter (["orderkey_4"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q04.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q04.plan.txt
index 91dcfd113534..655ae9102c9b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q04.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q04.plan.txt
@@ -10,7 +10,8 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
partial aggregation over (orderkey_0)
- scan lineitem
+ dynamic filter (["orderkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
scan orders
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q05.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q05.plan.txt
index 8d476b717a72..552e5f5d8101 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q05.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q05.plan.txt
@@ -9,20 +9,24 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["nationkey", "suppkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_4"])
- scan lineitem
+ dynamic filter (["orderkey_4", "suppkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["nationkey", "nationkey"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["nationkey_17", "regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q07.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q07.plan.txt
index 64d5f1fecd08..eb126c8e6c5d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q07.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q07.plan.txt
@@ -9,22 +9,26 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_4"])
- scan orders
+ dynamic filter (["custkey", "orderkey_4"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["suppkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey_8"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["nationkey_11"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q08.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q08.plan.txt
index 88f8a11f4445..6bf9dc00784b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q08.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q08.plan.txt
@@ -12,28 +12,33 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_9"])
- scan orders
+ dynamic filter (["custkey", "orderkey_9"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["partkey_4", "suppkey_5"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey_13"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["nationkey_16"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q09.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q09.plan.txt
index a55a51f232bd..fdb31d6425ed 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q09.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q09.plan.txt
@@ -13,13 +13,16 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_5"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey_4"])
- scan lineitem
+ dynamic filter (["orderkey", "partkey_4", "partkey_4", "suppkey_5", "suppkey_5"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
- scan part
+ dynamic filter (["partkey"])
+ scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
- scan supplier
+ dynamic filter (["nationkey", "suppkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_10"])
scan partsupp
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q10.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q10.plan.txt
index 7ab0ad56a3f1..1d813f011e8f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q10.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q10.plan.txt
@@ -6,12 +6,14 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_4"])
- scan customer
+ dynamic filter (["custkey_4", "nationkey"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan lineitem
+ dynamic filter (["orderkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
scan orders
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q11.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q11.plan.txt
index bfc5af4b5bb2..23b8747ebbc8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q11.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q11.plan.txt
@@ -7,11 +7,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
partial aggregation over (partkey)
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["suppkey"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
@@ -22,11 +24,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["suppkey_10"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey_19"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q12.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q12.plan.txt
index 7fb5b836dfa9..78a29b890283 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q12.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q12.plan.txt
@@ -7,7 +7,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (shipmode)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan orders
+ dynamic filter (["orderkey"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
scan lineitem
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q13.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q13.plan.txt
index e30665fcb33b..e730726f91ea 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q13.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q13.plan.txt
@@ -10,7 +10,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (custkey)
join (RIGHT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q14.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q14.plan.txt
index e46c0418a759..e19b87ce562d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q14.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q14.plan.txt
@@ -4,7 +4,8 @@ final aggregation over ()
partial aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey_0"])
- scan part
+ dynamic filter (["partkey_0"])
+ scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
scan lineitem
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q15.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q15.plan.txt
index b9a65952a467..7658f101858e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q15.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q15.plan.txt
@@ -4,7 +4,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["suppkey"])
- scan supplier
+ dynamic filter (["suppkey"])
+ scan supplier
final aggregation over (suppkey_0)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_0"])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q16.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q16.plan.txt
index bd14aff914fd..a1efdba535c6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q16.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q16.plan.txt
@@ -12,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey"])
- scan partsupp
+ dynamic filter (["partkey"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_0"])
scan part
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q17.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q17.plan.txt
index 30539653b56b..87f067c1d9e9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q17.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q17.plan.txt
@@ -8,11 +8,13 @@ final aggregation over ()
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_5"])
partial aggregation over (partkey_5)
- scan lineitem
+ dynamic filter (["partkey_5"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["partkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan part
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q18.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q18.plan.txt
index 65c3835cf86a..f90cfa8176d7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q18.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q18.plan.txt
@@ -5,14 +5,16 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (custkey_0, name, orderdate, orderkey_4, totalprice)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_4"])
- scan lineitem
+ dynamic filter (["orderkey_4"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan orders
+ dynamic filter (["custkey_0", "orderkey"])
+ scan orders
single aggregation over (orderkey_8)
final aggregation over (orderkey_8)
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q19.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q19.plan.txt
index fa00639798fe..3280029142dd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q19.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q19.plan.txt
@@ -4,7 +4,8 @@ final aggregation over ()
partial aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey"])
- scan lineitem
+ dynamic filter (["partkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_0"])
scan part
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q20.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q20.plan.txt
index cb79004dac3a..c8ab7dea8470 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q20.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q20.plan.txt
@@ -12,12 +12,14 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_18", "suppkey_19"])
partial aggregation over (partkey_18, suppkey_19)
- scan lineitem
+ dynamic filter (["partkey_18", "suppkey_19", "suppkey_19"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey", "suppkey_5"])
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["partkey"])
- scan partsupp
+ dynamic filter (["partkey", "suppkey_5"])
+ scan partsupp
final aggregation over (partkey_11)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_11"])
@@ -30,7 +32,8 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q21.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q21.plan.txt
index 7d0cc36c8856..6422bcb9e7e6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q21.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q21.plan.txt
@@ -9,22 +9,26 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (commitdate, exists, name, name_9, nationkey, orderkey_13, orderstatus, receiptdate, suppkey_0, unique)
join (RIGHT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_32"])
- scan lineitem
+ dynamic filter (["orderkey_32"])
+ scan lineitem
final aggregation over (commitdate, name, name_9, nationkey, orderkey_13, orderstatus, receiptdate, suppkey_0, unique_54)
local exchange (GATHER, SINGLE, [])
partial aggregation over (commitdate, name, name_9, nationkey, orderkey_13, orderstatus, receiptdate, suppkey_0, unique_54)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_13"])
- scan lineitem
+ dynamic filter (["orderkey_13"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["orderkey", "suppkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q22.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q22.plan.txt
index eba30d3c79d1..520878bed01b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q22.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/partitioned/q22.plan.txt
@@ -8,7 +8,8 @@ remote exchange (GATHER, SINGLE, [])
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey"])
cross join:
- scan customer
+ dynamic filter (["acctbal"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over ()
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q02.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q02.plan.txt
index 075fb157c432..7542f4c5507a 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q02.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q02.plan.txt
@@ -8,15 +8,18 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_19"])
partial aggregation over (partkey_19)
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["partkey_19", "suppkey_20"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey_29"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey_37"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
@@ -25,18 +28,21 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["suppkey_5"])
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["partkey_4", "suppkey_5"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q03.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q03.plan.txt
index f5cf1c82bd37..6b43a2922b47 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q03.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q03.plan.txt
@@ -5,12 +5,14 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (orderdate, orderkey_4, shippriority)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_4"])
- scan lineitem
+ dynamic filter (["orderkey_4"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q04.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q04.plan.txt
index 91dcfd113534..655ae9102c9b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q04.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q04.plan.txt
@@ -10,7 +10,8 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
partial aggregation over (orderkey_0)
- scan lineitem
+ dynamic filter (["orderkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
scan orders
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q05.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q05.plan.txt
index 8d476b717a72..552e5f5d8101 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q05.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q05.plan.txt
@@ -9,20 +9,24 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["nationkey", "suppkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_4"])
- scan lineitem
+ dynamic filter (["orderkey_4", "suppkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["nationkey", "nationkey"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["nationkey_17", "regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q07.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q07.plan.txt
index 64d5f1fecd08..eb126c8e6c5d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q07.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q07.plan.txt
@@ -9,22 +9,26 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_4"])
- scan orders
+ dynamic filter (["custkey", "orderkey_4"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["suppkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey_8"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["nationkey_11"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q08.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q08.plan.txt
index 88f8a11f4445..6bf9dc00784b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q08.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q08.plan.txt
@@ -12,28 +12,33 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_9"])
- scan orders
+ dynamic filter (["custkey", "orderkey_9"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["partkey_4", "suppkey_5"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey_13"])
join (INNER, REPLICATED):
- scan customer
+ dynamic filter (["nationkey_16"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan nation
+ dynamic filter (["regionkey"])
+ scan nation
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan region
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q09.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q09.plan.txt
index a55a51f232bd..fdb31d6425ed 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q09.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q09.plan.txt
@@ -13,13 +13,16 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_5"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey_4"])
- scan lineitem
+ dynamic filter (["orderkey", "partkey_4", "partkey_4", "suppkey_5", "suppkey_5"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
- scan part
+ dynamic filter (["partkey"])
+ scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
- scan supplier
+ dynamic filter (["nationkey", "suppkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_10"])
scan partsupp
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q10.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q10.plan.txt
index 7ab0ad56a3f1..1d813f011e8f 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q10.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q10.plan.txt
@@ -6,12 +6,14 @@ local exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_4"])
- scan customer
+ dynamic filter (["custkey_4", "nationkey"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan lineitem
+ dynamic filter (["orderkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
scan orders
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q11.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q11.plan.txt
index bfc5af4b5bb2..23b8747ebbc8 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q11.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q11.plan.txt
@@ -7,11 +7,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
partial aggregation over (partkey)
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["suppkey"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
@@ -22,11 +24,13 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (GATHER, SINGLE, [])
partial aggregation over ()
join (INNER, REPLICATED):
- scan partsupp
+ dynamic filter (["suppkey_10"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey_19"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q12.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q12.plan.txt
index 7fb5b836dfa9..78a29b890283 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q12.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q12.plan.txt
@@ -7,7 +7,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (shipmode)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan orders
+ dynamic filter (["orderkey"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey_0"])
scan lineitem
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q13.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q13.plan.txt
index e30665fcb33b..e730726f91ea 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q13.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q13.plan.txt
@@ -10,7 +10,8 @@ remote exchange (GATHER, SINGLE, [])
partial aggregation over (custkey)
join (RIGHT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
- scan orders
+ dynamic filter (["custkey_0"])
+ scan orders
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["custkey"])
scan customer
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q14.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q14.plan.txt
index e46c0418a759..e19b87ce562d 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q14.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q14.plan.txt
@@ -4,7 +4,8 @@ final aggregation over ()
partial aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey_0"])
- scan part
+ dynamic filter (["partkey_0"])
+ scan part
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
scan lineitem
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q15.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q15.plan.txt
index b9a65952a467..7658f101858e 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q15.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q15.plan.txt
@@ -4,7 +4,8 @@ remote exchange (GATHER, SINGLE, [])
join (INNER, REPLICATED):
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["suppkey"])
- scan supplier
+ dynamic filter (["suppkey"])
+ scan supplier
final aggregation over (suppkey_0)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey_0"])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q16.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q16.plan.txt
index bd14aff914fd..a1efdba535c6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q16.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q16.plan.txt
@@ -12,7 +12,8 @@ remote exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey"])
- scan partsupp
+ dynamic filter (["partkey"])
+ scan partsupp
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_0"])
scan part
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q17.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q17.plan.txt
index 30539653b56b..87f067c1d9e9 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q17.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q17.plan.txt
@@ -8,11 +8,13 @@ final aggregation over ()
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_5"])
partial aggregation over (partkey_5)
- scan lineitem
+ dynamic filter (["partkey_5"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["partkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan part
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q18.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q18.plan.txt
index 65c3835cf86a..f90cfa8176d7 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q18.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q18.plan.txt
@@ -5,14 +5,16 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (custkey_0, name, orderdate, orderkey_4, totalprice)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_4"])
- scan lineitem
+ dynamic filter (["orderkey_4"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey_0"])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
- scan orders
+ dynamic filter (["custkey_0", "orderkey"])
+ scan orders
single aggregation over (orderkey_8)
final aggregation over (orderkey_8)
local exchange (GATHER, SINGLE, [])
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q19.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q19.plan.txt
index fa00639798fe..3280029142dd 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q19.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q19.plan.txt
@@ -4,7 +4,8 @@ final aggregation over ()
partial aggregation over ()
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["partkey"])
- scan lineitem
+ dynamic filter (["partkey"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_0"])
scan part
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q20.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q20.plan.txt
index cb79004dac3a..c8ab7dea8470 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q20.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q20.plan.txt
@@ -12,12 +12,14 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_18", "suppkey_19"])
partial aggregation over (partkey_18, suppkey_19)
- scan lineitem
+ dynamic filter (["partkey_18", "suppkey_19", "suppkey_19"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey", "suppkey_5"])
join (INNER, PARTITIONED, can skip output duplicates):
remote exchange (REPARTITION, HASH, ["partkey"])
- scan partsupp
+ dynamic filter (["partkey", "suppkey_5"])
+ scan partsupp
final aggregation over (partkey_11)
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["partkey_11"])
@@ -30,7 +32,8 @@ remote exchange (GATHER, SINGLE, [])
local exchange (GATHER, SINGLE, [])
remote exchange (REPARTITION, HASH, ["suppkey"])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q21.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q21.plan.txt
index 7d0cc36c8856..6422bcb9e7e6 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q21.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q21.plan.txt
@@ -9,22 +9,26 @@ local exchange (GATHER, SINGLE, [])
partial aggregation over (commitdate, exists, name, name_9, nationkey, orderkey_13, orderstatus, receiptdate, suppkey_0, unique)
join (RIGHT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_32"])
- scan lineitem
+ dynamic filter (["orderkey_32"])
+ scan lineitem
final aggregation over (commitdate, name, name_9, nationkey, orderkey_13, orderstatus, receiptdate, suppkey_0, unique_54)
local exchange (GATHER, SINGLE, [])
partial aggregation over (commitdate, name, name_9, nationkey, orderkey_13, orderstatus, receiptdate, suppkey_0, unique_54)
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey_13"])
- scan lineitem
+ dynamic filter (["orderkey_13"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
join (INNER, PARTITIONED):
remote exchange (REPARTITION, HASH, ["orderkey"])
join (INNER, REPLICATED):
- scan lineitem
+ dynamic filter (["orderkey", "suppkey_0"])
+ scan lineitem
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
join (INNER, REPLICATED):
- scan supplier
+ dynamic filter (["nationkey"])
+ scan supplier
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
scan nation
diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q22.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q22.plan.txt
index eba30d3c79d1..520878bed01b 100644
--- a/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q22.plan.txt
+++ b/testing/trino-tests/src/test/resources/sql/presto/tpch/iceberg/parquet/unpartitioned/q22.plan.txt
@@ -8,7 +8,8 @@ remote exchange (GATHER, SINGLE, [])
join (LEFT, PARTITIONED):
remote exchange (REPARTITION, HASH, ["custkey"])
cross join:
- scan customer
+ dynamic filter (["acctbal"])
+ scan customer
local exchange (GATHER, SINGLE, [])
remote exchange (REPLICATE, BROADCAST, [])
final aggregation over ()