diff --git a/core/trino-main/src/main/java/io/trino/sql/planner/SubqueryPlanner.java b/core/trino-main/src/main/java/io/trino/sql/planner/SubqueryPlanner.java index 4d9656b37094..3ed9583276f3 100644 --- a/core/trino-main/src/main/java/io/trino/sql/planner/SubqueryPlanner.java +++ b/core/trino-main/src/main/java/io/trino/sql/planner/SubqueryPlanner.java @@ -268,7 +268,7 @@ private PlanBuilder planScalarSubquery(PlanBuilder subPlan, Cluster builder + join(LEFT, builder -> builder .equiCriteria("cast_b", "cast_a") .left( project( @@ -228,7 +228,7 @@ public void testCorrelatedSubqueriesWithTopN() "SELECT (SELECT t.a FROM (VALUES 1, 2, 3, 4, 5) t(a) WHERE t.a = t2.b * t2.c - 1 ORDER BY a LIMIT 1) FROM (VALUES (1, 2), (2, 3)) t2(b, c)", "VALUES 1, 5", output( - join(INNER, builder -> builder + join(LEFT, builder -> builder .equiCriteria("expr", "a") .left( project( diff --git a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q09.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q09.plan.txt index 4466a2d88feb..cbcd78f04da6 100644 --- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q09.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/partitioned/q09.plan.txt @@ -1,93 +1,122 @@ -cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - scan reason - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales +join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, []) + scan reason + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales 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 a38e81074509..d524385f72f4 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 @@ -8,8 +8,8 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, ["ss_customer_sk"]) partial aggregation over (ss_customer_sk) - cross join: - cross join: + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): dynamic filter (["ss_customer_sk", "ss_sold_date_sk"]) @@ -48,8 +48,7 @@ local exchange (GATHER, SINGLE, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (["d_month_seq_26"]) - scan date_dim + 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/q09.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q09.plan.txt index 4466a2d88feb..cbcd78f04da6 100644 --- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q09.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/hive/unpartitioned/q09.plan.txt @@ -1,93 +1,122 @@ -cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - scan reason - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales +join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, []) + scan reason + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales 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 6b99ed23c254..623a7d64ea2c 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 @@ -8,8 +8,8 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, ["ss_customer_sk"]) partial aggregation over (ss_customer_sk) - cross join: - cross join: + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): dynamic filter (["ss_customer_sk", "ss_sold_date_sk"]) @@ -48,8 +48,7 @@ local exchange (GATHER, SINGLE, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (["d_month_seq_24"]) - scan date_dim + 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/q09.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q09.plan.txt index 4466a2d88feb..cbcd78f04da6 100644 --- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q09.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/partitioned/q09.plan.txt @@ -1,93 +1,122 @@ -cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - scan reason - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales +join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, []) + scan reason + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales 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 5806dc346635..851fa255cf39 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 @@ -8,8 +8,8 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, ["ss_customer_sk"]) partial aggregation over (ss_customer_sk) - cross join: - cross join: + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): dynamic filter (["ss_customer_sk", "ss_sold_date_sk"]) @@ -48,8 +48,7 @@ local exchange (GATHER, SINGLE, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (["d_month_seq_17"]) - scan date_dim + 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/q09.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q09.plan.txt index 4466a2d88feb..cbcd78f04da6 100644 --- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q09.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/orc/unpartitioned/q09.plan.txt @@ -1,93 +1,122 @@ -cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - scan reason - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales +join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, []) + scan reason + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales 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 5806dc346635..851fa255cf39 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 @@ -8,8 +8,8 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, ["ss_customer_sk"]) partial aggregation over (ss_customer_sk) - cross join: - cross join: + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): dynamic filter (["ss_customer_sk", "ss_sold_date_sk"]) @@ -48,8 +48,7 @@ local exchange (GATHER, SINGLE, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (["d_month_seq_17"]) - scan date_dim + 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/q09.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q09.plan.txt index 4466a2d88feb..cbcd78f04da6 100644 --- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q09.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/partitioned/q09.plan.txt @@ -1,93 +1,122 @@ -cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - scan reason - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales +join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, []) + scan reason + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales 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 5806dc346635..851fa255cf39 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 @@ -8,8 +8,8 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, ["ss_customer_sk"]) partial aggregation over (ss_customer_sk) - cross join: - cross join: + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): dynamic filter (["ss_customer_sk", "ss_sold_date_sk"]) @@ -48,8 +48,7 @@ local exchange (GATHER, SINGLE, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (["d_month_seq_17"]) - scan date_dim + 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/q09.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q09.plan.txt index 5660bb85f04e..cbcd78f04da6 100644 --- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q09.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg/parquet/unpartitioned/q09.plan.txt @@ -1,93 +1,122 @@ -cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - cross join: - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - scan reason +join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, []) + scan reason + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales 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 5806dc346635..851fa255cf39 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 @@ -8,8 +8,8 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, ["ss_customer_sk"]) partial aggregation over (ss_customer_sk) - cross join: - cross join: + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): dynamic filter (["ss_customer_sk", "ss_sold_date_sk"]) @@ -48,8 +48,7 @@ local exchange (GATHER, SINGLE, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (["d_month_seq_17"]) - scan date_dim + 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/q09.plan.txt b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q09.plan.txt index 4466a2d88feb..510c370f94d9 100644 --- a/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q09.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/presto/tpcds/iceberg_small_files/parquet/unpartitioned/q09.plan.txt @@ -1,93 +1,122 @@ -cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: - cross join: +join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): + join (RIGHT, PARTITIONED): + remote exchange (REPARTITION, HASH, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, []) + scan reason + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over () + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + partial aggregation over () + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - scan reason + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales - final aggregation over () - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - partial aggregation over () - scan store_sales 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 f578993e3014..b49678e02521 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 @@ -8,8 +8,8 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, ["customer_sk"]) partial aggregation over (customer_sk) - cross join: - cross join: + join (LEFT, REPLICATED): + join (LEFT, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): join (INNER, PARTITIONED): @@ -50,8 +50,7 @@ local exchange (GATHER, SINGLE, []) scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (["d_month_seq_17"]) - scan date_dim + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) local exchange (GATHER, SINGLE, [])