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 e57ebef5fb5c..68206b5a744b 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 @@ -54,6 +54,7 @@ import static com.google.common.io.Files.write; import static com.google.common.io.Resources.getResource; import static io.trino.Session.SessionBuilder; +import static io.trino.SystemSessionProperties.IGNORE_STATS_CALCULATOR_FAILURES; import static io.trino.SystemSessionProperties.JOIN_DISTRIBUTION_TYPE; import static io.trino.SystemSessionProperties.JOIN_REORDERING_STRATEGY; import static io.trino.execution.querystats.PlanOptimizersStatsCollector.createPlanOptimizersStatsCollector; @@ -108,7 +109,8 @@ protected PlanTester createPlanTester() .setSystemProperty("filter_conjunction_independence_factor", "0.750000001") .setSystemProperty("task_concurrency", "1") // these tests don't handle exchanges from local parallel .setSystemProperty(JOIN_REORDERING_STRATEGY, JoinReorderingStrategy.AUTOMATIC.name()) - .setSystemProperty(JOIN_DISTRIBUTION_TYPE, JoinDistributionType.AUTOMATIC.name()); + .setSystemProperty(JOIN_DISTRIBUTION_TYPE, JoinDistributionType.AUTOMATIC.name()) + .setSystemProperty(IGNORE_STATS_CALCULATOR_FAILURES, "false"); PlanTester planTester = PlanTester.create(sessionBuilder.build(), 8); planTester.createCatalog( CATALOG_NAME, diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/call_center/metadata/00001-e89d97b2-9b2d-47ff-b99d-6651df79a90f.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/call_center/metadata/00001-e89d97b2-9b2d-47ff-b99d-6651df79a90f.metadata.json index 3feb2cee1258..181b474c13d0 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/call_center/metadata/00001-e89d97b2-9b2d-47ff-b99d-6651df79a90f.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/call_center/metadata/00001-e89d97b2-9b2d-47ff-b99d-6651df79a90f.metadata.json @@ -328,37 +328,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.22.ndv" : "11", - "trino.stats.ndv.7.ndv" : "21", - "trino.stats.ndv.2.ndv" : "21", - "trino.stats.ndv.27.ndv" : "19", - "trino.stats.ndv.19.ndv" : "6", - "trino.stats.ndv.30.ndv" : "12", - "trino.stats.ndv.18.ndv" : "6", - "trino.stats.ndv.14.ndv" : "36", - "trino.stats.ndv.23.ndv" : "18", - "trino.stats.ndv.8.ndv" : "3", - "trino.stats.ndv.21.ndv" : "21", - "trino.stats.ndv.3.ndv" : "4", - "write.format.default" : "PARQUET", - "trino.stats.ndv.17.ndv" : "6", - "trino.stats.ndv.13.ndv" : "6", - "trino.stats.ndv.26.ndv" : "14", - "trino.stats.ndv.16.ndv" : "35", - "trino.stats.ndv.4.ndv" : "3", - "trino.stats.ndv.5.ndv" : "0", - "trino.stats.ndv.29.ndv" : "4", - "trino.stats.ndv.9.ndv" : "30", - "trino.stats.ndv.12.ndv" : "28", - "trino.stats.ndv.25.ndv" : "16", - "trino.stats.ndv.10.ndv" : "31", - "trino.stats.ndv.1.ndv" : "42", - "trino.stats.ndv.28.ndv" : "1", - "trino.stats.ndv.15.ndv" : "33", - "trino.stats.ndv.6.ndv" : "21", - "trino.stats.ndv.20.ndv" : "21", - "trino.stats.ndv.24.ndv" : "17", - "trino.stats.ndv.11.ndv" : "3" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 5654429153846711549, "refs" : { @@ -386,6 +356,253 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/call_center/metadata/snap-5654429153846711549-1-e21023b4-6337-466c-8a49-ca737e4de1e6.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 5654429153846711549, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/call_center/metadata/20240320_234729_02755_t6z6k-1aa950ab-622d-4a56-af69-53d32ce15128.stats", + "file-size-in-bytes" : 10477, + "file-footer-size-in-bytes" : 5701, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "42" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "21" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "4" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "3" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "0" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "21" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "21" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "3" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "30" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "31" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 11 ], + "properties" : { + "ndv" : "3" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 12 ], + "properties" : { + "ndv" : "28" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 13 ], + "properties" : { + "ndv" : "6" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 14 ], + "properties" : { + "ndv" : "36" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 15 ], + "properties" : { + "ndv" : "33" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 16 ], + "properties" : { + "ndv" : "35" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 17 ], + "properties" : { + "ndv" : "6" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 18 ], + "properties" : { + "ndv" : "6" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 19 ], + "properties" : { + "ndv" : "6" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 20 ], + "properties" : { + "ndv" : "21" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 21 ], + "properties" : { + "ndv" : "21" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 22 ], + "properties" : { + "ndv" : "11" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 23 ], + "properties" : { + "ndv" : "18" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 24 ], + "properties" : { + "ndv" : "17" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 25 ], + "properties" : { + "ndv" : "16" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 26 ], + "properties" : { + "ndv" : "14" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 27 ], + "properties" : { + "ndv" : "19" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 28 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 29 ], + "properties" : { + "ndv" : "4" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5654429153846711549, + "sequence-number" : 2, + "fields" : [ 30 ], + "properties" : { + "ndv" : "12" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648081195882, "snapshot-id" : 5654429153846711549 @@ -394,4 +611,4 @@ "timestamp-ms" : 1648081195882, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/call_center/metadata/00000-f7996e1b-6f13-4cc6-92f6-e9a0de2d1cab.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/call_center/metadata/20240320_234729_02755_t6z6k-1aa950ab-622d-4a56-af69-53d32ce15128.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/call_center/metadata/20240320_234729_02755_t6z6k-1aa950ab-622d-4a56-af69-53d32ce15128.stats new file mode 100644 index 000000000000..c96fbd086d42 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/call_center/metadata/20240320_234729_02755_t6z6k-1aa950ab-622d-4a56-af69-53d32ce15128.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_page/metadata/00001-f71cfe6e-55e3-41b5-880a-5147a972c288.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_page/metadata/00001-f71cfe6e-55e3-41b5-880a-5147a972c288.metadata.json index 28d8aed2b251..4f66360b0798 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_page/metadata/00001-f71cfe6e-55e3-41b5-880a-5147a972c288.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_page/metadata/00001-f71cfe6e-55e3-41b5-880a-5147a972c288.metadata.json @@ -118,16 +118,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.7.ndv" : "273", - "trino.stats.ndv.2.ndv" : "29136", - "trino.stats.ndv.8.ndv" : "29704", - "trino.stats.ndv.1.ndv" : "29928", - "trino.stats.ndv.3.ndv" : "91", - "trino.stats.ndv.6.ndv" : "109", - "write.format.default" : "PARQUET", - "trino.stats.ndv.4.ndv" : "97", - "trino.stats.ndv.5.ndv" : "1", - "trino.stats.ndv.9.ndv" : "3" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 8481719299089367901, "refs" : { @@ -155,6 +146,85 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/catalog_page/metadata/snap-8481719299089367901-1-c80f6b66-1991-4295-b758-8a103f131278.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 8481719299089367901, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/catalog_page/metadata/20240320_234732_02756_t6z6k-42b2b6b6-1773-488f-9708-e51d2aafd95f.stats", + "file-size-in-bytes" : 105020, + "file-footer-size-in-bytes" : 1804, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8481719299089367901, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "29851" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8481719299089367901, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "30219" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8481719299089367901, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "91" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8481719299089367901, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "97" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8481719299089367901, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8481719299089367901, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "109" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8481719299089367901, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "277" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8481719299089367901, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "28777" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8481719299089367901, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "3" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648081199134, "snapshot-id" : 8481719299089367901 @@ -163,4 +233,4 @@ "timestamp-ms" : 1648081199134, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/catalog_page/metadata/00000-332e624c-b685-40f5-8d5f-57d4ef5f8412.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_page/metadata/20240320_234732_02756_t6z6k-42b2b6b6-1773-488f-9708-e51d2aafd95f.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_page/metadata/20240320_234732_02756_t6z6k-42b2b6b6-1773-488f-9708-e51d2aafd95f.stats new file mode 100644 index 000000000000..8a14e7c8f762 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_page/metadata/20240320_234732_02756_t6z6k-42b2b6b6-1773-488f-9708-e51d2aafd95f.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_returns/metadata/00001-535dd9c7-f58d-4caf-a091-9d9f69ccf38a.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_returns/metadata/00001-535dd9c7-f58d-4caf-a091-9d9f69ccf38a.metadata.json index c2824b5e9c50..5a7b28348c02 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_returns/metadata/00001-535dd9c7-f58d-4caf-a091-9d9f69ccf38a.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_returns/metadata/00001-535dd9c7-f58d-4caf-a091-9d9f69ccf38a.metadata.json @@ -308,34 +308,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.22.ndv" : "475083", - "trino.stats.ndv.2.ndv" : "297612", - "trino.stats.ndv.7.ndv" : "12236563", - "trino.stats.ndv.27.ndv" : "2141", - "trino.stats.ndv.19.ndv" : "152629", - "trino.stats.ndv.18.ndv" : "891994", - "trino.stats.ndv.14.ndv" : "20", - "trino.stats.ndv.23.ndv" : "1084039", - "trino.stats.ndv.21.ndv" : "10141", - "trino.stats.ndv.8.ndv" : "1890006", - "trino.stats.ndv.3.ndv" : "12236563", - "write.format.default" : "PARQUET", - "trino.stats.ndv.17.ndv" : "100", - "trino.stats.ndv.13.ndv" : "20", - "trino.stats.ndv.26.ndv" : "906299", - "trino.stats.ndv.16.ndv" : "95523325", - "trino.stats.ndv.4.ndv" : "1890006", - "trino.stats.ndv.5.ndv" : "7082", - "trino.stats.ndv.9.ndv" : "7082", - "trino.stats.ndv.12.ndv" : "16739", - "trino.stats.ndv.25.ndv" : "795604", - "trino.stats.ndv.10.ndv" : "5947530", - "trino.stats.ndv.1.ndv" : "89157", - "trino.stats.ndv.15.ndv" : "65", - "trino.stats.ndv.6.ndv" : "5947530", - "trino.stats.ndv.20.ndv" : "1528121", - "trino.stats.ndv.24.ndv" : "808456", - "trino.stats.ndv.11.ndv" : "42" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 3711210276322022202, "refs" : { @@ -363,6 +336,229 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/catalog_returns/metadata/snap-3711210276322022202-1-0e607888-8425-44d1-a805-3fa09850a308.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 3711210276322022202, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/catalog_returns/metadata/20240320_234734_02757_t6z6k-48dbc321-0664-4f13-afeb-b797ea31b393.stats", + "file-size-in-bytes" : 677223, + "file-footer-size-in-bytes" : 5349, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "2104" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "83615" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "302044" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "11963339" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "1930039" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "7173" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "6043919" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "11975335" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "1930039" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "7164" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 11 ], + "properties" : { + "ndv" : "6043919" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 12 ], + "properties" : { + "ndv" : "42" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 13 ], + "properties" : { + "ndv" : "16585" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 14 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 15 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 16 ], + "properties" : { + "ndv" : "65" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 17 ], + "properties" : { + "ndv" : "97435148" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 18 ], + "properties" : { + "ndv" : "100" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 19 ], + "properties" : { + "ndv" : "921597" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 20 ], + "properties" : { + "ndv" : "153243" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 21 ], + "properties" : { + "ndv" : "1525129" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 22 ], + "properties" : { + "ndv" : "9789" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 23 ], + "properties" : { + "ndv" : "494944" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 24 ], + "properties" : { + "ndv" : "1133511" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 25 ], + "properties" : { + "ndv" : "842668" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 26 ], + "properties" : { + "ndv" : "826521" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3711210276322022202, + "sequence-number" : 2, + "fields" : [ 27 ], + "properties" : { + "ndv" : "936868" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648081623191, "snapshot-id" : 3711210276322022202 @@ -371,4 +567,4 @@ "timestamp-ms" : 1648081623191, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/catalog_returns/metadata/00000-5a704af0-8c39-412f-9e3f-b7db771ab8ba.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_returns/metadata/20240320_234734_02757_t6z6k-48dbc321-0664-4f13-afeb-b797ea31b393.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_returns/metadata/20240320_234734_02757_t6z6k-48dbc321-0664-4f13-afeb-b797ea31b393.stats new file mode 100644 index 000000000000..0a7531e96fab Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_returns/metadata/20240320_234734_02757_t6z6k-48dbc321-0664-4f13-afeb-b797ea31b393.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_sales/metadata/00001-614bb4de-488f-47fa-b807-878548c039ed.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_sales/metadata/00001-614bb4de-488f-47fa-b807-878548c039ed.metadata.json index b817f1bc3b33..9e392b18d028 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_sales/metadata/00001-614bb4de-488f-47fa-b807-878548c039ed.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_sales/metadata/00001-614bb4de-488f-47fa-b807-878548c039ed.metadata.json @@ -378,41 +378,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.22.ndv" : "1070707", - "trino.stats.ndv.2.ndv" : "1950", - "trino.stats.ndv.7.ndv" : "12236563", - "trino.stats.ndv.27.ndv" : "1568468", - "trino.stats.ndv.30.ndv" : "2432400", - "trino.stats.ndv.19.ndv" : "10091", - "trino.stats.ndv.18.ndv" : "100", - "trino.stats.ndv.14.ndv" : "20", - "trino.stats.ndv.23.ndv" : "1067497", - "trino.stats.ndv.34.ndv" : "1828", - "trino.stats.ndv.21.ndv" : "29691", - "trino.stats.ndv.8.ndv" : "1890006", - "trino.stats.ndv.3.ndv" : "12236563", - "write.format.default" : "PARQUET", - "trino.stats.ndv.17.ndv" : "165467466", - "trino.stats.ndv.31.ndv" : "2468889", - "trino.stats.ndv.13.ndv" : "20", - "trino.stats.ndv.26.ndv" : "216236", - "trino.stats.ndv.16.ndv" : "1483", - "trino.stats.ndv.33.ndv" : "2073314", - "trino.stats.ndv.4.ndv" : "1890006", - "trino.stats.ndv.5.ndv" : "7082", - "trino.stats.ndv.29.ndv" : "1810472", - "trino.stats.ndv.9.ndv" : "7082", - "trino.stats.ndv.12.ndv" : "16739", - "trino.stats.ndv.25.ndv" : "1115360", - "trino.stats.ndv.10.ndv" : "5947530", - "trino.stats.ndv.1.ndv" : "89157", - "trino.stats.ndv.28.ndv" : "553991", - "trino.stats.ndv.15.ndv" : "297612", - "trino.stats.ndv.6.ndv" : "5947530", - "trino.stats.ndv.32.ndv" : "3332491", - "trino.stats.ndv.20.ndv" : "29733", - "trino.stats.ndv.24.ndv" : "388752", - "trino.stats.ndv.11.ndv" : "42" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 1524015146186969396, "refs" : { @@ -440,6 +406,285 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/catalog_sales/metadata/snap-1524015146186969396-1-bffa6a85-351c-4221-9149-e24f845e0aab.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 1524015146186969396, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/catalog_sales/metadata/20240320_234751_02541_9k3bk-43c7ff32-bcc9-4d48-80a7-c8597d37d65c.stats", + "file-size-in-bytes" : 890306, + "file-footer-size-in-bytes" : 6728, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "1836" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "83643" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "1928" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "11975335" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "1930039" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "7166" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "6043919" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "11975335" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "1930039" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "7164" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 11 ], + "properties" : { + "ndv" : "6043919" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 12 ], + "properties" : { + "ndv" : "42" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 13 ], + "properties" : { + "ndv" : "16624" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 14 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 15 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 16 ], + "properties" : { + "ndv" : "302044" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 17 ], + "properties" : { + "ndv" : "1500" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 18 ], + "properties" : { + "ndv" : "166417940" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 19 ], + "properties" : { + "ndv" : "100" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 20 ], + "properties" : { + "ndv" : "9753" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 21 ], + "properties" : { + "ndv" : "30031" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 22 ], + "properties" : { + "ndv" : "29987" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 23 ], + "properties" : { + "ndv" : "1116930" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 24 ], + "properties" : { + "ndv" : "1119582" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 25 ], + "properties" : { + "ndv" : "403891" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 26 ], + "properties" : { + "ndv" : "1165513" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 27 ], + "properties" : { + "ndv" : "222457" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 28 ], + "properties" : { + "ndv" : "1567820" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 29 ], + "properties" : { + "ndv" : "588896" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 30 ], + "properties" : { + "ndv" : "1783102" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 31 ], + "properties" : { + "ndv" : "2376917" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 32 ], + "properties" : { + "ndv" : "2489527" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 33 ], + "properties" : { + "ndv" : "3222864" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 1524015146186969396, + "sequence-number" : 2, + "fields" : [ 34 ], + "properties" : { + "ndv" : "2128149" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648084884149, "snapshot-id" : 1524015146186969396 @@ -448,4 +693,4 @@ "timestamp-ms" : 1648084884149, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/catalog_sales/metadata/00000-2dbda7b7-b41d-435e-adf4-c7180a1c42a6.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_sales/metadata/20240320_234751_02541_9k3bk-43c7ff32-bcc9-4d48-80a7-c8597d37d65c.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_sales/metadata/20240320_234751_02541_9k3bk-43c7ff32-bcc9-4d48-80a7-c8597d37d65c.stats new file mode 100644 index 000000000000..4466242be46c Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/catalog_sales/metadata/20240320_234751_02541_9k3bk-43c7ff32-bcc9-4d48-80a7-c8597d37d65c.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer/metadata/00001-bc8cb648-42d6-4481-b109-a6e77d653c8b.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer/metadata/00001-bc8cb648-42d6-4481-b109-a6e77d653c8b.metadata.json index 9dd23d74f655..849ded21031e 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer/metadata/00001-bc8cb648-42d6-4481-b109-a6e77d653c8b.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer/metadata/00001-bc8cb648-42d6-4481-b109-a6e77d653c8b.metadata.json @@ -208,25 +208,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.7.ndv" : "3600", - "trino.stats.ndv.2.ndv" : "12676712", - "trino.stats.ndv.16.ndv" : "0", - "trino.stats.ndv.4.ndv" : "7082", - "trino.stats.ndv.5.ndv" : "5119047", - "trino.stats.ndv.18.ndv" : "368", - "trino.stats.ndv.9.ndv" : "5151", - "trino.stats.ndv.14.ndv" : "69", - "trino.stats.ndv.12.ndv" : "31", - "trino.stats.ndv.10.ndv" : "5019", - "trino.stats.ndv.1.ndv" : "12236563", - "trino.stats.ndv.8.ndv" : "6", - "trino.stats.ndv.15.ndv" : "211", - "trino.stats.ndv.6.ndv" : "3597", - "trino.stats.ndv.3.ndv" : "1889141", - "write.format.default" : "PARQUET", - "trino.stats.ndv.17.ndv" : "11748147", - "trino.stats.ndv.13.ndv" : "12", - "trino.stats.ndv.11.ndv" : "2" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 2201162249508106077, "refs" : { @@ -254,6 +236,157 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/customer/metadata/snap-2201162249508106077-1-384651b4-d41a-43fe-9b7b-b1ce97b12f81.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 2201162249508106077, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/customer/metadata/20240320_234832_02760_t6z6k-5622964d-552a-4782-8283-ae74a3553a1e.stats", + "file-size-in-bytes" : 317507, + "file-footer-size-in-bytes" : 3560, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "11975335" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "11986190" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "1929074" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "7165" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "5238268" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "3651" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "3651" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "6" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "5104" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "4950" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 11 ], + "properties" : { + "ndv" : "2" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 12 ], + "properties" : { + "ndv" : "31" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 13 ], + "properties" : { + "ndv" : "12" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 14 ], + "properties" : { + "ndv" : "69" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 15 ], + "properties" : { + "ndv" : "211" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 16 ], + "properties" : { + "ndv" : "0" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 17 ], + "properties" : { + "ndv" : "11462955" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2201162249508106077, + "sequence-number" : 2, + "fields" : [ 18 ], + "properties" : { + "ndv" : "366" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648081220181, "snapshot-id" : 2201162249508106077 @@ -262,4 +395,4 @@ "timestamp-ms" : 1648081220181, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/customer/metadata/00000-c81f4e20-55e7-408e-8fe0-c6c22a7d8db5.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer/metadata/20240320_234832_02760_t6z6k-5622964d-552a-4782-8283-ae74a3553a1e.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer/metadata/20240320_234832_02760_t6z6k-5622964d-552a-4782-8283-ae74a3553a1e.stats new file mode 100644 index 000000000000..940311686659 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer/metadata/20240320_234832_02760_t6z6k-5622964d-552a-4782-8283-ae74a3553a1e.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer_address/metadata/00001-b07d6011-b792-4256-b355-f7a7bb59ff30.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer_address/metadata/00001-b07d6011-b792-4256-b355-f7a7bb59ff30.metadata.json index 4897c3863dcb..e2b87358e921 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer_address/metadata/00001-b07d6011-b792-4256-b355-f7a7bb59ff30.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer_address/metadata/00001-b07d6011-b792-4256-b355-f7a7bb59ff30.metadata.json @@ -158,20 +158,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.2.ndv" : "5976963", - "trino.stats.ndv.7.ndv" : "980", - "trino.stats.ndv.4.ndv" : "8279", - "trino.stats.ndv.5.ndv" : "20", - "trino.stats.ndv.9.ndv" : "51", - "trino.stats.ndv.12.ndv" : "6", - "trino.stats.ndv.10.ndv" : "9232", - "trino.stats.ndv.8.ndv" : "1815", - "trino.stats.ndv.1.ndv" : "5947530", - "trino.stats.ndv.6.ndv" : "75", - "trino.stats.ndv.3.ndv" : "1019", - "write.format.default" : "PARQUET", - "trino.stats.ndv.13.ndv" : "3", - "trino.stats.ndv.11.ndv" : "1" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 3308787911813009439, "refs" : { @@ -199,6 +186,117 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/customer_address/metadata/snap-3308787911813009439-1-e4e9211a-0cd9-4034-9266-c7722c1b7559.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 3308787911813009439, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/customer_address/metadata/20240320_234846_02761_t6z6k-ffbf4a3e-e39d-42a2-8085-c70fefcb7d53.stats", + "file-size-in-bytes" : 161428, + "file-footer-size-in-bytes" : 2579, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3308787911813009439, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "6043919" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3308787911813009439, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "6133651" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3308787911813009439, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "1000" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3308787911813009439, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "8294" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3308787911813009439, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3308787911813009439, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "75" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3308787911813009439, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "986" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3308787911813009439, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "1846" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3308787911813009439, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "51" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3308787911813009439, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "9283" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3308787911813009439, + "sequence-number" : 2, + "fields" : [ 11 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3308787911813009439, + "sequence-number" : 2, + "fields" : [ 12 ], + "properties" : { + "ndv" : "6" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3308787911813009439, + "sequence-number" : 2, + "fields" : [ 13 ], + "properties" : { + "ndv" : "3" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648081228935, "snapshot-id" : 3308787911813009439 @@ -207,4 +305,4 @@ "timestamp-ms" : 1648081228935, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/customer_address/metadata/00000-3c5e5c24-68cd-4bfc-b020-4ea48fedcbe6.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer_address/metadata/20240320_234846_02761_t6z6k-ffbf4a3e-e39d-42a2-8085-c70fefcb7d53.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer_address/metadata/20240320_234846_02761_t6z6k-ffbf4a3e-e39d-42a2-8085-c70fefcb7d53.stats new file mode 100644 index 000000000000..83ad62ea380f Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer_address/metadata/20240320_234846_02761_t6z6k-ffbf4a3e-e39d-42a2-8085-c70fefcb7d53.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer_demographics/metadata/00001-5c1100bd-e0de-4f2b-bd05-5f9c3a482dcb.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer_demographics/metadata/00001-5c1100bd-e0de-4f2b-bd05-5f9c3a482dcb.metadata.json index 6f3b6a6f6705..be353fd996fa 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer_demographics/metadata/00001-5c1100bd-e0de-4f2b-bd05-5f9c3a482dcb.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer_demographics/metadata/00001-5c1100bd-e0de-4f2b-bd05-5f9c3a482dcb.metadata.json @@ -118,16 +118,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.7.ndv" : "7", - "trino.stats.ndv.2.ndv" : "2", - "trino.stats.ndv.1.ndv" : "1890006", - "trino.stats.ndv.8.ndv" : "7", - "trino.stats.ndv.3.ndv" : "5", - "trino.stats.ndv.6.ndv" : "4", - "write.format.default" : "PARQUET", - "trino.stats.ndv.4.ndv" : "7", - "trino.stats.ndv.5.ndv" : "20", - "trino.stats.ndv.9.ndv" : "7" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 7513288259375812719, "refs" : { @@ -155,6 +146,85 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/customer_demographics/metadata/snap-7513288259375812719-1-da89f5c2-ecbf-4b3e-8734-19add5f223b2.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 7513288259375812719, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/customer_demographics/metadata/20240320_234853_02762_t6z6k-5eeb9345-2f7b-40de-af54-eb608a729551.stats", + "file-size-in-bytes" : 33342, + "file-footer-size-in-bytes" : 1782, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 7513288259375812719, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "1930039" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 7513288259375812719, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "2" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 7513288259375812719, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "5" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 7513288259375812719, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "7" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 7513288259375812719, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 7513288259375812719, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "4" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 7513288259375812719, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "7" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 7513288259375812719, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "7" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 7513288259375812719, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "7" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648081232219, "snapshot-id" : 7513288259375812719 @@ -163,4 +233,4 @@ "timestamp-ms" : 1648081232219, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/customer_demographics/metadata/00000-9e16afbd-444f-4b6c-a2b5-1c50ab83f764.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer_demographics/metadata/20240320_234853_02762_t6z6k-5eeb9345-2f7b-40de-af54-eb608a729551.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer_demographics/metadata/20240320_234853_02762_t6z6k-5eeb9345-2f7b-40de-af54-eb608a729551.stats new file mode 100644 index 000000000000..36e340c27e9b Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/customer_demographics/metadata/20240320_234853_02762_t6z6k-5eeb9345-2f7b-40de-af54-eb608a729551.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/date_dim/metadata/00001-17d74180-6c5f-4ec9-9bf1-1a17a5e7cc1c.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/date_dim/metadata/00001-17d74180-6c5f-4ec9-9bf1-1a17a5e7cc1c.metadata.json index ebbcaf860b23..208b8ccfa674 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/date_dim/metadata/00001-17d74180-6c5f-4ec9-9bf1-1a17a5e7cc1c.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/date_dim/metadata/00001-17d74180-6c5f-4ec9-9bf1-1a17a5e7cc1c.metadata.json @@ -308,35 +308,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.22.ndv" : "73023", - "trino.stats.ndv.2.ndv" : "71926", - "trino.stats.ndv.7.ndv" : "201", - "trino.stats.ndv.27.ndv" : "2", - "trino.stats.ndv.19.ndv" : "2", - "trino.stats.ndv.18.ndv" : "2", - "trino.stats.ndv.14.ndv" : "10536", - "trino.stats.ndv.23.ndv" : "72827", - "trino.stats.ndv.8.ndv" : "7", - "trino.stats.ndv.21.ndv" : "2468", - "trino.stats.ndv.3.ndv" : "71148", - "write.format.default" : "PARQUET", - "trino.stats.ndv.17.ndv" : "2", - "trino.stats.ndv.13.ndv" : "806", - "trino.stats.ndv.26.ndv" : "2", - "trino.stats.ndv.16.ndv" : "792", - "trino.stats.ndv.4.ndv" : "2391", - "trino.stats.ndv.5.ndv" : "10536", - "trino.stats.ndv.9.ndv" : "12", - "trino.stats.ndv.12.ndv" : "201", - "trino.stats.ndv.25.ndv" : "1", - "trino.stats.ndv.10.ndv" : "31", - "trino.stats.ndv.1.ndv" : "73040", - "trino.stats.ndv.28.ndv" : "2", - "trino.stats.ndv.15.ndv" : "7", - "trino.stats.ndv.6.ndv" : "806", - "trino.stats.ndv.20.ndv" : "2411", - "trino.stats.ndv.24.ndv" : "1", - "trino.stats.ndv.11.ndv" : "4" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 879409309086531902, "refs" : { @@ -364,6 +336,237 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/date_dim/metadata/snap-879409309086531902-1-a5e086f1-09c3-4393-9b69-b50996314dd3.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 879409309086531902, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/date_dim/metadata/20240320_234857_02764_t6z6k-c706c299-f403-4ec2-b2bf-f4b72f62a2f5.stats", + "file-size-in-bytes" : 313077, + "file-footer-size-in-bytes" : 5439, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "71918" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "75104" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "73257" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "2401" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "10621" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "801" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "201" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "7" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "12" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "31" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 11 ], + "properties" : { + "ndv" : "4" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 12 ], + "properties" : { + "ndv" : "201" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 13 ], + "properties" : { + "ndv" : "801" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 14 ], + "properties" : { + "ndv" : "10621" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 15 ], + "properties" : { + "ndv" : "7" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 16 ], + "properties" : { + "ndv" : "801" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 17 ], + "properties" : { + "ndv" : "2" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 18 ], + "properties" : { + "ndv" : "2" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 19 ], + "properties" : { + "ndv" : "2" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 20 ], + "properties" : { + "ndv" : "2401" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 21 ], + "properties" : { + "ndv" : "2401" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 22 ], + "properties" : { + "ndv" : "73902" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 23 ], + "properties" : { + "ndv" : "73521" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 24 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 25 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 26 ], + "properties" : { + "ndv" : "2" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 27 ], + "properties" : { + "ndv" : "2" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 879409309086531902, + "sequence-number" : 2, + "fields" : [ 28 ], + "properties" : { + "ndv" : "2" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648081235817, "snapshot-id" : 879409309086531902 @@ -372,4 +575,4 @@ "timestamp-ms" : 1648081235817, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/date_dim/metadata/00000-cd1283cb-681c-4ef4-8b85-6b6825ef12e2.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/date_dim/metadata/20240320_234857_02764_t6z6k-c706c299-f403-4ec2-b2bf-f4b72f62a2f5.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/date_dim/metadata/20240320_234857_02764_t6z6k-c706c299-f403-4ec2-b2bf-f4b72f62a2f5.stats new file mode 100644 index 000000000000..830758e27f77 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/date_dim/metadata/20240320_234857_02764_t6z6k-c706c299-f403-4ec2-b2bf-f4b72f62a2f5.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/household_demographics/metadata/00001-25b249a8-7d9f-45e6-a8d4-0a6584ff3d85.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/household_demographics/metadata/00001-25b249a8-7d9f-45e6-a8d4-0a6584ff3d85.metadata.json index 9343231e0c4a..39ab0d4628ea 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/household_demographics/metadata/00001-25b249a8-7d9f-45e6-a8d4-0a6584ff3d85.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/household_demographics/metadata/00001-25b249a8-7d9f-45e6-a8d4-0a6584ff3d85.metadata.json @@ -78,12 +78,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.2.ndv" : "20", - "trino.stats.ndv.1.ndv" : "7082", - "trino.stats.ndv.3.ndv" : "6", - "write.format.default" : "PARQUET", - "trino.stats.ndv.4.ndv" : "10", - "trino.stats.ndv.5.ndv" : "6" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 6765154030047008235, "refs" : { @@ -111,6 +106,53 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/household_demographics/metadata/snap-6765154030047008235-1-4f730f87-2407-41d0-9fd5-85e7668336e3.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 6765154030047008235, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/household_demographics/metadata/20240320_234859_02765_t6z6k-fa26df05-138e-4edb-9806-743e1bdf9bfb.stats", + "file-size-in-bytes" : 34299, + "file-footer-size-in-bytes" : 1037, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6765154030047008235, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "7160" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6765154030047008235, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6765154030047008235, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "6" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6765154030047008235, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "10" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6765154030047008235, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "6" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648081244264, "snapshot-id" : 6765154030047008235 @@ -119,4 +161,4 @@ "timestamp-ms" : 1648081244264, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/household_demographics/metadata/00000-f2dd2389-65b7-46a8-8ae6-bd0322b41ec5.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/household_demographics/metadata/20240320_234859_02765_t6z6k-fa26df05-138e-4edb-9806-743e1bdf9bfb.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/household_demographics/metadata/20240320_234859_02765_t6z6k-fa26df05-138e-4edb-9806-743e1bdf9bfb.stats new file mode 100644 index 000000000000..c52bd17fde4b Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/household_demographics/metadata/20240320_234859_02765_t6z6k-fa26df05-138e-4edb-9806-743e1bdf9bfb.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/income_band/metadata/00001-99568020-4baf-4515-83bc-00b6f63e40ed.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/income_band/metadata/00001-99568020-4baf-4515-83bc-00b6f63e40ed.metadata.json index bbee52eaaeda..3b6f29820f7f 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/income_band/metadata/00001-99568020-4baf-4515-83bc-00b6f63e40ed.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/income_band/metadata/00001-99568020-4baf-4515-83bc-00b6f63e40ed.metadata.json @@ -89,6 +89,37 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/income_band/metadata/snap-2915181097642837852-1-9b3490b7-e1c2-467a-8a2a-0731a236ef94.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 2915181097642837852, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/income_band/metadata/20240320_234902_02768_t6z6k-ff08d68e-3606-458d-8b46-ed1d7c159e49.stats", + "file-size-in-bytes" : 1228, + "file-footer-size-in-bytes" : 657, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2915181097642837852, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2915181097642837852, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2915181097642837852, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "20" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648084890945, "snapshot-id" : 2915181097642837852 @@ -97,4 +128,4 @@ "timestamp-ms" : 1648084890945, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/income_band/metadata/00000-3b93af66-f8e9-4dae-841c-70230551e582.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/income_band/metadata/20240320_234902_02768_t6z6k-ff08d68e-3606-458d-8b46-ed1d7c159e49.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/income_band/metadata/20240320_234902_02768_t6z6k-ff08d68e-3606-458d-8b46-ed1d7c159e49.stats new file mode 100644 index 000000000000..a88beae7142e Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/income_band/metadata/20240320_234902_02768_t6z6k-ff08d68e-3606-458d-8b46-ed1d7c159e49.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/inventory/metadata/00001-69b008e4-f403-42f3-b3d6-73ee96472da3.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/inventory/metadata/00001-69b008e4-f403-42f3-b3d6-73ee96472da3.metadata.json index 84d3d2dc2c92..485ff5511106 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/inventory/metadata/00001-69b008e4-f403-42f3-b3d6-73ee96472da3.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/inventory/metadata/00001-69b008e4-f403-42f3-b3d6-73ee96472da3.metadata.json @@ -78,11 +78,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.2.ndv" : "20", - "trino.stats.ndv.1.ndv" : "297612", - "trino.stats.ndv.3.ndv" : "1010", - "write.format.default" : "PARQUET", - "trino.stats.ndv.4.ndv" : "261" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 5575001584338726042, "refs" : { @@ -110,6 +106,45 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/inventory/metadata/snap-5575001584338726042-1-16d94170-9def-424b-b8a6-ddc6c170d9b1.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 5575001584338726042, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/inventory/metadata/20240320_234905_02769_t6z6k-44809a34-3467-4d14-a9ea-beef40a8ea74.stats", + "file-size-in-bytes" : 42628, + "file-footer-size-in-bytes" : 859, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5575001584338726042, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "261" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5575001584338726042, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "302044" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5575001584338726042, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5575001584338726042, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "1001" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648085030991, "snapshot-id" : 5575001584338726042 @@ -118,4 +153,4 @@ "timestamp-ms" : 1648085030991, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/inventory/metadata/00000-a1c36345-6ad1-4c31-b1a3-b0609524644a.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/inventory/metadata/20240320_234905_02769_t6z6k-44809a34-3467-4d14-a9ea-beef40a8ea74.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/inventory/metadata/20240320_234905_02769_t6z6k-44809a34-3467-4d14-a9ea-beef40a8ea74.stats new file mode 100644 index 000000000000..18de9b86eb04 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/inventory/metadata/20240320_234905_02769_t6z6k-44809a34-3467-4d14-a9ea-beef40a8ea74.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/item/metadata/00001-fd875019-2247-4ec5-adf6-ae30605db15b.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/item/metadata/00001-fd875019-2247-4ec5-adf6-ae30605db15b.metadata.json index 0c557a216ef3..673f348c28fd 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/item/metadata/00001-fd875019-2247-4ec5-adf6-ae30605db15b.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/item/metadata/00001-fd875019-2247-4ec5-adf6-ae30605db15b.metadata.json @@ -248,29 +248,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.22.ndv" : "292928", - "trino.stats.ndv.7.ndv" : "7170", - "trino.stats.ndv.2.ndv" : "152758", - "trino.stats.ndv.16.ndv" : "7", - "trino.stats.ndv.4.ndv" : "3", - "trino.stats.ndv.19.ndv" : "21", - "trino.stats.ndv.5.ndv" : "221708", - "trino.stats.ndv.18.ndv" : "92", - "trino.stats.ndv.9.ndv" : "723", - "trino.stats.ndv.14.ndv" : "1008", - "trino.stats.ndv.12.ndv" : "10", - "trino.stats.ndv.10.ndv" : "16", - "trino.stats.ndv.21.ndv" : "100", - "trino.stats.ndv.8.ndv" : "953", - "trino.stats.ndv.1.ndv" : "297612", - "trino.stats.ndv.15.ndv" : "1023", - "trino.stats.ndv.6.ndv" : "9801", - "trino.stats.ndv.3.ndv" : "4", - "write.format.default" : "PARQUET", - "trino.stats.ndv.17.ndv" : "220425", - "trino.stats.ndv.13.ndv" : "10", - "trino.stats.ndv.20.ndv" : "1", - "trino.stats.ndv.11.ndv" : "99" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 6799978105221820475, "refs" : { @@ -298,6 +276,189 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/item/metadata/snap-6799978105221820475-1-6683e1a0-079d-42fe-87f6-ff23a0840a5c.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 6799978105221820475, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/item/metadata/20240320_234909_02770_t6z6k-d4d7eb11-535e-460c-9e68-8a62f5f029cd.stats", + "file-size-in-bytes" : 260419, + "file-footer-size-in-bytes" : 4303, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "302044" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "153388" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "4" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "3" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "228170" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "9623" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "7174" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "952" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "712" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "16" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 11 ], + "properties" : { + "ndv" : "99" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 12 ], + "properties" : { + "ndv" : "10" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 13 ], + "properties" : { + "ndv" : "10" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 14 ], + "properties" : { + "ndv" : "1000" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 15 ], + "properties" : { + "ndv" : "1000" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 16 ], + "properties" : { + "ndv" : "7" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 17 ], + "properties" : { + "ndv" : "227451" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 18 ], + "properties" : { + "ndv" : "92" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 19 ], + "properties" : { + "ndv" : "21" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 20 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 21 ], + "properties" : { + "ndv" : "100" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6799978105221820475, + "sequence-number" : 2, + "fields" : [ 22 ], + "properties" : { + "ndv" : "302949" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648081251209, "snapshot-id" : 6799978105221820475 @@ -306,4 +467,4 @@ "timestamp-ms" : 1648081251209, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/item/metadata/00000-57d39fc8-b62f-45d9-bd4b-80157291472a.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/item/metadata/20240320_234909_02770_t6z6k-d4d7eb11-535e-460c-9e68-8a62f5f029cd.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/item/metadata/20240320_234909_02770_t6z6k-d4d7eb11-535e-460c-9e68-8a62f5f029cd.stats new file mode 100644 index 000000000000..569aa7da7945 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/item/metadata/20240320_234909_02770_t6z6k-d4d7eb11-535e-460c-9e68-8a62f5f029cd.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/promotion/metadata/00001-a0a4a9ff-53d6-4cd0-9639-089a17b5707f.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/promotion/metadata/00001-a0a4a9ff-53d6-4cd0-9639-089a17b5707f.metadata.json index e2575f3c2835..304378d3e8f5 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/promotion/metadata/00001-a0a4a9ff-53d6-4cd0-9639-089a17b5707f.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/promotion/metadata/00001-a0a4a9ff-53d6-4cd0-9639-089a17b5707f.metadata.json @@ -218,26 +218,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.7.ndv" : "1", - "trino.stats.ndv.2.ndv" : "1543", - "trino.stats.ndv.16.ndv" : "1", - "trino.stats.ndv.4.ndv" : "669", - "trino.stats.ndv.19.ndv" : "1", - "trino.stats.ndv.5.ndv" : "1497", - "trino.stats.ndv.18.ndv" : "1", - "trino.stats.ndv.9.ndv" : "2", - "trino.stats.ndv.14.ndv" : "1", - "trino.stats.ndv.12.ndv" : "1", - "trino.stats.ndv.10.ndv" : "1", - "trino.stats.ndv.8.ndv" : "10", - "trino.stats.ndv.1.ndv" : "1483", - "trino.stats.ndv.15.ndv" : "1", - "trino.stats.ndv.6.ndv" : "1", - "trino.stats.ndv.3.ndv" : "675", - "write.format.default" : "PARQUET", - "trino.stats.ndv.17.ndv" : "1466", - "trino.stats.ndv.13.ndv" : "1", - "trino.stats.ndv.11.ndv" : "1" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 6100987187671647433, "refs" : { @@ -265,6 +246,165 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/promotion/metadata/snap-6100987187671647433-1-a43005ce-7a3e-4260-872a-e609a7597081.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 6100987187671647433, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/promotion/metadata/20240320_234912_02771_t6z6k-1aa86992-53b6-40d9-90e4-50d1cb1185a8.stats", + "file-size-in-bytes" : 62916, + "file-footer-size-in-bytes" : 3675, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "1500" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "1500" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "685" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "683" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "1469" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "10" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "2" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 11 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 12 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 13 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 14 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 15 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 16 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 17 ], + "properties" : { + "ndv" : "1486" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 18 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6100987187671647433, + "sequence-number" : 2, + "fields" : [ 19 ], + "properties" : { + "ndv" : "1" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648081254366, "snapshot-id" : 6100987187671647433 @@ -273,4 +413,4 @@ "timestamp-ms" : 1648081254366, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/promotion/metadata/00000-99574bca-cf65-4261-981d-6d18df174588.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/promotion/metadata/20240320_234912_02771_t6z6k-1aa86992-53b6-40d9-90e4-50d1cb1185a8.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/promotion/metadata/20240320_234912_02771_t6z6k-1aa86992-53b6-40d9-90e4-50d1cb1185a8.stats new file mode 100644 index 000000000000..2e13368b3d83 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/promotion/metadata/20240320_234912_02771_t6z6k-1aa86992-53b6-40d9-90e4-50d1cb1185a8.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/reason/metadata/00001-db60d8bb-5734-4c79-b9e6-d0ec7b90e8c1.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/reason/metadata/00001-db60d8bb-5734-4c79-b9e6-d0ec7b90e8c1.metadata.json index ffb33e3bfce1..4cc223317c8d 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/reason/metadata/00001-db60d8bb-5734-4c79-b9e6-d0ec7b90e8c1.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/reason/metadata/00001-db60d8bb-5734-4c79-b9e6-d0ec7b90e8c1.metadata.json @@ -58,9 +58,6 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.2.ndv" : "65", - "trino.stats.ndv.1.ndv" : "65", - "trino.stats.ndv.3.ndv" : "64", "write.format.default" : "PARQUET" }, "current-snapshot-id" : 501198784787015747, @@ -89,6 +86,37 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/reason/metadata/snap-501198784787015747-1-c0fee408-669e-41c7-a70c-719122d7fdc4.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 501198784787015747, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/reason/metadata/20240320_234914_02772_t6z6k-1fbfbc46-ccc3-445a-8ac0-25ca40634d1a.stats", + "file-size-in-bytes" : 2301, + "file-footer-size-in-bytes" : 655, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 501198784787015747, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "65" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 501198784787015747, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "65" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 501198784787015747, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "64" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648081256820, "snapshot-id" : 501198784787015747 @@ -97,4 +125,4 @@ "timestamp-ms" : 1648081256820, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/reason/metadata/00000-e4fed76c-508c-4220-aa72-58b7cde0b2fa.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/reason/metadata/20240320_234914_02772_t6z6k-1fbfbc46-ccc3-445a-8ac0-25ca40634d1a.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/reason/metadata/20240320_234914_02772_t6z6k-1fbfbc46-ccc3-445a-8ac0-25ca40634d1a.stats new file mode 100644 index 000000000000..a33a70548ee8 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/reason/metadata/20240320_234914_02772_t6z6k-1fbfbc46-ccc3-445a-8ac0-25ca40634d1a.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/ship_mode/metadata/00001-b7cbf038-7ac7-40c6-a00a-1dbe7b4dd5b5.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/ship_mode/metadata/00001-b7cbf038-7ac7-40c6-a00a-1dbe7b4dd5b5.metadata.json index a47b8bdc902d..aef7357c4d7f 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/ship_mode/metadata/00001-b7cbf038-7ac7-40c6-a00a-1dbe7b4dd5b5.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/ship_mode/metadata/00001-b7cbf038-7ac7-40c6-a00a-1dbe7b4dd5b5.metadata.json @@ -88,13 +88,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.2.ndv" : "20", - "trino.stats.ndv.1.ndv" : "20", - "trino.stats.ndv.6.ndv" : "20", - "trino.stats.ndv.3.ndv" : "6", - "write.format.default" : "PARQUET", - "trino.stats.ndv.4.ndv" : "4", - "trino.stats.ndv.5.ndv" : "20" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 8517577181179121697, "refs" : { @@ -122,6 +116,61 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/ship_mode/metadata/snap-8517577181179121697-1-070c7bc1-48e8-4f95-ba69-e3703029c025.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 8517577181179121697, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/ship_mode/metadata/20240320_234917_01728_8axqf-77b59918-c5c4-4387-a3e5-134eac10bc65.stats", + "file-size-in-bytes" : 2109, + "file-footer-size-in-bytes" : 1211, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8517577181179121697, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8517577181179121697, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8517577181179121697, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "6" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8517577181179121697, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "4" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8517577181179121697, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8517577181179121697, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "20" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648081259370, "snapshot-id" : 8517577181179121697 @@ -130,4 +179,4 @@ "timestamp-ms" : 1648081259370, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/ship_mode/metadata/00000-256a0b28-1aba-4f22-9b01-00dd86e669f1.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/ship_mode/metadata/20240320_234917_01728_8axqf-77b59918-c5c4-4387-a3e5-134eac10bc65.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/ship_mode/metadata/20240320_234917_01728_8axqf-77b59918-c5c4-4387-a3e5-134eac10bc65.stats new file mode 100644 index 000000000000..dea86497ff5e Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/ship_mode/metadata/20240320_234917_01728_8axqf-77b59918-c5c4-4387-a3e5-134eac10bc65.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store/metadata/00001-7f61b83f-1f99-4c10-b931-ee450d7c8bc5.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store/metadata/00001-7f61b83f-1f99-4c10-b931-ee450d7c8bc5.metadata.json index dbe800180cf3..b1ab4f6130aa 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store/metadata/00001-7f61b83f-1f99-4c10-b931-ee450d7c8bc5.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store/metadata/00001-7f61b83f-1f99-4c10-b931-ee450d7c8bc5.metadata.json @@ -318,36 +318,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.22.ndv" : "75", - "trino.stats.ndv.2.ndv" : "511", - "trino.stats.ndv.7.ndv" : "101", - "trino.stats.ndv.27.ndv" : "1", - "trino.stats.ndv.19.ndv" : "530", - "trino.stats.ndv.18.ndv" : "1", - "trino.stats.ndv.14.ndv" : "709", - "trino.stats.ndv.23.ndv" : "54", - "trino.stats.ndv.21.ndv" : "20", - "trino.stats.ndv.8.ndv" : "733", - "trino.stats.ndv.3.ndv" : "4", - "write.format.default" : "PARQUET", - "trino.stats.ndv.17.ndv" : "1", - "trino.stats.ndv.13.ndv" : "756", - "trino.stats.ndv.26.ndv" : "362", - "trino.stats.ndv.16.ndv" : "1", - "trino.stats.ndv.4.ndv" : "3", - "trino.stats.ndv.5.ndv" : "162", - "trino.stats.ndv.29.ndv" : "12", - "trino.stats.ndv.9.ndv" : "3", - "trino.stats.ndv.12.ndv" : "1", - "trino.stats.ndv.25.ndv" : "21", - "trino.stats.ndv.10.ndv" : "747", - "trino.stats.ndv.28.ndv" : "4", - "trino.stats.ndv.1.ndv" : "1008", - "trino.stats.ndv.15.ndv" : "1", - "trino.stats.ndv.6.ndv" : "10", - "trino.stats.ndv.20.ndv" : "543", - "trino.stats.ndv.24.ndv" : "27", - "trino.stats.ndv.11.ndv" : "10" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 5538226458318650132, "refs" : { @@ -379,8 +350,247 @@ "timestamp-ms" : 1648081262291, "snapshot-id" : 5538226458318650132 } ], + "statistics" : [ { + "snapshot-id" : 5538226458318650132, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/store/metadata/20240320_234919_01729_8axqf-b0b692fd-cdbf-4c0a-a0c4-51ecc8df05c8.stats", + "file-size-in-bytes" : 57756, + "file-footer-size-in-bytes" : 5570, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "1002" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "501" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "4" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "3" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "162" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "10" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "101" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "754" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "3" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "742" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 11 ], + "properties" : { + "ndv" : "10" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 12 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 13 ], + "properties" : { + "ndv" : "764" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 14 ], + "properties" : { + "ndv" : "728" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 15 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 16 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 17 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 18 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 19 ], + "properties" : { + "ndv" : "519" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 20 ], + "properties" : { + "ndv" : "547" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 21 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 22 ], + "properties" : { + "ndv" : "75" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 23 ], + "properties" : { + "ndv" : "54" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 24 ], + "properties" : { + "ndv" : "27" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 25 ], + "properties" : { + "ndv" : "21" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 26 ], + "properties" : { + "ndv" : "353" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 27 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 28 ], + "properties" : { + "ndv" : "4" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5538226458318650132, + "sequence-number" : 2, + "fields" : [ 29 ], + "properties" : { + "ndv" : "12" + } + } ] + } ], "metadata-log" : [ { "timestamp-ms" : 1648081262291, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/store/metadata/00000-9465c2d2-6b5a-4997-a88c-fda0fc92d247.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store/metadata/20240320_234919_01729_8axqf-b0b692fd-cdbf-4c0a-a0c4-51ecc8df05c8.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store/metadata/20240320_234919_01729_8axqf-b0b692fd-cdbf-4c0a-a0c4-51ecc8df05c8.stats new file mode 100644 index 000000000000..98d694fb1c91 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store/metadata/20240320_234919_01729_8axqf-b0b692fd-cdbf-4c0a-a0c4-51ecc8df05c8.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store_returns/metadata/00001-49bd4963-e9b0-4157-8aa4-2a3230d8ecd3.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store_returns/metadata/00001-49bd4963-e9b0-4157-8aa4-2a3230d8ecd3.metadata.json index fd0434016857..f98f87003e98 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store_returns/metadata/00001-49bd4963-e9b0-4157-8aa4-2a3230d8ecd3.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store_returns/metadata/00001-49bd4963-e9b0-4157-8aa4-2a3230d8ecd3.metadata.json @@ -238,27 +238,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.7.ndv" : "513", - "trino.stats.ndv.2.ndv" : "297612", - "trino.stats.ndv.16.ndv" : "927393", - "trino.stats.ndv.4.ndv" : "1890006", - "trino.stats.ndv.5.ndv" : "7082", - "trino.stats.ndv.19.ndv" : "713783", - "trino.stats.ndv.18.ndv" : "677045", - "trino.stats.ndv.9.ndv" : "177092218", - "trino.stats.ndv.14.ndv" : "10141", - "trino.stats.ndv.12.ndv" : "119761", - "trino.stats.ndv.10.ndv" : "100", - "trino.stats.ndv.8.ndv" : "65", - "trino.stats.ndv.1.ndv" : "32934", - "trino.stats.ndv.15.ndv" : "351933", - "trino.stats.ndv.6.ndv" : "5947530", - "trino.stats.ndv.3.ndv" : "12236563", - "write.format.default" : "PARQUET", - "trino.stats.ndv.17.ndv" : "697964", - "trino.stats.ndv.13.ndv" : "1229056", - "trino.stats.ndv.20.ndv" : "2017", - "trino.stats.ndv.11.ndv" : "659344" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 4803221953065828720, "refs" : { @@ -286,6 +266,173 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/store_returns/metadata/snap-4803221953065828720-1-fbca9089-7256-4012-9082-858ddb6c2eae.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 4803221953065828720, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/store_returns/metadata/20240320_234922_02773_t6z6k-9d9aa676-4b76-4ccb-96ec-9b5f442aae6e.stats", + "file-size-in-bytes" : 521298, + "file-footer-size-in-bytes" : 3990, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "2003" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "31931" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "302044" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "11975335" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "1930039" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "7166" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "6043919" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "501" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "65" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "173604263" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 11 ], + "properties" : { + "ndv" : "100" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 12 ], + "properties" : { + "ndv" : "690205" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 13 ], + "properties" : { + "ndv" : "119148" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 14 ], + "properties" : { + "ndv" : "1265263" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 15 ], + "properties" : { + "ndv" : "9791" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 16 ], + "properties" : { + "ndv" : "369535" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 17 ], + "properties" : { + "ndv" : "974503" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 18 ], + "properties" : { + "ndv" : "734714" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 19 ], + "properties" : { + "ndv" : "725685" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4803221953065828720, + "sequence-number" : 2, + "fields" : [ 20 ], + "properties" : { + "ndv" : "745702" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648085545939, "snapshot-id" : 4803221953065828720 @@ -294,4 +441,4 @@ "timestamp-ms" : 1648085545939, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/store_returns/metadata/00000-5a2bc303-c811-4e6c-9612-3ba906d0610b.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store_returns/metadata/20240320_234922_02773_t6z6k-9d9aa676-4b76-4ccb-96ec-9b5f442aae6e.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store_returns/metadata/20240320_234922_02773_t6z6k-9d9aa676-4b76-4ccb-96ec-9b5f442aae6e.stats new file mode 100644 index 000000000000..e31c569cf423 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store_returns/metadata/20240320_234922_02773_t6z6k-9d9aa676-4b76-4ccb-96ec-9b5f442aae6e.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store_sales/metadata/00001-5f263491-0286-413e-9c52-986221cc8a7d.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store_sales/metadata/00001-5f263491-0286-413e-9c52-986221cc8a7d.metadata.json index 504b1762cd7b..16d0a6bf5a0d 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store_sales/metadata/00001-5f263491-0286-413e-9c52-986221cc8a7d.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store_sales/metadata/00001-5f263491-0286-413e-9c52-986221cc8a7d.metadata.json @@ -268,30 +268,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.22.ndv" : "1499246", - "trino.stats.ndv.7.ndv" : "513", - "trino.stats.ndv.2.ndv" : "297612", - "trino.stats.ndv.16.ndv" : "388752", - "trino.stats.ndv.4.ndv" : "1890006", - "trino.stats.ndv.5.ndv" : "7082", - "trino.stats.ndv.19.ndv" : "1149239", - "trino.stats.ndv.18.ndv" : "150267", - "trino.stats.ndv.9.ndv" : "243256717", - "trino.stats.ndv.14.ndv" : "1149239", - "trino.stats.ndv.23.ndv" : "1820", - "trino.stats.ndv.12.ndv" : "19495", - "trino.stats.ndv.10.ndv" : "100", - "trino.stats.ndv.1.ndv" : "47961", - "trino.stats.ndv.21.ndv" : "1697156", - "trino.stats.ndv.8.ndv" : "1483", - "trino.stats.ndv.15.ndv" : "738120", - "trino.stats.ndv.3.ndv" : "12236563", - "trino.stats.ndv.6.ndv" : "5947530", - "write.format.default" : "PARQUET", - "trino.stats.ndv.17.ndv" : "752801", - "trino.stats.ndv.13.ndv" : "19536", - "trino.stats.ndv.20.ndv" : "1274594", - "trino.stats.ndv.11.ndv" : "10091" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 5829085943537843612, "refs" : { @@ -319,6 +296,197 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/store_sales/metadata/snap-5829085943537843612-1-9299e356-57c6-45af-9c74-5b984ffcbb80.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 5829085943537843612, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/store_sales/metadata/20240320_234946_02774_t6z6k-8b9302a8-52d8-4d5a-a144-9bfbc89244c8.stats", + "file-size-in-bytes" : 627625, + "file-footer-size-in-bytes" : 4561, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "1823" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "46188" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "302023" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "11975335" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "1930039" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "7166" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "6043919" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "501" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "1500" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "244731139" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 11 ], + "properties" : { + "ndv" : "100" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 12 ], + "properties" : { + "ndv" : "9745" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 13 ], + "properties" : { + "ndv" : "19523" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 14 ], + "properties" : { + "ndv" : "19678" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 15 ], + "properties" : { + "ndv" : "1179619" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 16 ], + "properties" : { + "ndv" : "778767" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 17 ], + "properties" : { + "ndv" : "403891" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 18 ], + "properties" : { + "ndv" : "796316" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 19 ], + "properties" : { + "ndv" : "152086" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 20 ], + "properties" : { + "ndv" : "1179619" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 21 ], + "properties" : { + "ndv" : "1286441" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 22 ], + "properties" : { + "ndv" : "1661753" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5829085943537843612, + "sequence-number" : 2, + "fields" : [ 23 ], + "properties" : { + "ndv" : "1569739" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648090550211, "snapshot-id" : 5829085943537843612 @@ -327,4 +495,4 @@ "timestamp-ms" : 1648090550211, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/store_sales/metadata/00000-15f16871-f586-4fd5-8abc-35d20e558fbd.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store_sales/metadata/20240320_234946_02774_t6z6k-8b9302a8-52d8-4d5a-a144-9bfbc89244c8.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store_sales/metadata/20240320_234946_02774_t6z6k-8b9302a8-52d8-4d5a-a144-9bfbc89244c8.stats new file mode 100644 index 000000000000..196ce21adc13 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/store_sales/metadata/20240320_234946_02774_t6z6k-8b9302a8-52d8-4d5a-a144-9bfbc89244c8.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/time_dim/metadata/00001-67c70332-7ef8-4956-b815-4d190e6caa27.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/time_dim/metadata/00001-67c70332-7ef8-4956-b815-4d190e6caa27.metadata.json index 1c00f16180bc..6e20d1442389 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/time_dim/metadata/00001-67c70332-7ef8-4956-b815-4d190e6caa27.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/time_dim/metadata/00001-67c70332-7ef8-4956-b815-4d190e6caa27.metadata.json @@ -128,17 +128,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.10.ndv" : "4", - "trino.stats.ndv.2.ndv" : "87108", - "trino.stats.ndv.7.ndv" : "2", - "trino.stats.ndv.8.ndv" : "3", - "trino.stats.ndv.1.ndv" : "89157", - "trino.stats.ndv.3.ndv" : "89157", - "trino.stats.ndv.6.ndv" : "60", - "write.format.default" : "PARQUET", - "trino.stats.ndv.4.ndv" : "24", - "trino.stats.ndv.5.ndv" : "60", - "trino.stats.ndv.9.ndv" : "4" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 4765156773063077910, "refs" : { @@ -166,6 +156,93 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/time_dim/metadata/snap-4765156773063077910-1-c1b011b3-8b57-4dff-875c-4dd6db7ad6b4.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 4765156773063077910, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/time_dim/metadata/20240320_235032_02777_t6z6k-6169041c-bd1c-4698-90f7-497ade0f6db1.stats", + "file-size-in-bytes" : 99708, + "file-footer-size-in-bytes" : 1955, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4765156773063077910, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "83615" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4765156773063077910, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "89816" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4765156773063077910, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "86925" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4765156773063077910, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "24" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4765156773063077910, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "60" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4765156773063077910, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "60" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4765156773063077910, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "2" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4765156773063077910, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "3" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4765156773063077910, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "4" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4765156773063077910, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "3" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648081268208, "snapshot-id" : 4765156773063077910 @@ -174,4 +251,4 @@ "timestamp-ms" : 1648081268208, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/time_dim/metadata/00000-4ecc5bd2-a935-4e10-aec1-38c13dfa54fc.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/time_dim/metadata/20240320_235032_02777_t6z6k-6169041c-bd1c-4698-90f7-497ade0f6db1.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/time_dim/metadata/20240320_235032_02777_t6z6k-6169041c-bd1c-4698-90f7-497ade0f6db1.stats new file mode 100644 index 000000000000..c3be7ad8c566 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/time_dim/metadata/20240320_235032_02777_t6z6k-6169041c-bd1c-4698-90f7-497ade0f6db1.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/warehouse/metadata/00001-79b8fa02-a351-4660-ab95-539b41950c4b.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/warehouse/metadata/00001-79b8fa02-a351-4660-ab95-539b41950c4b.metadata.json index a84f783b44c4..1ac88a330709 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/warehouse/metadata/00001-79b8fa02-a351-4660-ab95-539b41950c4b.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/warehouse/metadata/00001-79b8fa02-a351-4660-ab95-539b41950c4b.metadata.json @@ -168,21 +168,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.7.ndv" : "13", - "trino.stats.ndv.2.ndv" : "20", - "trino.stats.ndv.4.ndv" : "19", - "trino.stats.ndv.5.ndv" : "18", - "trino.stats.ndv.9.ndv" : "12", - "trino.stats.ndv.14.ndv" : "3", - "trino.stats.ndv.12.ndv" : "18", - "trino.stats.ndv.10.ndv" : "14", - "trino.stats.ndv.8.ndv" : "17", - "trino.stats.ndv.1.ndv" : "20", - "trino.stats.ndv.3.ndv" : "19", - "trino.stats.ndv.6.ndv" : "19", - "write.format.default" : "PARQUET", - "trino.stats.ndv.13.ndv" : "1", - "trino.stats.ndv.11.ndv" : "13" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 6500222206325327167, "refs" : { @@ -210,6 +196,125 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/warehouse/metadata/snap-6500222206325327167-1-daea3a99-100e-421d-bd48-d963bf217bbb.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 6500222206325327167, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/warehouse/metadata/20240320_235034_02778_t6z6k-7e35ed2f-2f1e-489a-a140-a3886b12f328.stats", + "file-size-in-bytes" : 4762, + "file-footer-size-in-bytes" : 2712, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6500222206325327167, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6500222206325327167, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6500222206325327167, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "19" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6500222206325327167, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "19" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6500222206325327167, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "18" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6500222206325327167, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "19" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6500222206325327167, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "13" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6500222206325327167, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "17" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6500222206325327167, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "12" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6500222206325327167, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "14" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6500222206325327167, + "sequence-number" : 2, + "fields" : [ 11 ], + "properties" : { + "ndv" : "13" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6500222206325327167, + "sequence-number" : 2, + "fields" : [ 12 ], + "properties" : { + "ndv" : "18" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6500222206325327167, + "sequence-number" : 2, + "fields" : [ 13 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6500222206325327167, + "sequence-number" : 2, + "fields" : [ 14 ], + "properties" : { + "ndv" : "3" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648081270989, "snapshot-id" : 6500222206325327167 @@ -218,4 +323,4 @@ "timestamp-ms" : 1648081270989, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/warehouse/metadata/00000-ac8c9c84-6e8c-425e-890f-b2b0eafa140b.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/warehouse/metadata/20240320_235034_02778_t6z6k-7e35ed2f-2f1e-489a-a140-a3886b12f328.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/warehouse/metadata/20240320_235034_02778_t6z6k-7e35ed2f-2f1e-489a-a140-a3886b12f328.stats new file mode 100644 index 000000000000..306c382b9cea Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/warehouse/metadata/20240320_235034_02778_t6z6k-7e35ed2f-2f1e-489a-a140-a3886b12f328.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_page/metadata/00001-cbf8131d-a417-43be-b61e-766768459e3f.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_page/metadata/00001-cbf8131d-a417-43be-b61e-766768459e3f.metadata.json index cffb3d64f16f..57f0d1eae2ce 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_page/metadata/00001-cbf8131d-a417-43be-b61e-766768459e3f.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_page/metadata/00001-cbf8131d-a417-43be-b61e-766768459e3f.metadata.json @@ -168,21 +168,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.7.ndv" : "2", - "trino.stats.ndv.2.ndv" : "1497", - "trino.stats.ndv.4.ndv" : "3", - "trino.stats.ndv.5.ndv" : "199", - "trino.stats.ndv.9.ndv" : "1", - "trino.stats.ndv.14.ndv" : "5", - "trino.stats.ndv.12.ndv" : "24", - "trino.stats.ndv.10.ndv" : "7", - "trino.stats.ndv.8.ndv" : "699", - "trino.stats.ndv.1.ndv" : "3006", - "trino.stats.ndv.3.ndv" : "4", - "trino.stats.ndv.6.ndv" : "101", - "write.format.default" : "PARQUET", - "trino.stats.ndv.13.ndv" : "7", - "trino.stats.ndv.11.ndv" : "1883" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 8492339180313289358, "refs" : { @@ -210,6 +196,125 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/web_page/metadata/snap-8492339180313289358-1-1839905a-92c2-41a3-ae7b-25d23273dccf.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 8492339180313289358, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/web_page/metadata/20240320_235037_02779_t6z6k-439b5c1f-ce5f-4fd1-b5b8-295fe69aa4c6.stats", + "file-size-in-bytes" : 62729, + "file-footer-size-in-bytes" : 2737, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8492339180313289358, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "3000" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8492339180313289358, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "1500" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8492339180313289358, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "4" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8492339180313289358, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "3" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8492339180313289358, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "199" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8492339180313289358, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "101" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8492339180313289358, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "2" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8492339180313289358, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "716" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8492339180313289358, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8492339180313289358, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "7" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8492339180313289358, + "sequence-number" : 2, + "fields" : [ 11 ], + "properties" : { + "ndv" : "1879" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8492339180313289358, + "sequence-number" : 2, + "fields" : [ 12 ], + "properties" : { + "ndv" : "24" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8492339180313289358, + "sequence-number" : 2, + "fields" : [ 13 ], + "properties" : { + "ndv" : "7" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 8492339180313289358, + "sequence-number" : 2, + "fields" : [ 14 ], + "properties" : { + "ndv" : "5" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648081274568, "snapshot-id" : 8492339180313289358 @@ -218,4 +323,4 @@ "timestamp-ms" : 1648081274568, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/web_page/metadata/00000-4b263598-80b3-4573-b1c7-6c8063fe7726.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_page/metadata/20240320_235037_02779_t6z6k-439b5c1f-ce5f-4fd1-b5b8-295fe69aa4c6.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_page/metadata/20240320_235037_02779_t6z6k-439b5c1f-ce5f-4fd1-b5b8-295fe69aa4c6.stats new file mode 100644 index 000000000000..28aa9bc8d39b Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_page/metadata/20240320_235037_02779_t6z6k-439b5c1f-ce5f-4fd1-b5b8-295fe69aa4c6.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_returns/metadata/00001-48e3f75b-93ef-493e-a23c-2316f1ab787d.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_returns/metadata/00001-48e3f75b-93ef-493e-a23c-2316f1ab787d.metadata.json index 4d46c022e154..9bdc856bc0fa 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_returns/metadata/00001-48e3f75b-93ef-493e-a23c-2316f1ab787d.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_returns/metadata/00001-48e3f75b-93ef-493e-a23c-2316f1ab787d.metadata.json @@ -278,31 +278,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.22.ndv" : "664097", - "trino.stats.ndv.2.ndv" : "297612", - "trino.stats.ndv.7.ndv" : "12212431", - "trino.stats.ndv.19.ndv" : "442621", - "trino.stats.ndv.18.ndv" : "10141", - "trino.stats.ndv.14.ndv" : "100", - "trino.stats.ndv.23.ndv" : "801756", - "trino.stats.ndv.8.ndv" : "1890006", - "trino.stats.ndv.21.ndv" : "671800", - "trino.stats.ndv.3.ndv" : "12209422", - "write.format.default" : "PARQUET", - "trino.stats.ndv.17.ndv" : "1350317", - "trino.stats.ndv.13.ndv" : "43539834", - "trino.stats.ndv.16.ndv" : "138447", - "trino.stats.ndv.4.ndv" : "1890006", - "trino.stats.ndv.5.ndv" : "7082", - "trino.stats.ndv.9.ndv" : "7082", - "trino.stats.ndv.12.ndv" : "65", - "trino.stats.ndv.10.ndv" : "5947530", - "trino.stats.ndv.1.ndv" : "89157", - "trino.stats.ndv.15.ndv" : "794159", - "trino.stats.ndv.6.ndv" : "5947530", - "trino.stats.ndv.20.ndv" : "939647", - "trino.stats.ndv.24.ndv" : "2219", - "trino.stats.ndv.11.ndv" : "3006" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 4600928459638848296, "refs" : { @@ -330,6 +306,205 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/web_returns/metadata/snap-4600928459638848296-1-dc6373bf-8105-40e7-af78-8519b9edebff.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 4600928459638848296, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/web_returns/metadata/20240320_235040_02780_t6z6k-a96762e1-b2af-49a5-9266-90922d111b89.stats", + "file-size-in-bytes" : 668786, + "file-footer-size-in-bytes" : 4777, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "2184" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "83585" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "302044" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "11918228" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "1930039" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "7175" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "6043919" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "11929047" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "1930039" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "7177" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 11 ], + "properties" : { + "ndv" : "6043919" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 12 ], + "properties" : { + "ndv" : "3000" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 13 ], + "properties" : { + "ndv" : "65" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 14 ], + "properties" : { + "ndv" : "43266341" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 15 ], + "properties" : { + "ndv" : "100" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 16 ], + "properties" : { + "ndv" : "837410" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 17 ], + "properties" : { + "ndv" : "140489" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 18 ], + "properties" : { + "ndv" : "1378405" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 19 ], + "properties" : { + "ndv" : "9818" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 20 ], + "properties" : { + "ndv" : "465653" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 21 ], + "properties" : { + "ndv" : "977797" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 22 ], + "properties" : { + "ndv" : "707603" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 23 ], + "properties" : { + "ndv" : "706042" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4600928459638848296, + "sequence-number" : 2, + "fields" : [ 24 ], + "properties" : { + "ndv" : "851571" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648090756920, "snapshot-id" : 4600928459638848296 @@ -338,4 +513,4 @@ "timestamp-ms" : 1648090756920, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/web_returns/metadata/00000-42b1fa58-ae42-473b-8a26-4872514b27cd.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_returns/metadata/20240320_235040_02780_t6z6k-a96762e1-b2af-49a5-9266-90922d111b89.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_returns/metadata/20240320_235040_02780_t6z6k-a96762e1-b2af-49a5-9266-90922d111b89.stats new file mode 100644 index 000000000000..479734084d70 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_returns/metadata/20240320_235040_02780_t6z6k-a96762e1-b2af-49a5-9266-90922d111b89.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_sales/metadata/00001-c5b98ee0-296d-4767-99d5-2dbc01e759a4.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_sales/metadata/00001-c5b98ee0-296d-4767-99d5-2dbc01e759a4.metadata.json index 4aaa262306d9..91bcc7ef9da4 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_sales/metadata/00001-c5b98ee0-296d-4767-99d5-2dbc01e759a4.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_sales/metadata/00001-c5b98ee0-296d-4767-99d5-2dbc01e759a4.metadata.json @@ -378,41 +378,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.22.ndv" : "1059688", - "trino.stats.ndv.7.ndv" : "5947530", - "trino.stats.ndv.2.ndv" : "1962", - "trino.stats.ndv.27.ndv" : "1509736", - "trino.stats.ndv.30.ndv" : "2360578", - "trino.stats.ndv.19.ndv" : "10091", - "trino.stats.ndv.18.ndv" : "100", - "trino.stats.ndv.14.ndv" : "20", - "trino.stats.ndv.23.ndv" : "1059915", - "trino.stats.ndv.34.ndv" : "1820", - "trino.stats.ndv.21.ndv" : "29691", - "trino.stats.ndv.8.ndv" : "12132428", - "trino.stats.ndv.3.ndv" : "297612", - "write.format.default" : "PARQUET", - "trino.stats.ndv.17.ndv" : "59619264", - "trino.stats.ndv.31.ndv" : "2436710", - "trino.stats.ndv.13.ndv" : "54", - "trino.stats.ndv.26.ndv" : "211496", - "trino.stats.ndv.16.ndv" : "1483", - "trino.stats.ndv.33.ndv" : "1994307", - "trino.stats.ndv.4.ndv" : "12188957", - "trino.stats.ndv.5.ndv" : "1890006", - "trino.stats.ndv.9.ndv" : "1890006", - "trino.stats.ndv.29.ndv" : "1750832", - "trino.stats.ndv.12.ndv" : "3006", - "trino.stats.ndv.25.ndv" : "1115360", - "trino.stats.ndv.10.ndv" : "7082", - "trino.stats.ndv.28.ndv" : "552520", - "trino.stats.ndv.1.ndv" : "89157", - "trino.stats.ndv.15.ndv" : "20", - "trino.stats.ndv.6.ndv" : "7082", - "trino.stats.ndv.32.ndv" : "3163161", - "trino.stats.ndv.20.ndv" : "29733", - "trino.stats.ndv.24.ndv" : "388752", - "trino.stats.ndv.11.ndv" : "5947530" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 6086383195474739821, "refs" : { @@ -440,6 +406,285 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/web_sales/metadata/snap-6086383195474739821-1-c08c5447-c661-442f-99c4-cd2203afcb9a.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 6086383195474739821, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/web_sales/metadata/20240320_235056_02781_t6z6k-e6d8365b-1d5e-4d73-8f78-84283e969a99.stats", + "file-size-in-bytes" : 884354, + "file-footer-size-in-bytes" : 6692, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "1823" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "83615" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "1946" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "302044" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "11907036" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "1930039" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "7173" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "6043919" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "11897511" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "1930039" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 11 ], + "properties" : { + "ndv" : "7175" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 12 ], + "properties" : { + "ndv" : "6043919" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 13 ], + "properties" : { + "ndv" : "3000" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 14 ], + "properties" : { + "ndv" : "54" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 15 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 16 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 17 ], + "properties" : { + "ndv" : "1500" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 18 ], + "properties" : { + "ndv" : "60790639" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 19 ], + "properties" : { + "ndv" : "100" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 20 ], + "properties" : { + "ndv" : "9759" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 21 ], + "properties" : { + "ndv" : "30031" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 22 ], + "properties" : { + "ndv" : "29963" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 23 ], + "properties" : { + "ndv" : "1106628" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 24 ], + "properties" : { + "ndv" : "1105736" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 25 ], + "properties" : { + "ndv" : "403891" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 26 ], + "properties" : { + "ndv" : "1165513" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 27 ], + "properties" : { + "ndv" : "217018" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 28 ], + "properties" : { + "ndv" : "1506571" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 29 ], + "properties" : { + "ndv" : "583119" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 30 ], + "properties" : { + "ndv" : "1732894" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 31 ], + "properties" : { + "ndv" : "2324155" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 32 ], + "properties" : { + "ndv" : "2388629" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 33 ], + "properties" : { + "ndv" : "3162750" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6086383195474739821, + "sequence-number" : 2, + "fields" : [ 34 ], + "properties" : { + "ndv" : "2047188" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648092245511, "snapshot-id" : 6086383195474739821 @@ -448,4 +693,4 @@ "timestamp-ms" : 1648092245511, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/web_sales/metadata/00000-c9f38021-83ff-4c98-9bf6-132c5d477ee4.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_sales/metadata/20240320_235056_02781_t6z6k-e6d8365b-1d5e-4d73-8f78-84283e969a99.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_sales/metadata/20240320_235056_02781_t6z6k-e6d8365b-1d5e-4d73-8f78-84283e969a99.stats new file mode 100644 index 000000000000..2abe209b4820 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_sales/metadata/20240320_235056_02781_t6z6k-e6d8365b-1d5e-4d73-8f78-84283e969a99.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_site/metadata/00001-48e6cb18-4dae-4195-ba13-40e7023ffa58.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_site/metadata/00001-48e6cb18-4dae-4195-ba13-40e7023ffa58.metadata.json index df09fe09423f..40003de8d7a6 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_site/metadata/00001-48e6cb18-4dae-4195-ba13-40e7023ffa58.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_site/metadata/00001-48e6cb18-4dae-4195-ba13-40e7023ffa58.metadata.json @@ -288,33 +288,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.22.ndv" : "18", - "trino.stats.ndv.7.ndv" : "18", - "trino.stats.ndv.2.ndv" : "27", - "trino.stats.ndv.19.ndv" : "38", - "trino.stats.ndv.18.ndv" : "20", - "trino.stats.ndv.14.ndv" : "6", - "trino.stats.ndv.23.ndv" : "32", - "trino.stats.ndv.8.ndv" : "1", - "trino.stats.ndv.21.ndv" : "24", - "trino.stats.ndv.3.ndv" : "4", - "write.format.default" : "PARQUET", - "trino.stats.ndv.17.ndv" : "52", - "trino.stats.ndv.13.ndv" : "45", - "trino.stats.ndv.26.ndv" : "13", - "trino.stats.ndv.16.ndv" : "35", - "trino.stats.ndv.4.ndv" : "3", - "trino.stats.ndv.5.ndv" : "9", - "trino.stats.ndv.9.ndv" : "39", - "trino.stats.ndv.12.ndv" : "38", - "trino.stats.ndv.25.ndv" : "4", - "trino.stats.ndv.10.ndv" : "6", - "trino.stats.ndv.1.ndv" : "54", - "trino.stats.ndv.15.ndv" : "6", - "trino.stats.ndv.6.ndv" : "27", - "trino.stats.ndv.20.ndv" : "30", - "trino.stats.ndv.24.ndv" : "1", - "trino.stats.ndv.11.ndv" : "39" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 5291438207141919817, "refs" : { @@ -342,6 +316,221 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/web_site/metadata/snap-5291438207141919817-1-b1bad00b-8038-45ba-b97c-7c765af2c811.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 5291438207141919817, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/web_site/metadata/20240320_235120_02784_t6z6k-61ab1d41-5572-4cbf-9b1b-fae2b25987a0.stats", + "file-size-in-bytes" : 10419, + "file-footer-size-in-bytes" : 4955, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 1 ], + "properties" : { + "ndv" : "54" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 2 ], + "properties" : { + "ndv" : "27" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 3 ], + "properties" : { + "ndv" : "4" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 4 ], + "properties" : { + "ndv" : "3" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 5 ], + "properties" : { + "ndv" : "9" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 6 ], + "properties" : { + "ndv" : "27" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 7 ], + "properties" : { + "ndv" : "18" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 8 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 9 ], + "properties" : { + "ndv" : "39" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 10 ], + "properties" : { + "ndv" : "6" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 11 ], + "properties" : { + "ndv" : "39" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 12 ], + "properties" : { + "ndv" : "38" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 13 ], + "properties" : { + "ndv" : "45" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 14 ], + "properties" : { + "ndv" : "6" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 15 ], + "properties" : { + "ndv" : "6" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 16 ], + "properties" : { + "ndv" : "35" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 17 ], + "properties" : { + "ndv" : "52" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 18 ], + "properties" : { + "ndv" : "20" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 19 ], + "properties" : { + "ndv" : "38" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 20 ], + "properties" : { + "ndv" : "30" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 21 ], + "properties" : { + "ndv" : "24" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 22 ], + "properties" : { + "ndv" : "18" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 23 ], + "properties" : { + "ndv" : "32" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 24 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 25 ], + "properties" : { + "ndv" : "4" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5291438207141919817, + "sequence-number" : 2, + "fields" : [ 26 ], + "properties" : { + "ndv" : "13" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1648081277351, "snapshot-id" : 5291438207141919817 @@ -350,4 +539,4 @@ "timestamp-ms" : 1648081277351, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpcds-sf1000-parquet-part/web_site/metadata/00000-feb0f982-9d4c-42ab-9fce-758166883274.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_site/metadata/20240320_235120_02784_t6z6k-61ab1d41-5572-4cbf-9b1b-fae2b25987a0.stats b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_site/metadata/20240320_235120_02784_t6z6k-61ab1d41-5572-4cbf-9b1b-fae2b25987a0.stats new file mode 100644 index 000000000000..6e843af07188 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpcds/sf1000/partitioned/web_site/metadata/20240320_235120_02784_t6z6k-61ab1d41-5572-4cbf-9b1b-fae2b25987a0.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/customer/metadata/00001-93ab73d2-0ce9-4e5e-ba87-e86c8cc33af6.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/customer/metadata/00001-93ab73d2-0ce9-4e5e-ba87-e86c8cc33af6.metadata.json index b2f78ef102f1..769ff440af8a 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/customer/metadata/00001-93ab73d2-0ce9-4e5e-ba87-e86c8cc33af6.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/customer/metadata/00001-93ab73d2-0ce9-4e5e-ba87-e86c8cc33af6.metadata.json @@ -108,15 +108,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.7.ndv" : "5", - "trino.stats.ndv.2.ndv" : "159508311", - "trino.stats.ndv.8.ndv" : "118626733", - "trino.stats.ndv.1.ndv" : "153278899", - "trino.stats.ndv.3.ndv" : "150319584", - "trino.stats.ndv.6.ndv" : "1068508", - "write.format.default" : "PARQUET", - "trino.stats.ndv.4.ndv" : "25", - "trino.stats.ndv.5.ndv" : "144405011" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 4370200594185215759, "refs" : { @@ -144,6 +136,77 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/customer/metadata/snap-4370200594185215759-1-30750c07-6e32-4867-a606-44111b035949.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 4370200594185215759, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/customer/metadata/20240327_144538_01525_dkpyt-2d67a468-3aa5-46b7-a521-773f5ea73515.stats", + "file-size-in-bytes" : 173128, + "file-footer-size-in-bytes" : 1654, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4370200594185215759, + "sequence-number" : 1, + "fields" : [ 1 ], + "properties" : { + "ndv" : "157046854" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4370200594185215759, + "sequence-number" : 1, + "fields" : [ 2 ], + "properties" : { + "ndv" : "146492139" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4370200594185215759, + "sequence-number" : 1, + "fields" : [ 3 ], + "properties" : { + "ndv" : "148724865" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4370200594185215759, + "sequence-number" : 1, + "fields" : [ 4 ], + "properties" : { + "ndv" : "25" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4370200594185215759, + "sequence-number" : 1, + "fields" : [ 5 ], + "properties" : { + "ndv" : "151238005" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4370200594185215759, + "sequence-number" : 1, + "fields" : [ 6 ], + "properties" : { + "ndv" : "1114825" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4370200594185215759, + "sequence-number" : 1, + "fields" : [ 7 ], + "properties" : { + "ndv" : "5" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4370200594185215759, + "sequence-number" : 1, + "fields" : [ 8 ], + "properties" : { + "ndv" : "121169404" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1647882870962, "snapshot-id" : 4370200594185215759 @@ -152,4 +215,4 @@ "timestamp-ms" : 1647882870962, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/customer/metadata/00000-07760488-3fec-445c-8693-4e0cf175940d.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/customer/metadata/20240327_144538_01525_dkpyt-2d67a468-3aa5-46b7-a521-773f5ea73515.stats b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/customer/metadata/20240327_144538_01525_dkpyt-2d67a468-3aa5-46b7-a521-773f5ea73515.stats new file mode 100644 index 000000000000..e2087bfe642c Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/customer/metadata/20240327_144538_01525_dkpyt-2d67a468-3aa5-46b7-a521-773f5ea73515.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/lineitem/metadata/00001-f6deacdd-7f87-4bc3-9ad1-efb29f31b2ef.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/lineitem/metadata/00001-f6deacdd-7f87-4bc3-9ad1-efb29f31b2ef.metadata.json index 6ad7c011376a..386b0138d158 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/lineitem/metadata/00001-f6deacdd-7f87-4bc3-9ad1-efb29f31b2ef.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/lineitem/metadata/00001-f6deacdd-7f87-4bc3-9ad1-efb29f31b2ef.metadata.json @@ -188,23 +188,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.2.ndv" : "205115671", - "trino.stats.ndv.7.ndv" : "11", - "trino.stats.ndv.16.ndv" : "153538485", - "trino.stats.ndv.4.ndv" : "7", - "trino.stats.ndv.5.ndv" : "50", - "trino.stats.ndv.9.ndv" : "3", - "trino.stats.ndv.14.ndv" : "4", - "trino.stats.ndv.12.ndv" : "2493", - "trino.stats.ndv.10.ndv" : "2", - "trino.stats.ndv.8.ndv" : "9", - "trino.stats.ndv.1.ndv" : "1485693109", - "trino.stats.ndv.15.ndv" : "7", - "trino.stats.ndv.3.ndv" : "10311101", - "trino.stats.ndv.6.ndv" : "3790825", - "write.format.default" : "PARQUET", - "trino.stats.ndv.13.ndv" : "2576", - "trino.stats.ndv.11.ndv" : "2551" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 2010185327452057859, "refs" : { @@ -232,6 +216,141 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/lineitem/metadata/snap-2010185327452057859-1-9eb45a05-f72f-48d1-82f9-b6ea7baffaee.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 2010185327452057859, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/lineitem/metadata/20240327_144610_02019_h3sru-73ee7e44-f6a3-478f-ad2f-1a6fe0c9f1c1.stats", + "file-size-in-bytes" : 208717, + "file-footer-size-in-bytes" : 3166, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2010185327452057859, + "sequence-number" : 1, + "fields" : [ 1 ], + "properties" : { + "ndv" : "1461095820" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2010185327452057859, + "sequence-number" : 1, + "fields" : [ 2 ], + "properties" : { + "ndv" : "204362960" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2010185327452057859, + "sequence-number" : 1, + "fields" : [ 3 ], + "properties" : { + "ndv" : "10101679" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2010185327452057859, + "sequence-number" : 1, + "fields" : [ 4 ], + "properties" : { + "ndv" : "7" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2010185327452057859, + "sequence-number" : 1, + "fields" : [ 5 ], + "properties" : { + "ndv" : "50" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2010185327452057859, + "sequence-number" : 1, + "fields" : [ 6 ], + "properties" : { + "ndv" : "3819066" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2010185327452057859, + "sequence-number" : 1, + "fields" : [ 7 ], + "properties" : { + "ndv" : "11" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2010185327452057859, + "sequence-number" : 1, + "fields" : [ 8 ], + "properties" : { + "ndv" : "9" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2010185327452057859, + "sequence-number" : 1, + "fields" : [ 9 ], + "properties" : { + "ndv" : "3" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2010185327452057859, + "sequence-number" : 1, + "fields" : [ 10 ], + "properties" : { + "ndv" : "2" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2010185327452057859, + "sequence-number" : 1, + "fields" : [ 11 ], + "properties" : { + "ndv" : "2526" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2010185327452057859, + "sequence-number" : 1, + "fields" : [ 12 ], + "properties" : { + "ndv" : "2466" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2010185327452057859, + "sequence-number" : 1, + "fields" : [ 13 ], + "properties" : { + "ndv" : "2555" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2010185327452057859, + "sequence-number" : 1, + "fields" : [ 14 ], + "properties" : { + "ndv" : "4" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2010185327452057859, + "sequence-number" : 1, + "fields" : [ 15 ], + "properties" : { + "ndv" : "7" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2010185327452057859, + "sequence-number" : 1, + "fields" : [ 16 ], + "properties" : { + "ndv" : "155750838" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1647888451977, "snapshot-id" : 2010185327452057859 @@ -240,4 +359,4 @@ "timestamp-ms" : 1647888451977, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/lineitem/metadata/00000-04c30506-895c-40fc-8e48-8318d08195cb.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/lineitem/metadata/20240327_144610_02019_h3sru-73ee7e44-f6a3-478f-ad2f-1a6fe0c9f1c1.stats b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/lineitem/metadata/20240327_144610_02019_h3sru-73ee7e44-f6a3-478f-ad2f-1a6fe0c9f1c1.stats new file mode 100644 index 000000000000..dbab23642e0f Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/lineitem/metadata/20240327_144610_02019_h3sru-73ee7e44-f6a3-478f-ad2f-1a6fe0c9f1c1.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/nation/metadata/00001-9c53243a-1beb-44f4-8e56-8eaa274bc9c7.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/nation/metadata/00001-9c53243a-1beb-44f4-8e56-8eaa274bc9c7.metadata.json index 34b466b04829..930f2bd2904f 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/nation/metadata/00001-9c53243a-1beb-44f4-8e56-8eaa274bc9c7.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/nation/metadata/00001-9c53243a-1beb-44f4-8e56-8eaa274bc9c7.metadata.json @@ -68,11 +68,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.2.ndv" : "25", - "trino.stats.ndv.1.ndv" : "25", - "trino.stats.ndv.3.ndv" : "5", - "write.format.default" : "PARQUET", - "trino.stats.ndv.4.ndv" : "25" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 5987065169814573221, "refs" : { @@ -99,6 +95,45 @@ }, "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/nation/metadata/snap-5987065169814573221-1-e3a2705e-f37e-4708-9dd0-34090f475f02.avro", "schema-id" : 0 + } ], + "statistics" : [ { + "snapshot-id" : 5987065169814573221, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/nation/metadata/20240327_144923_01338_mjn5m-86b1db04-a91d-4aa2-987a-a65010dd61e5.stats", + "file-size-in-bytes" : 1601, + "file-footer-size-in-bytes" : 841, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5987065169814573221, + "sequence-number" : 1, + "fields" : [ 1 ], + "properties" : { + "ndv" : "25" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5987065169814573221, + "sequence-number" : 1, + "fields" : [ 2 ], + "properties" : { + "ndv" : "25" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5987065169814573221, + "sequence-number" : 1, + "fields" : [ 3 ], + "properties" : { + "ndv" : "5" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 5987065169814573221, + "sequence-number" : 1, + "fields" : [ 4 ], + "properties" : { + "ndv" : "25" + } + } ] } ], "snapshot-log" : [ { "timestamp-ms" : 1647888454307, @@ -108,4 +143,4 @@ "timestamp-ms" : 1647888454307, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/nation/metadata/00000-1ea77250-b1b9-42f5-9e38-35264fc8f1e9.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/nation/metadata/20240327_144923_01338_mjn5m-86b1db04-a91d-4aa2-987a-a65010dd61e5.stats b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/nation/metadata/20240327_144923_01338_mjn5m-86b1db04-a91d-4aa2-987a-a65010dd61e5.stats new file mode 100644 index 000000000000..4da0ab82569e Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/nation/metadata/20240327_144923_01338_mjn5m-86b1db04-a91d-4aa2-987a-a65010dd61e5.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/orders/metadata/00001-e500bd00-0e38-4dbb-8a45-b1102b4616b5.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/orders/metadata/00001-e500bd00-0e38-4dbb-8a45-b1102b4616b5.metadata.json index 806282761657..3e06eddb4ab0 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/orders/metadata/00001-e500bd00-0e38-4dbb-8a45-b1102b4616b5.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/orders/metadata/00001-e500bd00-0e38-4dbb-8a45-b1102b4616b5.metadata.json @@ -118,16 +118,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.7.ndv" : "993687", - "trino.stats.ndv.2.ndv" : "101809026", - "trino.stats.ndv.1.ndv" : "1485693109", - "trino.stats.ndv.8.ndv" : "1", - "trino.stats.ndv.6.ndv" : "5", - "trino.stats.ndv.3.ndv" : "3", - "write.format.default" : "PARQUET", - "trino.stats.ndv.4.ndv" : "41505504", - "trino.stats.ndv.5.ndv" : "2449", - "trino.stats.ndv.9.ndv" : "270910389" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 2054734473589120268, "refs" : { @@ -154,6 +145,85 @@ }, "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/orders/metadata/snap-2054734473589120268-1-a2c9dd59-f137-4d62-bba4-cd37998c427d.avro", "schema-id" : 0 + } ], + "statistics" : [ { + "snapshot-id" : 2054734473589120268, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/orders/metadata/20240327_144926_01528_dkpyt-66aeb449-2c98-48ab-982b-5fa5bdb79b29.stats", + "file-size-in-bytes" : 164640, + "file-footer-size-in-bytes" : 1833, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2054734473589120268, + "sequence-number" : 1, + "fields" : [ 1 ], + "properties" : { + "ndv" : "1461095820" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2054734473589120268, + "sequence-number" : 1, + "fields" : [ 2 ], + "properties" : { + "ndv" : "102574727" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2054734473589120268, + "sequence-number" : 1, + "fields" : [ 3 ], + "properties" : { + "ndv" : "3" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2054734473589120268, + "sequence-number" : 1, + "fields" : [ 4 ], + "properties" : { + "ndv" : "41894107" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2054734473589120268, + "sequence-number" : 1, + "fields" : [ 5 ], + "properties" : { + "ndv" : "2406" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2054734473589120268, + "sequence-number" : 1, + "fields" : [ 6 ], + "properties" : { + "ndv" : "5" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2054734473589120268, + "sequence-number" : 1, + "fields" : [ 7 ], + "properties" : { + "ndv" : "993495" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2054734473589120268, + "sequence-number" : 1, + "fields" : [ 8 ], + "properties" : { + "ndv" : "1" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2054734473589120268, + "sequence-number" : 1, + "fields" : [ 9 ], + "properties" : { + "ndv" : "274900607" + } + } ] } ], "snapshot-log" : [ { "timestamp-ms" : 1647889492638, @@ -163,4 +233,4 @@ "timestamp-ms" : 1647889492638, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/orders/metadata/00000-50f0c3e6-0615-4d82-a0be-20013977b9c1.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/orders/metadata/20240327_144926_01528_dkpyt-66aeb449-2c98-48ab-982b-5fa5bdb79b29.stats b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/orders/metadata/20240327_144926_01528_dkpyt-66aeb449-2c98-48ab-982b-5fa5bdb79b29.stats new file mode 100644 index 000000000000..87dfe7ef1fc3 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/orders/metadata/20240327_144926_01528_dkpyt-66aeb449-2c98-48ab-982b-5fa5bdb79b29.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/part/metadata/00001-b61d1dc1-a40c-4d6a-adc8-f0abd7376d1a.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/part/metadata/00001-b61d1dc1-a40c-4d6a-adc8-f0abd7376d1a.metadata.json index 41c5152ec169..0f6d262bed48 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/part/metadata/00001-b61d1dc1-a40c-4d6a-adc8-f0abd7376d1a.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/part/metadata/00001-b61d1dc1-a40c-4d6a-adc8-f0abd7376d1a.metadata.json @@ -154,6 +154,85 @@ }, "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/part/metadata/snap-2451437136998665463-1-5edd0121-9c67-4612-a698-952806d01c6d.avro", "schema-id" : 0 + } ], + "statistics" : [ { + "snapshot-id" : 2451437136998665463, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/part/metadata/20240327_145031_01174_2mgtb-9c0527bd-8a36-4c3b-a162-2c6229d5d1e8.stats", + "file-size-in-bytes" : 122015, + "file-footer-size-in-bytes" : 1821, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2451437136998665463, + "sequence-number" : 1, + "fields" : [ 1 ], + "properties" : { + "ndv" : "204362960" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2451437136998665463, + "sequence-number" : 1, + "fields" : [ 2 ], + "properties" : { + "ndv" : "196851073" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2451437136998665463, + "sequence-number" : 1, + "fields" : [ 3 ], + "properties" : { + "ndv" : "5" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2451437136998665463, + "sequence-number" : 1, + "fields" : [ 4 ], + "properties" : { + "ndv" : "25" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2451437136998665463, + "sequence-number" : 1, + "fields" : [ 5 ], + "properties" : { + "ndv" : "150" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2451437136998665463, + "sequence-number" : 1, + "fields" : [ 6 ], + "properties" : { + "ndv" : "50" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2451437136998665463, + "sequence-number" : 1, + "fields" : [ 7 ], + "properties" : { + "ndv" : "40" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2451437136998665463, + "sequence-number" : 1, + "fields" : [ 8 ], + "properties" : { + "ndv" : "117149" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 2451437136998665463, + "sequence-number" : 1, + "fields" : [ 9 ], + "properties" : { + "ndv" : "14127730" + } + } ] } ], "snapshot-log" : [ { "timestamp-ms" : 1647889641649, @@ -163,4 +242,4 @@ "timestamp-ms" : 1647889641649, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/part/metadata/00000-07030f08-82f6-4010-98a5-3d0767a8f31c.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/part/metadata/20240327_145031_01174_2mgtb-9c0527bd-8a36-4c3b-a162-2c6229d5d1e8.stats b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/part/metadata/20240327_145031_01174_2mgtb-9c0527bd-8a36-4c3b-a162-2c6229d5d1e8.stats new file mode 100644 index 000000000000..b10dc106b426 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/part/metadata/20240327_145031_01174_2mgtb-9c0527bd-8a36-4c3b-a162-2c6229d5d1e8.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/partsupp/metadata/00001-0ca88c5c-e3d3-4d3d-a331-78e604e9d362.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/partsupp/metadata/00001-0ca88c5c-e3d3-4d3d-a331-78e604e9d362.metadata.json index 33cd1a1122f4..8ed6852d84c5 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/partsupp/metadata/00001-0ca88c5c-e3d3-4d3d-a331-78e604e9d362.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/partsupp/metadata/00001-0ca88c5c-e3d3-4d3d-a331-78e604e9d362.metadata.json @@ -78,12 +78,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.2.ndv" : "10311101", - "trino.stats.ndv.1.ndv" : "205115671", - "trino.stats.ndv.3.ndv" : "10167", - "write.format.default" : "PARQUET", - "trino.stats.ndv.4.ndv" : "102793", - "trino.stats.ndv.5.ndv" : "317104119" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 4939042327833546636, "refs" : { @@ -110,6 +105,53 @@ }, "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/partsupp/metadata/snap-4939042327833546636-1-00c1c648-86af-4ecf-b9cb-85595ef91a48.avro", "schema-id" : 0 + } ], + "statistics" : [ { + "snapshot-id" : 4939042327833546636, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/partsupp-85ddf0486e194c8abb0cba328ad012a5/metadata/20240327_145100_02020_h3sru-e988d350-09f8-46cb-98cf-d57eaf6cf919.stats", + "file-size-in-bytes" : 151307, + "file-footer-size-in-bytes" : 1075, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4939042327833546636, + "sequence-number" : 1, + "fields" : [ 1 ], + "properties" : { + "ndv" : "204362960" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4939042327833546636, + "sequence-number" : 1, + "fields" : [ 2 ], + "properties" : { + "ndv" : "10101679" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4939042327833546636, + "sequence-number" : 1, + "fields" : [ 3 ], + "properties" : { + "ndv" : "10178" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4939042327833546636, + "sequence-number" : 1, + "fields" : [ 4 ], + "properties" : { + "ndv" : "101507" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 4939042327833546636, + "sequence-number" : 1, + "fields" : [ 5 ], + "properties" : { + "ndv" : "303133539" + } + } ] } ], "snapshot-log" : [ { "timestamp-ms" : 1647890125634, @@ -119,4 +161,4 @@ "timestamp-ms" : 1647890125634, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/partsupp/metadata/00000-9d815a6d-77db-4be3-8c0a-fd61eb5d8802.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/partsupp/metadata/20240327_145100_02020_h3sru-e988d350-09f8-46cb-98cf-d57eaf6cf919.stats b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/partsupp/metadata/20240327_145100_02020_h3sru-e988d350-09f8-46cb-98cf-d57eaf6cf919.stats new file mode 100644 index 000000000000..e527454e84d6 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/partsupp/metadata/20240327_145100_02020_h3sru-e988d350-09f8-46cb-98cf-d57eaf6cf919.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/region/metadata/00001-93c9215e-992a-4c5e-ba08-fcff4733bf75.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/region/metadata/00001-93c9215e-992a-4c5e-ba08-fcff4733bf75.metadata.json index 9e4cb0b23762..d943efce329c 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/region/metadata/00001-93c9215e-992a-4c5e-ba08-fcff4733bf75.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/region/metadata/00001-93c9215e-992a-4c5e-ba08-fcff4733bf75.metadata.json @@ -58,9 +58,6 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.2.ndv" : "5", - "trino.stats.ndv.1.ndv" : "5", - "trino.stats.ndv.3.ndv" : "5", "write.format.default" : "PARQUET" }, "current-snapshot-id" : 6839986430402395594, @@ -89,6 +86,37 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/region/metadata/snap-6839986430402395594-1-3f47ad2f-9095-47cd-8988-4809d94e799c.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 6839986430402395594, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/region/metadata/20240327_145143_02021_h3sru-35f56829-2e03-4c3a-ace7-2c0089ba4e43.stats", + "file-size-in-bytes" : 858, + "file-footer-size-in-bytes" : 647, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6839986430402395594, + "sequence-number" : 1, + "fields" : [ 1 ], + "properties" : { + "ndv" : "5" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6839986430402395594, + "sequence-number" : 1, + "fields" : [ 2 ], + "properties" : { + "ndv" : "5" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 6839986430402395594, + "sequence-number" : 1, + "fields" : [ 3 ], + "properties" : { + "ndv" : "5" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1647890128590, "snapshot-id" : 6839986430402395594 @@ -97,4 +125,4 @@ "timestamp-ms" : 1647890128590, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/region/metadata/00000-7c27e581-3026-4ed8-bc13-4036fecd1206.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/region/metadata/20240327_145143_02021_h3sru-35f56829-2e03-4c3a-ace7-2c0089ba4e43.stats b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/region/metadata/20240327_145143_02021_h3sru-35f56829-2e03-4c3a-ace7-2c0089ba4e43.stats new file mode 100644 index 000000000000..99b730599095 Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/region/metadata/20240327_145143_02021_h3sru-35f56829-2e03-4c3a-ace7-2c0089ba4e43.stats differ diff --git a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/supplier/metadata/00001-e7a9638d-1c61-4083-b182-0c99c6f89305.metadata.json b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/supplier/metadata/00001-e7a9638d-1c61-4083-b182-0c99c6f89305.metadata.json index 18ca1e02d7d6..db5eda99ea1d 100644 --- a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/supplier/metadata/00001-e7a9638d-1c61-4083-b182-0c99c6f89305.metadata.json +++ b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/supplier/metadata/00001-e7a9638d-1c61-4083-b182-0c99c6f89305.metadata.json @@ -98,14 +98,7 @@ "fields" : [ ] } ], "properties" : { - "trino.stats.ndv.2.ndv" : "10167273", - "trino.stats.ndv.7.ndv" : "9911599", - "trino.stats.ndv.1.ndv" : "10311101", - "trino.stats.ndv.3.ndv" : "10233152", - "trino.stats.ndv.6.ndv" : "1068508", - "write.format.default" : "PARQUET", - "trino.stats.ndv.4.ndv" : "25", - "trino.stats.ndv.5.ndv" : "9704424" + "write.format.default" : "PARQUET" }, "current-snapshot-id" : 3174586439174883544, "refs" : { @@ -133,6 +126,69 @@ "manifest-list" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/supplier/metadata/snap-3174586439174883544-1-359263b5-5a1f-4f16-bea1-f0f748f0c0a8.avro", "schema-id" : 0 } ], + "statistics" : [ { + "snapshot-id" : 3174586439174883544, + "statistics-path" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/supplier/metadata/20240327_145147_01175_2mgtb-be610cd6-685f-41cc-abfe-7771327e4b5a.stats", + "file-size-in-bytes" : 184195, + "file-footer-size-in-bytes" : 1460, + "blob-metadata" : [ { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3174586439174883544, + "sequence-number" : 1, + "fields" : [ 1 ], + "properties" : { + "ndv" : "10101679" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3174586439174883544, + "sequence-number" : 1, + "fields" : [ 2 ], + "properties" : { + "ndv" : "10312883" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3174586439174883544, + "sequence-number" : 1, + "fields" : [ 3 ], + "properties" : { + "ndv" : "10046716" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3174586439174883544, + "sequence-number" : 1, + "fields" : [ 4 ], + "properties" : { + "ndv" : "25" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3174586439174883544, + "sequence-number" : 1, + "fields" : [ 5 ], + "properties" : { + "ndv" : "9788018" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3174586439174883544, + "sequence-number" : 1, + "fields" : [ 6 ], + "properties" : { + "ndv" : "1114757" + } + }, { + "type" : "apache-datasketches-theta-v1", + "snapshot-id" : 3174586439174883544, + "sequence-number" : 1, + "fields" : [ 7 ], + "properties" : { + "ndv" : "9892561" + } + } ] + } ], "snapshot-log" : [ { "timestamp-ms" : 1647890140401, "snapshot-id" : 3174586439174883544 @@ -141,4 +197,4 @@ "timestamp-ms" : 1647890140401, "metadata-file" : "s3://starburst-benchmarks-data/iceberg-tpch-sf1000-parquet/supplier/metadata/00000-8b7670fc-7cd4-479c-b6fa-244d86a11f4b.metadata.json" } ] -} \ No newline at end of file +} diff --git a/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/supplier/metadata/20240327_145147_01175_2mgtb-be610cd6-685f-41cc-abfe-7771327e4b5a.stats b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/supplier/metadata/20240327_145147_01175_2mgtb-be610cd6-685f-41cc-abfe-7771327e4b5a.stats new file mode 100644 index 000000000000..664fb304549c Binary files /dev/null and b/testing/trino-tests/src/test/resources/iceberg/tpch/sf1000/unpartitioned/supplier/metadata/20240327_145147_01175_2mgtb-be610cd6-685f-41cc-abfe-7771327e4b5a.stats differ diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q01.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q01.plan.txt index e37938554d90..9aa9cbec6225 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q01.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q01.plan.txt @@ -3,9 +3,12 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) cross join: - join (LEFT, PARTITIONED): - remote exchange (REPARTITION, HASH, [sr_store_sk]) - join (INNER, PARTITIONED): + join (LEFT, REPLICATED): + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [c_customer_sk]) + dynamic filter (c_customer_sk::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [sr_customer_sk]) join (INNER, REPLICATED): final aggregation over (sr_customer_sk, sr_store_sk) @@ -13,7 +16,7 @@ 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): - dynamic filter (sr_customer_sk::EQUAL, sr_returned_date_sk::EQUAL, sr_store_sk::EQUAL) + dynamic filter (sr_returned_date_sk::EQUAL, sr_store_sk::EQUAL) scan store_returns local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) @@ -21,23 +24,22 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan store - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - scan customer - final aggregation over (sr_store_sk_12) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [sr_store_sk_12]) - partial aggregation over (sr_store_sk_12) - final aggregation over (sr_customer_sk_8, sr_store_sk_12) - 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): - dynamic filter (sr_returned_date_sk_25::EQUAL) - scan store_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (sr_store_sk_12) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [sr_store_sk_12]) + partial aggregation over (sr_store_sk_12) + final aggregation over (sr_customer_sk_8, sr_store_sk_12) + 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): + dynamic filter (sr_returned_date_sk_25::EQUAL) + scan store_returns + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) single aggregation over () diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q02.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q02.plan.txt index ff679f60a2f0..cde6875d5dd0 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q02.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q02.plan.txt @@ -3,24 +3,21 @@ remote exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, ROUND_ROBIN, []) join (INNER, PARTITIONED): join (INNER, PARTITIONED): - final aggregation over (d_week_seq) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [d_week_seq]) - partial aggregation over (d_week_seq) - final aggregation over (d_day_name, d_week_seq) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [d_day_name, d_week_seq]) - partial aggregation over (d_day_name, d_week_seq) - join (INNER, REPLICATED): - local exchange (REPARTITION, ROUND_ROBIN, []) - dynamic filter (ws_sold_date_sk::EQUAL) - scan web_sales - dynamic filter (cs_sold_date_sk::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (d_week_seq::EQUAL, d_week_seq::EQUAL) - scan date_dim + single aggregation over (d_week_seq) + final aggregation over (d_day_name, d_week_seq) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [d_week_seq]) + partial aggregation over (d_day_name, d_week_seq) + join (INNER, REPLICATED): + local exchange (REPARTITION, ROUND_ROBIN, []) + dynamic filter (ws_sold_date_sk::EQUAL) + scan web_sales + dynamic filter (cs_sold_date_sk::EQUAL) + scan catalog_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + dynamic filter (d_week_seq::EQUAL, d_week_seq::EQUAL) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [d_week_seq_20]) dynamic filter (d_week_seq_20::EQUAL) @@ -28,24 +25,21 @@ remote exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [operator_subtract]) join (INNER, PARTITIONED): - final aggregation over (d_week_seq_124) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [d_week_seq_124]) - partial aggregation over (d_week_seq_124) - final aggregation over (d_day_name_134, d_week_seq_124) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [d_day_name_134, d_week_seq_124]) - partial aggregation over (d_day_name_134, d_week_seq_124) - join (INNER, REPLICATED): - local exchange (REPARTITION, ROUND_ROBIN, []) - dynamic filter (ws_sold_date_sk_81::EQUAL) - scan web_sales - dynamic filter (cs_sold_date_sk_117::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (d_week_seq_124::EQUAL) - scan date_dim + single aggregation over (d_week_seq_124) + final aggregation over (d_day_name_134, d_week_seq_124) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [d_week_seq_124]) + partial aggregation over (d_day_name_134, d_week_seq_124) + join (INNER, REPLICATED): + local exchange (REPARTITION, ROUND_ROBIN, []) + dynamic filter (ws_sold_date_sk_81::EQUAL) + scan web_sales + dynamic filter (cs_sold_date_sk_117::EQUAL) + scan catalog_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + dynamic filter (d_week_seq_124::EQUAL) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [d_week_seq_168]) scan date_dim diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q03.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q03.plan.txt index 7a9948c1b370..ec8d79e0127f 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q03.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q03.plan.txt @@ -12,7 +12,7 @@ local exchange (GATHER, SINGLE, []) scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan item + scan date_dim diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q04.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q04.plan.txt index f9fdbfbb1f20..48c371873112 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q04.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q04.plan.txt @@ -5,111 +5,100 @@ local exchange (GATHER, SINGLE, []) join (INNER, PARTITIONED): join (INNER, PARTITIONED): join (INNER, PARTITIONED): - join (INNER, PARTITIONED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_customer_id]) - 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_birth_country, c_customer_id, c_email_address, c_first_name, c_last_name, c_login, c_preferred_cust_flag, d_year]) - 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, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk]) - dynamic filter (ss_customer_sk::EQUAL, ss_sold_date_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - dynamic filter (c_customer_id::EQUAL, c_customer_id::EQUAL, c_customer_id::EQUAL, c_customer_id::EQUAL, c_customer_id::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_id_146]) - final aggregation over (c_birth_country_159, c_customer_id_146, c_email_address_161, c_first_name_153, c_last_name_154, c_login_160, c_preferred_cust_flag_155, d_year_196) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_birth_country_159, c_customer_id_146, c_email_address_161, c_first_name_153, c_last_name_154, c_login_160, c_preferred_cust_flag_155, d_year_196]) - partial aggregation over (c_birth_country_159, c_customer_id_146, c_email_address_161, c_first_name_153, c_last_name_154, c_login_160, c_preferred_cust_flag_155, d_year_196) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk_167]) - dynamic filter (ss_customer_sk_167::EQUAL, ss_sold_date_sk_187::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk_145]) - dynamic filter (c_customer_id_146::EQUAL, c_customer_id_146::EQUAL, c_customer_id_146::EQUAL, c_customer_id_146::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + final aggregation over (c_birth_country_513, c_customer_id_500, c_email_address_515, c_first_name_507, c_last_name_508, c_login_514, c_preferred_cust_flag_509, d_year_561) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [c_customer_id_500]) - final aggregation over (c_birth_country_513, c_customer_id_500, c_email_address_515, c_first_name_507, c_last_name_508, c_login_514, c_preferred_cust_flag_509, d_year_561) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_birth_country_513, c_customer_id_500, c_email_address_515, c_first_name_507, c_last_name_508, c_login_514, c_preferred_cust_flag_509, d_year_561]) - partial aggregation over (c_birth_country_513, c_customer_id_500, c_email_address_515, c_first_name_507, c_last_name_508, c_login_514, c_preferred_cust_flag_509, d_year_561) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [cs_bill_customer_sk_521]) - dynamic filter (cs_bill_customer_sk_521::EQUAL, cs_sold_date_sk_552::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk_499]) - dynamic filter (c_customer_id_500::EQUAL, c_customer_id_500::EQUAL, c_customer_id_500::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_id_776]) - final aggregation over (c_birth_country_789, c_customer_id_776, c_email_address_791, c_first_name_783, c_last_name_784, c_login_790, c_preferred_cust_flag_785, d_year_837) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_birth_country_789, c_customer_id_776, c_email_address_791, c_first_name_783, c_last_name_784, c_login_790, c_preferred_cust_flag_785, d_year_837]) - partial aggregation over (c_birth_country_789, c_customer_id_776, c_email_address_791, c_first_name_783, c_last_name_784, c_login_790, c_preferred_cust_flag_785, d_year_837) + partial aggregation over (c_birth_country_513, c_customer_id_500, c_email_address_515, c_first_name_507, c_last_name_508, c_login_514, c_preferred_cust_flag_509, d_year_561) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [cs_bill_customer_sk_521]) join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [cs_bill_customer_sk_797]) - dynamic filter (cs_bill_customer_sk_797::EQUAL, cs_sold_date_sk_828::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk_775]) - dynamic filter (c_customer_id_776::EQUAL, c_customer_id_776::EQUAL) - scan customer + dynamic filter (cs_bill_customer_sk_521::EQUAL, cs_sold_date_sk_552::EQUAL) + scan catalog_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_id_1141]) - final aggregation over (c_birth_country_1154, c_customer_id_1141, c_email_address_1156, c_first_name_1148, c_last_name_1149, c_login_1155, c_preferred_cust_flag_1150, d_year_1202) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_birth_country_1154, c_customer_id_1141, c_email_address_1156, c_first_name_1148, c_last_name_1149, c_login_1155, c_preferred_cust_flag_1150, d_year_1202]) - partial aggregation over (c_birth_country_1154, c_customer_id_1141, c_email_address_1156, c_first_name_1148, c_last_name_1149, c_login_1155, c_preferred_cust_flag_1150, d_year_1202) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_bill_customer_sk_1163]) - dynamic filter (ws_bill_customer_sk_1163::EQUAL, ws_sold_date_sk_1193::EQUAL) - scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_sk_499]) + dynamic filter (c_customer_id_500::EQUAL, c_customer_id_500::EQUAL, c_customer_id_500::EQUAL) + scan customer + final aggregation over (c_birth_country_1154, c_customer_id_1141, c_email_address_1156, c_first_name_1148, c_last_name_1149, c_login_1155, c_preferred_cust_flag_1150, d_year_1202) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_id_1141]) + partial aggregation over (c_birth_country_1154, c_customer_id_1141, c_email_address_1156, c_first_name_1148, c_last_name_1149, c_login_1155, c_preferred_cust_flag_1150, d_year_1202) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ws_bill_customer_sk_1163]) + join (INNER, REPLICATED): + dynamic filter (ws_bill_customer_sk_1163::EQUAL, ws_sold_date_sk_1193::EQUAL) + scan web_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk_1140]) - dynamic filter (c_customer_id_1141::EQUAL) - scan customer + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_sk_1140]) + dynamic filter (c_customer_id_1141::EQUAL, c_customer_id_1141::EQUAL) + scan customer + final aggregation over (c_birth_country_159, c_customer_id_146, c_email_address_161, c_first_name_153, c_last_name_154, c_login_160, c_preferred_cust_flag_155, d_year_196) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_id_146]) + partial aggregation over (c_birth_country_159, c_customer_id_146, c_email_address_161, c_first_name_153, c_last_name_154, c_login_160, c_preferred_cust_flag_155, d_year_196) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_customer_sk_167]) + join (INNER, REPLICATED): + dynamic filter (ss_customer_sk_167::EQUAL, ss_sold_date_sk_187::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_id_1417]) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_sk_145]) + dynamic filter (c_customer_id_146::EQUAL) + scan customer + join (INNER, PARTITIONED): + join (INNER, PARTITIONED): + final aggregation over (c_birth_country_789, c_customer_id_776, c_email_address_791, c_first_name_783, c_last_name_784, c_login_790, c_preferred_cust_flag_785, d_year_837) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_id_776]) + partial aggregation over (c_birth_country_789, c_customer_id_776, c_email_address_791, c_first_name_783, c_last_name_784, c_login_790, c_preferred_cust_flag_785, d_year_837) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [cs_bill_customer_sk_797]) + join (INNER, REPLICATED): + dynamic filter (cs_bill_customer_sk_797::EQUAL, cs_sold_date_sk_828::EQUAL) + 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_775]) + dynamic filter (c_customer_id_776::EQUAL, c_customer_id_776::EQUAL) + scan customer final aggregation over (c_birth_country_1430, c_customer_id_1417, c_email_address_1432, c_first_name_1424, c_last_name_1425, c_login_1431, c_preferred_cust_flag_1426, d_year_1478) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_birth_country_1430, c_customer_id_1417, c_email_address_1432, c_first_name_1424, c_last_name_1425, c_login_1431, c_preferred_cust_flag_1426, d_year_1478]) + remote exchange (REPARTITION, HASH, [c_customer_id_1417]) partial aggregation over (c_birth_country_1430, c_customer_id_1417, c_email_address_1432, c_first_name_1424, c_last_name_1425, c_login_1431, c_preferred_cust_flag_1426, d_year_1478) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_bill_customer_sk_1439]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ws_bill_customer_sk_1439]) + join (INNER, REPLICATED): dynamic filter (ws_bill_customer_sk_1439::EQUAL, ws_sold_date_sk_1469::EQUAL) scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk_1416]) - scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + remote exchange (REPARTITION, HASH, [c_customer_sk_1416]) + dynamic filter (c_customer_id_1417::EQUAL) + 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]) + 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, [ss_customer_sk]) + join (INNER, REPLICATED): + dynamic filter (ss_customer_sk::EQUAL, ss_sold_date_sk::EQUAL) + 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 diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q06.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q06.plan.txt index ad6f4aa1d560..c1a5f7de9314 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q06.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q06.plan.txt @@ -9,37 +9,37 @@ local exchange (GATHER, SINGLE, []) cross join: join (LEFT, REPLICATED): join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_customer_sk]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_current_addr_sk]) - dynamic filter (c_current_addr_sk::EQUAL, c_customer_sk::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) - scan customer_address + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_customer_sk]) + join (INNER, REPLICATED): + dynamic filter (ss_customer_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ss_customer_sk]) - dynamic filter (ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (d_month_seq::EQUAL) - scan date_dim + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): + dynamic filter (d_month_seq::EQUAL) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + final aggregation over (d_month_seq_11) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [d_month_seq_11]) + partial aggregation over (d_month_seq_11) + scan date_dim local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + remote exchange (REPARTITION, HASH, [c_customer_sk]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [c_current_addr_sk]) + dynamic filter (c_current_addr_sk::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ca_address_sk]) + scan customer_address local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - final aggregation over (d_month_seq_11) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [d_month_seq_11]) - partial aggregation over (d_month_seq_11) - scan date_dim + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) final aggregation over (i_category_50) diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q07.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q07.plan.txt index 73b14e87af3a..5f38b199b86f 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q07.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q07.plan.txt @@ -20,7 +20,7 @@ local exchange (GATHER, SINGLE, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan item + scan promotion local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan promotion + scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q10.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q10.plan.txt index 218823cc22d3..3524f3451959 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q10.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q10.plan.txt @@ -6,48 +6,52 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [cd_credit_rating, cd_dep_college_count, cd_dep_count, cd_dep_employed_count, cd_education_status, cd_gender, cd_marital_status, cd_purchase_estimate]) partial aggregation over (cd_credit_rating, cd_dep_college_count, cd_dep_count, cd_dep_employed_count, cd_education_status, cd_gender, cd_marital_status, cd_purchase_estimate) - join (LEFT, PARTITIONED): - join (LEFT, PARTITIONED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_customer_sk]) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_current_addr_sk]) - dynamic filter (c_current_addr_sk::EQUAL, c_current_cdemo_sk::EQUAL, c_customer_sk::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan customer_demographics - 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): - dynamic filter (ss_sold_date_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - final aggregation over (ws_bill_customer_sk) - 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): - dynamic filter (ws_sold_date_sk::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + join (RIGHT, PARTITIONED): final aggregation over (cs_ship_customer_sk) 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): - dynamic filter (cs_sold_date_sk::EQUAL) + dynamic filter (cs_ship_customer_sk::EQUAL, cs_sold_date_sk::EQUAL) scan catalog_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim + local exchange (GATHER, SINGLE, []) + join (RIGHT, PARTITIONED): + final aggregation over (ws_bill_customer_sk) + 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): + dynamic filter (ws_bill_customer_sk::EQUAL, ws_sold_date_sk::EQUAL) + 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): + dynamic filter (cd_demo_sk::EQUAL) + scan customer_demographics + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, PARTITIONED): + 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): + dynamic filter (ss_customer_sk::EQUAL, ss_sold_date_sk::EQUAL) + 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): + dynamic filter (c_current_addr_sk::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan customer_address diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q11.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q11.plan.txt index a4111e246154..1cde47b7a3d3 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q11.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q11.plan.txt @@ -4,74 +4,67 @@ local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) join (INNER, PARTITIONED): join (INNER, PARTITIONED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_customer_id]) - 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_birth_country, c_customer_id, c_email_address, c_first_name, c_last_name, c_login, c_preferred_cust_flag, d_year]) - 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) + final aggregation over (c_birth_country_84, c_customer_id_71, c_email_address_86, c_first_name_78, c_last_name_79, c_login_85, c_preferred_cust_flag_80, d_year_121) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_id_71]) + partial aggregation over (c_birth_country_84, c_customer_id_71, c_email_address_86, c_first_name_78, c_last_name_79, c_login_85, c_preferred_cust_flag_80, d_year_121) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_customer_sk_92]) join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk]) - dynamic filter (ss_customer_sk::EQUAL, ss_sold_date_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - dynamic filter (c_customer_id::EQUAL, c_customer_id::EQUAL, c_customer_id::EQUAL) - scan customer + dynamic filter (ss_customer_sk_92::EQUAL, ss_sold_date_sk_112::EQUAL) + 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_70]) + dynamic filter (c_customer_id_71::EQUAL, c_customer_id_71::EQUAL) + scan customer + final aggregation over (c_birth_country_339, c_customer_id_326, c_email_address_341, c_first_name_333, c_last_name_334, c_login_340, c_preferred_cust_flag_335, d_year_387) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_id_71]) - final aggregation over (c_birth_country_84, c_customer_id_71, c_email_address_86, c_first_name_78, c_last_name_79, c_login_85, c_preferred_cust_flag_80, d_year_121) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_birth_country_84, c_customer_id_71, c_email_address_86, c_first_name_78, c_last_name_79, c_login_85, c_preferred_cust_flag_80, d_year_121]) - partial aggregation over (c_birth_country_84, c_customer_id_71, c_email_address_86, c_first_name_78, c_last_name_79, c_login_85, c_preferred_cust_flag_80, d_year_121) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk_92]) - dynamic filter (ss_customer_sk_92::EQUAL, ss_sold_date_sk_112::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk_70]) - dynamic filter (c_customer_id_71::EQUAL, c_customer_id_71::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_id_326]) - final aggregation over (c_birth_country_339, c_customer_id_326, c_email_address_341, c_first_name_333, c_last_name_334, c_login_340, c_preferred_cust_flag_335, d_year_387) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_birth_country_339, c_customer_id_326, c_email_address_341, c_first_name_333, c_last_name_334, c_login_340, c_preferred_cust_flag_335, d_year_387]) - partial aggregation over (c_birth_country_339, c_customer_id_326, c_email_address_341, c_first_name_333, c_last_name_334, c_login_340, c_preferred_cust_flag_335, d_year_387) + remote exchange (REPARTITION, HASH, [c_customer_id_326]) + partial aggregation over (c_birth_country_339, c_customer_id_326, c_email_address_341, c_first_name_333, c_last_name_334, c_login_340, c_preferred_cust_flag_335, d_year_387) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ws_bill_customer_sk_348]) join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_bill_customer_sk_348]) - dynamic filter (ws_bill_customer_sk_348::EQUAL, ws_sold_date_sk_378::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk_325]) - dynamic filter (c_customer_id_326::EQUAL) - scan customer + dynamic filter (ws_bill_customer_sk_348::EQUAL, ws_sold_date_sk_378::EQUAL) + scan web_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_id_503]) - final aggregation over (c_birth_country_516, c_customer_id_503, c_email_address_518, c_first_name_510, c_last_name_511, c_login_517, c_preferred_cust_flag_512, d_year_564) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_birth_country_516, c_customer_id_503, c_email_address_518, c_first_name_510, c_last_name_511, c_login_517, c_preferred_cust_flag_512, d_year_564]) - partial aggregation over (c_birth_country_516, c_customer_id_503, c_email_address_518, c_first_name_510, c_last_name_511, c_login_517, c_preferred_cust_flag_512, d_year_564) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_bill_customer_sk_525]) - dynamic filter (ws_bill_customer_sk_525::EQUAL, ws_sold_date_sk_555::EQUAL) - scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_sk_325]) + dynamic filter (c_customer_id_326::EQUAL) + 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, []) + remote exchange (REPARTITION, HASH, [c_customer_id]) + 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, [ss_customer_sk]) + join (INNER, REPLICATED): + dynamic filter (ss_customer_sk::EQUAL, ss_sold_date_sk::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk_502]) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_sk]) + dynamic filter (c_customer_id::EQUAL) + scan customer + final aggregation over (c_birth_country_516, c_customer_id_503, c_email_address_518, c_first_name_510, c_last_name_511, c_login_517, c_preferred_cust_flag_512, d_year_564) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_id_503]) + partial aggregation over (c_birth_country_516, c_customer_id_503, c_email_address_518, c_first_name_510, c_last_name_511, c_login_517, c_preferred_cust_flag_512, d_year_564) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ws_bill_customer_sk_525]) + join (INNER, REPLICATED): + dynamic filter (ws_bill_customer_sk_525::EQUAL, ws_sold_date_sk_555::EQUAL) + 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_502]) + scan customer diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q12.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q12.plan.txt index b04a36db4c75..fb4a7ddc7d1f 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q12.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q12.plan.txt @@ -14,7 +14,7 @@ local exchange (GATHER, SINGLE, []) scan web_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q13.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q13.plan.txt index 23d00c74fb55..0140c276409b 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q13.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q13.plan.txt @@ -3,25 +3,24 @@ final aggregation over () remote exchange (GATHER, SINGLE, []) partial aggregation over () join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_addr_sk]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ss_addr_sk::EQUAL, ss_cdemo_sk::EQUAL, ss_hdemo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan store + dynamic filter (ss_addr_sk::EQUAL, ss_cdemo_sk::EQUAL, ss_hdemo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan customer_demographics + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics + scan store + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan household_demographics local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) + remote exchange (REPLICATE, BROADCAST, []) scan customer_address local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan customer_demographics diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q14.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q14.plan.txt index 322e49120e33..823730f6cf64 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q14.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q14.plan.txt @@ -12,68 +12,65 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [i_brand_id_6, i_category_id_8, i_class_id_7]) partial aggregation over (i_brand_id_6, i_category_id_8, i_class_id_7) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_item_sk]) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ss_item_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_sk::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - final aggregation over (i_item_sk_13) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL) + scan store_sales 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): - final aggregation over (brand_id, category_id, class_id) - local exchange (REPARTITION, HASH, [brand_id, category_id, class_id]) - 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): - dynamic filter (ss_item_sk_41::EQUAL, ss_sold_date_sk_62::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_brand_id_72::EQUAL, i_category_id_76::EQUAL, i_class_id_74::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - remote exchange (REPARTITION, HASH, [i_brand_id_128, i_category_id_132, i_class_id_130]) - partial aggregation over (i_brand_id_128, i_category_id_132, i_class_id_130) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_brand_id_128::EQUAL, i_category_id_132::EQUAL, i_class_id_130::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - remote exchange (REPARTITION, HASH, [i_brand_id_184, i_category_id_188, i_class_id_186]) - partial aggregation over (i_brand_id_184, i_category_id_188, i_class_id_186) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_brand_id_184::EQUAL, i_category_id_188::EQUAL, i_class_id_186::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_brand_id_20, i_category_id_24, i_class_id_22]) - scan item + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [i_item_sk]) + dynamic filter (i_item_sk::EQUAL) + 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]) + dynamic filter (i_brand_id_20::EQUAL, i_category_id_24::EQUAL, i_class_id_22::EQUAL) + 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): + dynamic filter (ss_item_sk_41::EQUAL, ss_sold_date_sk_62::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan item + remote exchange (REPARTITION, HASH, [i_brand_id_128, i_category_id_132, i_class_id_130]) + partial aggregation over (i_brand_id_128, i_category_id_132, i_class_id_130) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) + scan catalog_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan item + remote exchange (REPARTITION, HASH, [i_brand_id_184, i_category_id_188, i_class_id_186]) + partial aggregation over (i_brand_id_184, i_category_id_188, i_class_id_186) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) + scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) final aggregation over () @@ -105,68 +102,65 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [i_brand_id_469, i_category_id_473, i_class_id_471]) partial aggregation over (i_brand_id_469, i_category_id_473, i_class_id_471) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [cs_item_sk_440]) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (cs_item_sk_440::EQUAL, cs_item_sk_440::EQUAL, cs_sold_date_sk_459::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_sk_462::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - final aggregation over (i_item_sk_518) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (cs_item_sk_440::EQUAL, cs_sold_date_sk_459::EQUAL) + scan catalog_sales 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): - final aggregation over (brand_id_542, category_id_544, class_id_543) - local exchange (REPARTITION, HASH, [brand_id_542, category_id_544, class_id_543]) - 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): - dynamic filter (ss_item_sk_549::EQUAL, ss_sold_date_sk_570::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_brand_id_580::EQUAL, i_category_id_584::EQUAL, i_class_id_582::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - remote exchange (REPARTITION, HASH, [i_brand_id_670, i_category_id_674, i_class_id_672]) - partial aggregation over (i_brand_id_670, i_category_id_674, i_class_id_672) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (cs_item_sk_641::EQUAL, cs_sold_date_sk_660::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_brand_id_670::EQUAL, i_category_id_674::EQUAL, i_class_id_672::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - remote exchange (REPARTITION, HASH, [i_brand_id_760, i_category_id_764, i_class_id_762]) - partial aggregation over (i_brand_id_760, i_category_id_764, i_class_id_762) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ws_item_sk_719::EQUAL, ws_sold_date_sk_750::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_brand_id_760::EQUAL, i_category_id_764::EQUAL, i_class_id_762::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_brand_id_525, i_category_id_529, i_class_id_527]) - scan item + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [i_item_sk_462]) + dynamic filter (i_item_sk_462::EQUAL) + 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]) + dynamic filter (i_brand_id_525::EQUAL, i_category_id_529::EQUAL, i_class_id_527::EQUAL) + 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): + dynamic filter (ss_item_sk_549::EQUAL, ss_sold_date_sk_570::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan item + remote exchange (REPARTITION, HASH, [i_brand_id_670, i_category_id_674, i_class_id_672]) + partial aggregation over (i_brand_id_670, i_category_id_674, i_class_id_672) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (cs_item_sk_641::EQUAL, cs_sold_date_sk_660::EQUAL) + scan catalog_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan item + remote exchange (REPARTITION, HASH, [i_brand_id_760, i_category_id_764, i_class_id_762]) + partial aggregation over (i_brand_id_760, i_category_id_764, i_class_id_762) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ws_item_sk_719::EQUAL, ws_sold_date_sk_750::EQUAL) + scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) final aggregation over () @@ -198,68 +192,65 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [i_brand_id_1049, i_category_id_1053, i_class_id_1051]) partial aggregation over (i_brand_id_1049, i_category_id_1053, i_class_id_1051) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_item_sk_1008]) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ws_item_sk_1008::EQUAL, ws_item_sk_1008::EQUAL, ws_sold_date_sk_1039::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_sk_1042::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - final aggregation over (i_item_sk_1098) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ws_item_sk_1008::EQUAL, ws_sold_date_sk_1039::EQUAL) + scan web_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_item_sk_1098]) - partial aggregation over (i_item_sk_1098) - join (INNER, PARTITIONED, can skip output duplicates): - final aggregation over (brand_id_1122, category_id_1124, class_id_1123) - local exchange (REPARTITION, HASH, [brand_id_1122, category_id_1124, class_id_1123]) - remote exchange (REPARTITION, HASH, [i_brand_id_1160, i_category_id_1164, i_class_id_1162]) - partial aggregation over (i_brand_id_1160, i_category_id_1164, i_class_id_1162) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ss_item_sk_1129::EQUAL, ss_sold_date_sk_1150::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_brand_id_1160::EQUAL, i_category_id_1164::EQUAL, i_class_id_1162::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - remote exchange (REPARTITION, HASH, [i_brand_id_1250, i_category_id_1254, i_class_id_1252]) - partial aggregation over (i_brand_id_1250, i_category_id_1254, i_class_id_1252) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (cs_item_sk_1221::EQUAL, cs_sold_date_sk_1240::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_brand_id_1250::EQUAL, i_category_id_1254::EQUAL, i_class_id_1252::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - remote exchange (REPARTITION, HASH, [i_brand_id_1340, i_category_id_1344, i_class_id_1342]) - partial aggregation over (i_brand_id_1340, i_category_id_1344, i_class_id_1342) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ws_item_sk_1299::EQUAL, ws_sold_date_sk_1330::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_brand_id_1340::EQUAL, i_category_id_1344::EQUAL, i_class_id_1342::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_brand_id_1105, i_category_id_1109, i_class_id_1107]) - scan item + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [i_item_sk_1042]) + dynamic filter (i_item_sk_1042::EQUAL) + scan item + final aggregation over (i_item_sk_1098) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [i_item_sk_1098]) + partial aggregation over (i_item_sk_1098) + join (INNER, PARTITIONED, can skip output duplicates): + remote exchange (REPARTITION, HASH, [i_brand_id_1105, i_category_id_1109, i_class_id_1107]) + dynamic filter (i_brand_id_1105::EQUAL, i_category_id_1109::EQUAL, i_class_id_1107::EQUAL) + scan item + final aggregation over (brand_id_1122, category_id_1124, class_id_1123) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [i_brand_id_1160, i_category_id_1164, i_class_id_1162]) + partial aggregation over (i_brand_id_1160, i_category_id_1164, i_class_id_1162) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ss_item_sk_1129::EQUAL, ss_sold_date_sk_1150::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan item + remote exchange (REPARTITION, HASH, [i_brand_id_1250, i_category_id_1254, i_class_id_1252]) + partial aggregation over (i_brand_id_1250, i_category_id_1254, i_class_id_1252) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (cs_item_sk_1221::EQUAL, cs_sold_date_sk_1240::EQUAL) + scan catalog_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan item + remote exchange (REPARTITION, HASH, [i_brand_id_1340, i_category_id_1344, i_class_id_1342]) + partial aggregation over (i_brand_id_1340, i_category_id_1344, i_class_id_1342) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ws_item_sk_1299::EQUAL, ws_sold_date_sk_1330::EQUAL) + scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) final aggregation over () diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q15.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q15.plan.txt index 1959839c8b1e..181227d536a6 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q15.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q15.plan.txt @@ -6,20 +6,20 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [ca_zip]) partial aggregation over (ca_zip) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_current_addr_sk]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [cs_bill_customer_sk]) + join (INNER, REPLICATED): + dynamic filter (cs_bill_customer_sk::EQUAL, cs_sold_date_sk::EQUAL) + 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]) join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [cs_bill_customer_sk]) - dynamic filter (cs_bill_customer_sk::EQUAL, cs_sold_date_sk::EQUAL) - scan catalog_sales + remote exchange (REPARTITION, HASH, [c_current_addr_sk]) + dynamic filter (c_current_addr_sk::EQUAL) + scan customer local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - dynamic filter (c_current_addr_sk::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + remote exchange (REPARTITION, HASH, [ca_address_sk]) + scan customer_address diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q16.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q16.plan.txt index d223997dcf33..6d2f798bf318 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q16.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q16.plan.txt @@ -2,31 +2,34 @@ final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () - final aggregation over (cs_order_number, group) + final aggregation over (cs_order_number_22, group) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [cs_order_number, group]) - partial aggregation over (cs_order_number, group) + remote exchange (REPARTITION, HASH, [cs_order_number_22, group]) + partial aggregation over (cs_order_number_22, group) join (LEFT, PARTITIONED): - single aggregation over (ca_state, cc_county, cs_call_center_sk, cs_ext_ship_cost, cs_net_profit, cs_order_number, cs_ship_addr_sk, cs_ship_date_sk, cs_warehouse_sk, d_date, unique) - join (INNER, PARTITIONED, can skip output duplicates): - remote exchange (REPARTITION, HASH, [cs_order_number]) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (cs_call_center_sk::EQUAL, cs_order_number::EQUAL, cs_ship_addr_sk::EQUAL, cs_ship_date_sk::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan customer_address + 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, []) + 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, PARTITIONED, can skip output duplicates): + remote exchange (REPARTITION, HASH, [cs_order_number_22]) + dynamic filter (cs_order_number_22::EQUAL) + scan catalog_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan call_center - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [cs_order_number_22]) - scan catalog_sales + remote exchange (REPARTITION, HASH, [cs_order_number]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (cs_call_center_sk::EQUAL, cs_ship_addr_sk::EQUAL, cs_ship_date_sk::EQUAL) + 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 + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan customer_address final aggregation over (cr_order_number) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [cr_order_number]) diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q17.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q17.plan.txt index 3415b6d9c556..568b9e081fca 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q17.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q17.plan.txt @@ -6,37 +6,38 @@ local exchange (GATHER, SINGLE, []) 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): - join (INNER, REPLICATED): + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [cs_bill_customer_sk, cs_item_sk]) join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - 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]) - dynamic filter (ss_customer_sk::EQUAL, ss_customer_sk::EQUAL, ss_item_sk::EQUAL, ss_item_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL, ss_ticket_number::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [sr_customer_sk, sr_item_sk, sr_ticket_number]) - dynamic filter (sr_customer_sk::EQUAL, sr_item_sk::EQUAL, sr_item_sk::EQUAL, sr_returned_date_sk::EQUAL) - scan store_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [cs_bill_customer_sk, cs_item_sk]) - dynamic filter (cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + dynamic filter (cs_bill_customer_sk::EQUAL, cs_item_sk::EQUAL, cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) + scan catalog_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan store + dynamic filter (i_item_sk::EQUAL) + scan item local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + 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]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ss_customer_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL, ss_ticket_number::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan store + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [sr_customer_sk, sr_item_sk, sr_ticket_number]) + join (INNER, REPLICATED): + dynamic filter (sr_returned_date_sk::EQUAL) + scan store_returns + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q18.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q18.plan.txt index e0b069101d56..89bda8d06557 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q18.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q18.plan.txt @@ -6,32 +6,34 @@ local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, HASH, [ca_country_gid, ca_county_gid, ca_state_gid, groupid, i_item_id_gid]) remote exchange (REPARTITION, HASH, [ca_country_gid, ca_county_gid, ca_state_gid, groupid, i_item_id_gid]) partial aggregation over (ca_country_gid, ca_county_gid, ca_state_gid, groupid, i_item_id_gid) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_current_addr_sk]) + local exchange (REPARTITION, HASH, [i_item_id]) + remote exchange (REPARTITION, HASH, [i_item_id]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [cs_bill_customer_sk]) - join (INNER, REPLICATED): - dynamic filter (cs_bill_cdemo_sk::EQUAL, cs_bill_customer_sk::EQUAL, cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan customer_demographics + join (INNER, REPLICATED): + dynamic filter (cs_bill_cdemo_sk::EQUAL, cs_bill_customer_sk::EQUAL, cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) + scan catalog_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - dynamic filter (c_current_addr_sk::EQUAL, c_current_cdemo_sk::EQUAL) - scan customer + remote exchange (REPLICATE, BROADCAST, []) + scan customer_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan customer_demographics + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan item local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + 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]) + dynamic filter (c_current_addr_sk::EQUAL, c_current_cdemo_sk::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ca_address_sk]) + scan customer_address + 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/trino/tpcds/iceberg/partitioned/q19.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q19.plan.txt index c19aa5976cb9..9db9dd830ccf 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q19.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q19.plan.txt @@ -8,26 +8,26 @@ local exchange (GATHER, SINGLE, []) partial aggregation over (i_brand, i_brand_id, i_manufact, i_manufact_id) join (INNER, REPLICATED): join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_current_addr_sk]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk]) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ss_customer_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + remote exchange (REPARTITION, HASH, [ss_customer_sk]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ss_customer_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) + 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]) + remote exchange (REPLICATE, BROADCAST, []) + scan item + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_sk]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [c_current_addr_sk]) dynamic filter (c_current_addr_sk::EQUAL) scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) - scan customer_address + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ca_address_sk]) + scan customer_address local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan store diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q20.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q20.plan.txt index b497347bc142..1e38c40aae0e 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q20.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q20.plan.txt @@ -14,7 +14,7 @@ local exchange (GATHER, SINGLE, []) scan catalog_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q21.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q21.plan.txt index e7d83fcf1a31..85d20da0e082 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q21.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q21.plan.txt @@ -13,10 +13,10 @@ local exchange (GATHER, SINGLE, []) scan inventory local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan warehouse + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan warehouse diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q22.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q22.plan.txt index afb08eba60d6..81dfb80e38f1 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q22.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q22.plan.txt @@ -6,13 +6,15 @@ local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, HASH, [groupid, i_brand_gid, i_category_gid, i_class_gid, i_product_name_gid]) remote exchange (REPARTITION, HASH, [groupid, i_brand_gid, i_category_gid, i_class_gid, i_product_name_gid]) partial aggregation over (groupid, i_brand_gid, i_category_gid, i_class_gid, i_product_name_gid) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (inv_date_sk::EQUAL, inv_item_sk::EQUAL) - scan inventory - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + local exchange (REPARTITION, HASH, [i_product_name]) + remote exchange (REPARTITION, HASH, [i_product_name]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (inv_date_sk::EQUAL, inv_item_sk::EQUAL) + scan inventory + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q23.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q23.plan.txt index 6013775a2130..ec138e78f767 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q23.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q23.plan.txt @@ -5,31 +5,30 @@ final aggregation over () join (INNER, PARTITIONED): remote exchange (REPARTITION, HASH, [cs_bill_customer_sk]) join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [cs_item_sk]) - join (INNER, REPLICATED): - dynamic filter (cs_bill_customer_sk::EQUAL, cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) - scan catalog_sales + single aggregation over (ss_item_sk) + final aggregation over (d_date_6, gid, ss_item_sk) local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - final aggregation over (ss_item_sk) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ss_item_sk]) - partial aggregation over (ss_item_sk) - final aggregation over (d_date_6, gid, ss_item_sk) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [d_date_6, gid, ss_item_sk]) - partial aggregation over (d_date_6, gid, ss_item_sk) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + remote exchange (REPARTITION, HASH, [ss_item_sk]) + partial aggregation over (d_date_6, gid, ss_item_sk) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ss_item_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + dynamic filter (i_item_sk::EQUAL) + scan item + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [cs_item_sk]) + join (INNER, REPLICATED): + dynamic filter (cs_bill_customer_sk::EQUAL, cs_sold_date_sk::EQUAL) + scan catalog_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim single aggregation over (ss_customer_sk_43) cross join (can skip output duplicates): final aggregation over (ss_customer_sk_43) @@ -51,46 +50,45 @@ final aggregation over () final aggregation over (ss_customer_sk_71) local exchange (GATHER, SINGLE, []) partial aggregation over (ss_customer_sk_71) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk_71]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_customer_sk_71]) + join (INNER, REPLICATED): dynamic filter (ss_customer_sk_71::EQUAL, ss_sold_date_sk_91::EQUAL) scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk_94]) - scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + remote exchange (REPARTITION, HASH, [c_customer_sk_94]) + scan customer partial aggregation over () join (INNER, PARTITIONED): remote exchange (REPARTITION, HASH, [ws_bill_customer_sk]) join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_item_sk]) - join (INNER, REPLICATED): - dynamic filter (ws_bill_customer_sk::EQUAL, ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) - scan web_sales + single aggregation over (ss_item_sk_184) + final aggregation over (d_date_210, gid_263, ss_item_sk_184) local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - final aggregation over (ss_item_sk_184) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ss_item_sk_184]) - partial aggregation over (ss_item_sk_184) - final aggregation over (d_date_210, gid_263, ss_item_sk_184) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [d_date_210, gid_263, ss_item_sk_184]) - partial aggregation over (d_date_210, gid_263, ss_item_sk_184) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ss_item_sk_184::EQUAL, ss_sold_date_sk_205::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + remote exchange (REPARTITION, HASH, [ss_item_sk_184]) + partial aggregation over (d_date_210, gid_263, ss_item_sk_184) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ss_item_sk_184::EQUAL, ss_item_sk_184::EQUAL, ss_sold_date_sk_205::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + dynamic filter (i_item_sk_238::EQUAL) + scan item + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ws_item_sk]) + join (INNER, REPLICATED): + dynamic filter (ws_bill_customer_sk::EQUAL, ws_sold_date_sk::EQUAL) + scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim single aggregation over (ss_customer_sk_271) cross join (can skip output duplicates): final aggregation over (ss_customer_sk_271) @@ -112,14 +110,14 @@ final aggregation over () final aggregation over (ss_customer_sk_318) local exchange (GATHER, SINGLE, []) partial aggregation over (ss_customer_sk_318) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk_318]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_customer_sk_318]) + join (INNER, REPLICATED): dynamic filter (ss_customer_sk_318::EQUAL, ss_sold_date_sk_338::EQUAL) scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk_341]) - scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + remote exchange (REPARTITION, HASH, [c_customer_sk_341]) + scan customer diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q24.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q24.plan.txt index 04812768637c..6e2b957a1bf1 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q24.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q24.plan.txt @@ -13,28 +13,28 @@ remote exchange (GATHER, SINGLE, []) join (INNER, PARTITIONED): remote exchange (REPARTITION, HASH, [c_birth_country, s_zip]) join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk]) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_item_sk, ss_ticket_number]) - dynamic filter (ss_customer_sk::EQUAL, ss_item_sk::EQUAL, ss_item_sk::EQUAL, ss_store_sk::EQUAL, ss_ticket_number::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [sr_item_sk, sr_ticket_number]) - dynamic filter (sr_item_sk::EQUAL) - scan store_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (s_zip::EQUAL) - scan store - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + remote exchange (REPARTITION, HASH, [sr_item_sk, sr_ticket_number]) + dynamic filter (sr_item_sk::EQUAL, sr_ticket_number::EQUAL) + scan store_returns local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - dynamic filter (c_birth_country::EQUAL) - scan customer + remote exchange (REPARTITION, HASH, [ss_item_sk, ss_ticket_number]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_customer_sk]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ss_customer_sk::EQUAL, ss_item_sk::EQUAL, ss_store_sk::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan item + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + dynamic filter (s_zip::EQUAL) + scan store + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_sk]) + dynamic filter (c_birth_country::EQUAL) + scan customer local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [ca_zip, upper]) scan customer_address @@ -51,28 +51,28 @@ remote exchange (GATHER, SINGLE, []) join (INNER, PARTITIONED): remote exchange (REPARTITION, HASH, [c_birth_country_127, s_zip_83]) join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk_13]) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_item_sk_12, ss_ticket_number_19]) - dynamic filter (ss_customer_sk_13::EQUAL, ss_item_sk_12::EQUAL, ss_item_sk_12::EQUAL, ss_store_sk_17::EQUAL, ss_ticket_number_19::EQUAL) - scan store_sales + remote exchange (REPARTITION, HASH, [ss_item_sk_12, ss_ticket_number_19]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_customer_sk_13]) + join (INNER, REPLICATED): + dynamic filter (ss_customer_sk_13::EQUAL, ss_item_sk_12::EQUAL, ss_store_sk_17::EQUAL, ss_ticket_number_19::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [sr_item_sk_37, sr_ticket_number_44]) - dynamic filter (sr_item_sk_37::EQUAL) - scan store_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (s_zip_83::EQUAL) - scan store + remote exchange (REPLICATE, BROADCAST, []) + dynamic filter (s_zip_83::EQUAL) + scan store local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + remote exchange (REPARTITION, HASH, [c_customer_sk_113]) + dynamic filter (c_birth_country_127::EQUAL) + scan customer local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk_113]) - dynamic filter (c_birth_country_127::EQUAL) - scan customer + remote exchange (REPARTITION, HASH, [sr_item_sk_37, sr_ticket_number_44]) + join (INNER, REPLICATED): + dynamic filter (sr_item_sk_37::EQUAL) + scan store_returns + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [ca_zip_142, upper_149]) scan customer_address diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q25.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q25.plan.txt index 43dba892575a..7ae276c002ec 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q25.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q25.plan.txt @@ -6,37 +6,38 @@ local exchange (GATHER, SINGLE, []) 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): - join (INNER, REPLICATED): + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [cs_bill_customer_sk, cs_item_sk]) join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - 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]) - dynamic filter (ss_customer_sk::EQUAL, ss_customer_sk::EQUAL, ss_item_sk::EQUAL, ss_item_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL, ss_ticket_number::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [sr_customer_sk, sr_item_sk, sr_ticket_number]) - dynamic filter (sr_customer_sk::EQUAL, sr_item_sk::EQUAL, sr_item_sk::EQUAL, sr_returned_date_sk::EQUAL) - scan store_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [cs_bill_customer_sk, cs_item_sk]) - dynamic filter (cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + dynamic filter (cs_bill_customer_sk::EQUAL, cs_item_sk::EQUAL, cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) + scan catalog_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan store + dynamic filter (i_item_sk::EQUAL) + scan item local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + 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]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ss_customer_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL, ss_ticket_number::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan store + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [sr_customer_sk, sr_item_sk, sr_ticket_number]) + join (INNER, REPLICATED): + dynamic filter (sr_returned_date_sk::EQUAL) + scan store_returns + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q26.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q26.plan.txt index da4c893b03e8..a01a09cafc2e 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q26.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q26.plan.txt @@ -20,7 +20,7 @@ local exchange (GATHER, SINGLE, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan item + scan promotion local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan promotion + scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q27.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q27.plan.txt index fdfa755cab91..c7996c02fad3 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q27.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q27.plan.txt @@ -6,21 +6,22 @@ local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, HASH, [groupid, i_item_id_gid, s_state_gid]) remote exchange (REPARTITION, HASH, [groupid, i_item_id_gid, s_state_gid]) partial aggregation over (groupid, i_item_id_gid, s_state_gid) - join (INNER, REPLICATED): - join (INNER, REPLICATED): + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_item_sk]) join (INNER, REPLICATED): join (INNER, REPLICATED): - dynamic filter (ss_cdemo_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) - scan store_sales + join (INNER, REPLICATED): + dynamic filter (ss_cdemo_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan customer_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan customer_demographics + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan store local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) + remote exchange (REPARTITION, HASH, [i_item_sk]) scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q29.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q29.plan.txt index 43dba892575a..ce43e8c11f0c 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q29.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q29.plan.txt @@ -6,37 +6,38 @@ local exchange (GATHER, SINGLE, []) 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): - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, REPLICATED): + join (INNER, PARTITIONED): + 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]) join (INNER, REPLICATED): - join (INNER, PARTITIONED): - 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]) - dynamic filter (ss_customer_sk::EQUAL, ss_customer_sk::EQUAL, ss_item_sk::EQUAL, ss_item_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL, ss_ticket_number::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [sr_customer_sk, sr_item_sk, sr_ticket_number]) - dynamic filter (sr_customer_sk::EQUAL, sr_item_sk::EQUAL, sr_item_sk::EQUAL, sr_returned_date_sk::EQUAL) - scan store_returns + join (INNER, REPLICATED): + dynamic filter (ss_customer_sk::EQUAL, ss_customer_sk::EQUAL, ss_item_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL, ss_ticket_number::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [cs_bill_customer_sk, cs_item_sk]) - dynamic filter (cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) - scan catalog_sales + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan store + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [sr_customer_sk, sr_item_sk, sr_ticket_number]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (sr_customer_sk::EQUAL, sr_item_sk::EQUAL, sr_item_sk::EQUAL, sr_returned_date_sk::EQUAL) + scan store_returns + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + dynamic filter (i_item_sk::EQUAL) + scan item + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [cs_bill_customer_sk, cs_item_sk]) + join (INNER, REPLICATED): + dynamic filter (cs_sold_date_sk::EQUAL) + scan catalog_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan store - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q30.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q30.plan.txt index 6287685a00c6..e9a37a110a23 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q30.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q30.plan.txt @@ -3,50 +3,52 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) cross join: - join (LEFT, PARTITIONED): - remote exchange (REPARTITION, HASH, [ca_state]) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [wr_returning_customer_sk]) - final aggregation over (ca_state, wr_returning_customer_sk) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_state, wr_returning_customer_sk]) - partial aggregation over (ca_state, wr_returning_customer_sk) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (wr_returned_date_sk::EQUAL, wr_returning_addr_sk::EQUAL, wr_returning_customer_sk::EQUAL) - scan web_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - dynamic filter (c_current_addr_sk::EQUAL) - scan customer + join (LEFT, REPLICATED): + join (INNER, PARTITIONED): + final aggregation over (ca_state, wr_returning_customer_sk) local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan customer_address - final aggregation over (ca_state_85) + remote exchange (REPARTITION, HASH, [wr_returning_customer_sk]) + partial aggregation over (ca_state, wr_returning_customer_sk) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [wr_returning_addr_sk]) + join (INNER, REPLICATED): + dynamic filter (wr_returned_date_sk::EQUAL, wr_returning_addr_sk::EQUAL, wr_returning_customer_sk::EQUAL) + scan web_returns + 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 local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_state_85]) - partial aggregation over (ca_state_85) - final aggregation over (ca_state_85, wr_returning_customer_sk_27) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_state_85, wr_returning_customer_sk_27]) - partial aggregation over (ca_state_85, wr_returning_customer_sk_27) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (wr_returned_date_sk_44::EQUAL, wr_returning_addr_sk_30::EQUAL) - scan web_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan customer_address + remote exchange (REPARTITION, HASH, [c_customer_sk]) + join (INNER, REPLICATED): + dynamic filter (c_current_addr_sk::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan customer_address + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (ca_state_85) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ca_state_85]) + partial aggregation over (ca_state_85) + final aggregation over (ca_state_85, wr_returning_customer_sk_27) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ca_state_85, wr_returning_customer_sk_27]) + partial aggregation over (ca_state_85, wr_returning_customer_sk_27) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [wr_returning_addr_sk_30]) + join (INNER, REPLICATED): + dynamic filter (wr_returned_date_sk_44::EQUAL, wr_returning_addr_sk_30::EQUAL) + scan web_returns + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ca_address_sk_77]) + scan customer_address local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) single aggregation over () diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q31.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q31.plan.txt index f27dbfecd82d..a846fed83ea1 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q31.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q31.plan.txt @@ -4,63 +4,25 @@ remote exchange (GATHER, SINGLE, []) join (INNER, PARTITIONED): join (INNER, PARTITIONED): join (INNER, PARTITIONED): - join (INNER, PARTITIONED): - join (INNER, PARTITIONED): - final aggregation over (ca_county, d_qoy, d_year) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_county, d_qoy, d_year]) - partial aggregation over (ca_county, d_qoy, d_year) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_addr_sk]) - join (INNER, REPLICATED): - dynamic filter (ss_addr_sk::EQUAL, ss_sold_date_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + final aggregation over (ca_county_137, d_qoy_110, d_year_106) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ca_county_137]) + partial aggregation over (ca_county_137, d_qoy_110, d_year_106) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_addr_sk_80]) + join (INNER, REPLICATED): + dynamic filter (ss_addr_sk_80::EQUAL, ss_sold_date_sk_97::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) - dynamic filter (ca_county::EQUAL, ca_county::EQUAL, ca_county::EQUAL, ca_county::EQUAL, ca_county::EQUAL) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [1, 2000, ca_county_66]) - final aggregation over (ca_county_66, d_qoy_39, d_year_35) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_county_66, d_qoy_39, d_year_35]) - partial aggregation over (ca_county_66, d_qoy_39, d_year_35) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_addr_sk_9]) - join (INNER, REPLICATED): - dynamic filter (ss_addr_sk_9::EQUAL, ss_sold_date_sk_26::EQUAL) - 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]) - dynamic filter (ca_county_66::EQUAL, ca_county_66::EQUAL, ca_county_66::EQUAL, ca_county_66::EQUAL) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [1, 2000, ca_county_137]) - final aggregation over (ca_county_137, d_qoy_110, d_year_106) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_county_137, d_qoy_110, d_year_106]) - partial aggregation over (ca_county_137, d_qoy_110, d_year_106) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_addr_sk_80]) - join (INNER, REPLICATED): - dynamic filter (ss_addr_sk_80::EQUAL, ss_sold_date_sk_97::EQUAL) - 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_130]) - dynamic filter (ca_county_137::EQUAL, ca_county_137::EQUAL, ca_county_137::EQUAL) - scan customer_address + remote exchange (REPARTITION, HASH, [ca_address_sk_130]) + dynamic filter (ca_county_137::EQUAL, ca_county_137::EQUAL, ca_county_137::EQUAL) + scan customer_address final aggregation over (ca_county_185, d_qoy_158, d_year_154) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_county_185, d_qoy_158, d_year_154]) + remote exchange (REPARTITION, HASH, [ca_county_185]) partial aggregation over (ca_county_185, d_qoy_158, d_year_154) join (INNER, PARTITIONED): remote exchange (REPARTITION, HASH, [ws_bill_addr_sk]) @@ -74,29 +36,26 @@ remote exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [ca_address_sk_178]) dynamic filter (ca_county_185::EQUAL, ca_county_185::EQUAL) scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [1, 2000, ca_county_267]) - final aggregation over (ca_county_267, d_qoy_240, d_year_236) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_county_267, d_qoy_240, d_year_236]) - partial aggregation over (ca_county_267, d_qoy_240, d_year_236) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_bill_addr_sk_200]) - join (INNER, REPLICATED): - dynamic filter (ws_bill_addr_sk_200::EQUAL, ws_sold_date_sk_227::EQUAL) - 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_260]) - dynamic filter (ca_county_267::EQUAL) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [1, 2000, ca_county_349]) + join (INNER, PARTITIONED): + final aggregation over (ca_county_267, d_qoy_240, d_year_236) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ca_county_267]) + partial aggregation over (ca_county_267, d_qoy_240, d_year_236) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ws_bill_addr_sk_200]) + join (INNER, REPLICATED): + dynamic filter (ws_bill_addr_sk_200::EQUAL, ws_sold_date_sk_227::EQUAL) + 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_260]) + dynamic filter (ca_county_267::EQUAL, ca_county_267::EQUAL) + scan customer_address final aggregation over (ca_county_349, d_qoy_322, d_year_318) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_county_349, d_qoy_322, d_year_318]) + remote exchange (REPARTITION, HASH, [ca_county_349]) partial aggregation over (ca_county_349, d_qoy_322, d_year_318) join (INNER, PARTITIONED): remote exchange (REPARTITION, HASH, [ws_bill_addr_sk_282]) @@ -108,4 +67,37 @@ remote exchange (GATHER, SINGLE, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [ca_address_sk_342]) + dynamic filter (ca_county_349::EQUAL) + scan customer_address + join (INNER, PARTITIONED): + final aggregation over (ca_county, d_qoy, d_year) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ca_county]) + partial aggregation over (ca_county, d_qoy, d_year) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_addr_sk]) + join (INNER, REPLICATED): + dynamic filter (ss_addr_sk::EQUAL, ss_sold_date_sk::EQUAL) + 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]) + dynamic filter (ca_county::EQUAL) scan customer_address + final aggregation over (ca_county_66, d_qoy_39, d_year_35) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ca_county_66]) + partial aggregation over (ca_county_66, d_qoy_39, d_year_35) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_addr_sk_9]) + join (INNER, REPLICATED): + dynamic filter (ss_addr_sk_9::EQUAL, ss_sold_date_sk_26::EQUAL) + 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 diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q32.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q32.plan.txt index f8db856879fd..1f34e7d632ba 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q32.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q32.plan.txt @@ -3,28 +3,29 @@ final aggregation over () remote exchange (GATHER, SINGLE, []) partial aggregation over () cross join: - join (LEFT, PARTITIONED): - remote exchange (REPARTITION, HASH, [cs_item_sk]) + join (LEFT, REPLICATED): + join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + dynamic filter (cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) + scan catalog_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim - final aggregation over (cs_item_sk_18) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [cs_item_sk_18]) - partial aggregation over (cs_item_sk_18) - join (INNER, REPLICATED): - dynamic filter (cs_sold_date_sk_37::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + remote exchange (REPLICATE, BROADCAST, []) + scan item + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (cs_item_sk_18) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [cs_item_sk_18]) + partial aggregation over (cs_item_sk_18) + join (INNER, REPLICATED): + dynamic filter (cs_sold_date_sk_37::EQUAL) + scan catalog_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) single aggregation over () diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q33.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q33.plan.txt index 4964eee9a6bb..bf7539946877 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q33.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q33.plan.txt @@ -11,28 +11,27 @@ local exchange (GATHER, SINGLE, []) partial aggregation over (i_manufact_id_6) join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_addr_sk]) - join (INNER, REPLICATED): - dynamic filter (ss_addr_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + join (INNER, REPLICATED): + dynamic filter (ss_addr_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) - scan customer_address + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_manufact_id_6::EQUAL) - scan item + scan customer_address local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - final aggregation over (i_manufact_id_22) + join (INNER, REPLICATED): + dynamic filter (i_manufact_id_6::EQUAL) + scan item local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_manufact_id_22]) - partial aggregation over (i_manufact_id_22) - scan item + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (i_manufact_id_22) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [i_manufact_id_22]) + partial aggregation over (i_manufact_id_22) + scan item partial aggregation over (i_manufact_id_95) final aggregation over (i_manufact_id_95) local exchange (GATHER, SINGLE, []) @@ -40,28 +39,27 @@ local exchange (GATHER, SINGLE, []) partial aggregation over (i_manufact_id_95) join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [cs_bill_addr_sk]) - join (INNER, REPLICATED): - dynamic filter (cs_bill_addr_sk::EQUAL, cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + join (INNER, REPLICATED): + dynamic filter (cs_bill_addr_sk::EQUAL, cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) + scan catalog_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk_67]) - scan customer_address + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_manufact_id_95::EQUAL) - scan item + scan customer_address local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - final aggregation over (i_manufact_id_121) + join (INNER, REPLICATED): + dynamic filter (i_manufact_id_95::EQUAL) + scan item local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_manufact_id_121]) - partial aggregation over (i_manufact_id_121) - scan item + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (i_manufact_id_121) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [i_manufact_id_121]) + partial aggregation over (i_manufact_id_121) + scan item partial aggregation over (i_manufact_id_195) final aggregation over (i_manufact_id_195) local exchange (GATHER, SINGLE, []) @@ -69,25 +67,24 @@ local exchange (GATHER, SINGLE, []) partial aggregation over (i_manufact_id_195) join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_bill_addr_sk]) - join (INNER, REPLICATED): - dynamic filter (ws_bill_addr_sk::EQUAL, ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + join (INNER, REPLICATED): + dynamic filter (ws_bill_addr_sk::EQUAL, ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) + scan web_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk_167]) - scan customer_address + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_manufact_id_195::EQUAL) - scan item + scan customer_address local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - final aggregation over (i_manufact_id_221) + join (INNER, REPLICATED): + dynamic filter (i_manufact_id_195::EQUAL) + scan item local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_manufact_id_221]) - partial aggregation over (i_manufact_id_221) - scan item + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (i_manufact_id_221) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [i_manufact_id_221]) + partial aggregation over (i_manufact_id_221) + scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q34.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q34.plan.txt index 50c177f648c8..f8117cd585e1 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q34.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q34.plan.txt @@ -2,25 +2,24 @@ remote exchange (GATHER, SINGLE, []) local exchange (GATHER, UNKNOWN, []) remote exchange (REPARTITION, ROUND_ROBIN, []) join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk]) - final aggregation over (ss_customer_sk, ss_ticket_number) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ss_customer_sk, ss_ticket_number]) - partial aggregation over (ss_customer_sk, ss_ticket_number) + remote exchange (REPARTITION, HASH, [c_customer_sk]) + dynamic filter (c_customer_sk::EQUAL) + scan customer + final aggregation over (ss_customer_sk, ss_ticket_number) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ss_customer_sk]) + partial aggregation over (ss_customer_sk, ss_ticket_number) + join (INNER, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ss_customer_sk::EQUAL, ss_hdemo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + dynamic filter (ss_hdemo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - scan customer + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan household_demographics diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q35.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q35.plan.txt index 9c011616ceb2..79b213d2525a 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q35.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q35.plan.txt @@ -6,48 +6,54 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [ca_state, cd_dep_college_count, cd_dep_count, cd_dep_employed_count, cd_gender, cd_marital_status]) partial aggregation over (ca_state, cd_dep_college_count, cd_dep_count, cd_dep_employed_count, cd_gender, cd_marital_status) - join (LEFT, PARTITIONED): - join (LEFT, PARTITIONED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_customer_sk]) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_current_addr_sk]) - dynamic filter (c_current_addr_sk::EQUAL, c_current_cdemo_sk::EQUAL, c_customer_sk::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan customer_demographics - 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): - dynamic filter (ss_sold_date_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - final aggregation over (ws_bill_customer_sk) - 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): - dynamic filter (ws_sold_date_sk::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + join (RIGHT, PARTITIONED): final aggregation over (cs_ship_customer_sk) 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): - dynamic filter (cs_sold_date_sk::EQUAL) + dynamic filter (cs_ship_customer_sk::EQUAL, cs_sold_date_sk::EQUAL) scan catalog_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim + local exchange (GATHER, SINGLE, []) + join (LEFT, PARTITIONED): + remote exchange (REPARTITION, HASH, [c_customer_sk]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [cd_demo_sk]) + dynamic filter (cd_demo_sk::EQUAL) + scan customer_demographics + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_current_cdemo_sk]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ca_address_sk]) + dynamic filter (ca_address_sk::EQUAL) + scan customer_address + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_current_addr_sk]) + join (INNER, REPLICATED): + dynamic filter (c_customer_sk::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + 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): + dynamic filter (ss_sold_date_sk::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + final aggregation over (ws_bill_customer_sk) + 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): + dynamic filter (ws_sold_date_sk::EQUAL) + scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q36.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q36.plan.txt index 9b41524e48df..31df1ed13f17 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q36.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q36.plan.txt @@ -15,10 +15,10 @@ local exchange (GATHER, SINGLE, []) scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan store + scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q37.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q37.plan.txt index 5718f62fc120..a3f4ddf4320c 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q37.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q37.plan.txt @@ -7,18 +7,18 @@ 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, PARTITIONED, can skip output duplicates): - remote exchange (REPARTITION, HASH, [inv_item_sk]) - join (INNER, REPLICATED, can skip output duplicates): + remote exchange (REPARTITION, HASH, [cs_item_sk]) + dynamic filter (cs_item_sk::EQUAL) + scan catalog_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [inv_item_sk]) join (INNER, REPLICATED, can skip output duplicates): - dynamic filter (inv_date_sk::EQUAL, inv_item_sk::EQUAL, inv_item_sk::EQUAL) - scan inventory + join (INNER, REPLICATED, can skip output duplicates): + dynamic filter (inv_date_sk::EQUAL, inv_item_sk::EQUAL) + scan inventory + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_sk::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [cs_item_sk]) - scan catalog_sales + scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q39.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q39.plan.txt index 0a0531101462..6be214cdab28 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q39.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q39.plan.txt @@ -14,15 +14,15 @@ remote exchange (GATHER, SINGLE, []) scan inventory local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_sk::EQUAL) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (w_warehouse_sk::EQUAL) - scan warehouse + dynamic filter (i_item_sk::EQUAL) + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + dynamic filter (w_warehouse_sk::EQUAL) + 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) @@ -36,10 +36,10 @@ remote exchange (GATHER, SINGLE, []) scan inventory local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan warehouse + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan warehouse diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q40.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q40.plan.txt index a3f9b689189b..6328a4ec63c0 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q40.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q40.plan.txt @@ -19,10 +19,10 @@ local exchange (GATHER, SINGLE, []) scan catalog_returns local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan warehouse + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan warehouse diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q41.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q41.plan.txt index 9b5384cad7b9..e26ee5727a15 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q41.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q41.plan.txt @@ -6,13 +6,10 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [i_product_name]) partial aggregation over (i_product_name) - final aggregation over (i_manufact_14, i_manufact_id, i_product_name, unique) - 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]) - dynamic filter (i_manufact_14::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_manufact]) - scan item + single aggregation over (i_manufact, i_manufact_id, i_product_name, unique) + join (INNER, REPLICATED, can skip output duplicates): + dynamic filter (i_manufact::EQUAL) + scan item + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q45.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q45.plan.txt index aa1ddd9bf716..6e34cdce1e3d 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q45.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q45.plan.txt @@ -7,27 +7,27 @@ local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [ca_city, ca_zip]) partial aggregation over (ca_city, ca_zip) semijoin (REPLICATED): - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_current_addr_sk]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_bill_customer_sk]) - dynamic filter (ws_bill_customer_sk::EQUAL, ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - dynamic filter (c_current_addr_sk::EQUAL) - scan customer + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ws_bill_customer_sk]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ws_bill_customer_sk::EQUAL, ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) + 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]) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + remote exchange (REPLICATE, BROADCAST, []) + scan item local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + remote exchange (REPARTITION, HASH, [c_customer_sk]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [c_current_addr_sk]) + dynamic filter (c_current_addr_sk::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ca_address_sk]) + scan customer_address local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q46.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q46.plan.txt index f4441392f482..f7a67cbd429e 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q46.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q46.plan.txt @@ -2,35 +2,36 @@ local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk]) - final aggregation over (ca_city, ss_addr_sk, ss_customer_sk, ss_ticket_number) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_city, ss_addr_sk, ss_customer_sk, ss_ticket_number]) - partial aggregation over (ca_city, ss_addr_sk, ss_customer_sk, ss_ticket_number) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, REPLICATED): + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [c_current_addr_sk]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [c_customer_sk]) + dynamic filter (c_current_addr_sk::EQUAL, c_customer_sk::EQUAL) + 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) + local exchange (GATHER, SINGLE, []) + partial aggregation over (ca_city, ss_addr_sk, ss_customer_sk, ss_ticket_number) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_addr_sk]) join (INNER, REPLICATED): - dynamic filter (ss_addr_sk::EQUAL, ss_customer_sk::EQUAL, ss_hdemo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) - scan store_sales + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ss_addr_sk::EQUAL, ss_hdemo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan store + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan store + scan household_demographics local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - dynamic filter (c_current_addr_sk::EQUAL) - scan customer + remote exchange (REPARTITION, HASH, [ca_address_sk]) + scan customer_address local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) + remote exchange (REPARTITION, HASH, [ca_address_sk_11]) scan customer_address diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q47.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q47.plan.txt index deb4d70f5276..46ef5f138643 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q47.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q47.plan.txt @@ -17,15 +17,15 @@ local exchange (GATHER, SINGLE, []) scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_brand::EQUAL, i_brand::EQUAL, i_category::EQUAL, i_category::EQUAL) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + dynamic filter (s_company_name::EQUAL, s_company_name::EQUAL, s_store_name::EQUAL, s_store_name::EQUAL) + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (s_company_name::EQUAL, s_company_name::EQUAL, s_store_name::EQUAL, s_store_name::EQUAL) - scan store + dynamic filter (i_brand::EQUAL, i_brand::EQUAL, i_category::EQUAL, i_category::EQUAL) + 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) @@ -39,15 +39,15 @@ local exchange (GATHER, SINGLE, []) scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_brand_14::EQUAL, i_category_18::EQUAL) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + dynamic filter (s_company_name_102::EQUAL, s_store_name_90::EQUAL) + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (s_company_name_102::EQUAL, s_store_name_90::EQUAL) - scan store + dynamic filter (i_brand_14::EQUAL, i_category_18::EQUAL) + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [i_brand_127, i_category_131, s_company_name_215, s_store_name_203]) final aggregation over (d_moy_176, d_year_174, i_brand_127, i_category_131, s_company_name_215, s_store_name_203) @@ -61,10 +61,10 @@ local exchange (GATHER, SINGLE, []) scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan store + scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q48.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q48.plan.txt index 34c419a96b08..a7a2a6d12086 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q48.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q48.plan.txt @@ -3,21 +3,20 @@ final aggregation over () remote exchange (GATHER, SINGLE, []) partial aggregation over () join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_addr_sk]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ss_addr_sk::EQUAL, ss_cdemo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan store + dynamic filter (ss_addr_sk::EQUAL, ss_cdemo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan customer_demographics + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan store local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) + remote exchange (REPLICATE, BROADCAST, []) scan customer_address local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan customer_demographics diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q49.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q49.plan.txt index 39797e5a0d75..0592586fd477 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q49.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q49.plan.txt @@ -4,60 +4,63 @@ local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) final aggregation over (channel, currency_rank, item, return_rank, return_ratio) local exchange (REPARTITION, HASH, [channel, currency_rank, item, return_rank, return_ratio]) - remote exchange (REPARTITION, HASH, [expr_17, expr_21, rank, rank_19, ws_item_sk]) - partial aggregation over (expr_17, expr_21, rank, rank_19, ws_item_sk) + remote exchange (REPARTITION, HASH, [expr_17, expr_21, rank, rank_19, wr_item_sk]) + partial aggregation over (expr_17, expr_21, rank, rank_19, wr_item_sk) local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) - final aggregation over (ws_item_sk) + final aggregation over (wr_item_sk) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ws_item_sk]) - partial aggregation over (ws_item_sk) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_item_sk, ws_order_number]) - dynamic filter (ws_item_sk::EQUAL, ws_order_number::EQUAL, ws_sold_date_sk::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [wr_item_sk, wr_order_number]) - scan web_returns + remote exchange (REPARTITION, HASH, [wr_item_sk]) + partial aggregation over (wr_item_sk) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [wr_item_sk, wr_order_number]) + dynamic filter (wr_item_sk::EQUAL, wr_order_number::EQUAL) + scan web_returns local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - remote exchange (REPARTITION, HASH, [cs_item_sk, expr_66, expr_70, rank_68, rank_69]) - partial aggregation over (cs_item_sk, expr_66, expr_70, rank_68, rank_69) + remote exchange (REPARTITION, HASH, [ws_item_sk, ws_order_number]) + join (INNER, REPLICATED): + dynamic filter (ws_sold_date_sk::EQUAL) + scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + remote exchange (REPARTITION, HASH, [cr_item_sk, expr_66, expr_70, rank_68, rank_69]) + partial aggregation over (cr_item_sk, expr_66, expr_70, rank_68, rank_69) local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) - final aggregation over (cs_item_sk) + final aggregation over (cr_item_sk) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [cs_item_sk]) - partial aggregation over (cs_item_sk) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [cs_item_sk, cs_order_number]) - dynamic filter (cs_item_sk::EQUAL, cs_order_number::EQUAL, cs_sold_date_sk::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [cr_item_sk, cr_order_number]) - scan catalog_returns + remote exchange (REPARTITION, HASH, [cr_item_sk]) + partial aggregation over (cr_item_sk) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [cr_item_sk, cr_order_number]) + dynamic filter (cr_item_sk::EQUAL, cr_order_number::EQUAL) + scan catalog_returns local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - remote exchange (REPARTITION, HASH, [expr_115, expr_120, rank_117, rank_118, ss_item_sk]) - partial aggregation over (expr_115, expr_120, rank_117, rank_118, ss_item_sk) + remote exchange (REPARTITION, HASH, [cs_item_sk, cs_order_number]) + join (INNER, REPLICATED): + dynamic filter (cs_sold_date_sk::EQUAL) + scan catalog_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + remote exchange (REPARTITION, HASH, [expr_115, expr_120, rank_117, rank_118, sr_item_sk]) + partial aggregation over (expr_115, expr_120, rank_117, rank_118, sr_item_sk) local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) - final aggregation over (ss_item_sk) + final aggregation over (sr_item_sk) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ss_item_sk]) - partial aggregation over (ss_item_sk) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_item_sk, ss_ticket_number]) - dynamic filter (ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_ticket_number::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [sr_item_sk, sr_ticket_number]) - scan store_returns + remote exchange (REPARTITION, HASH, [sr_item_sk]) + partial aggregation over (sr_item_sk) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [sr_item_sk, sr_ticket_number]) + dynamic filter (sr_item_sk::EQUAL, sr_ticket_number::EQUAL) + scan store_returns local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + remote exchange (REPARTITION, HASH, [ss_item_sk, ss_ticket_number]) + join (INNER, REPLICATED): + dynamic filter (ss_sold_date_sk::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q50.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q50.plan.txt index 9fceb4963208..7b2b4b5f5285 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q50.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q50.plan.txt @@ -8,21 +8,21 @@ local exchange (GATHER, SINGLE, []) partial aggregation over (s_city, s_company_id, s_county, s_state, s_store_name, s_street_name, s_street_number, s_street_type, s_suite_number, s_zip) join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk, ss_item_sk, ss_ticket_number]) - dynamic filter (ss_customer_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL, ss_ticket_number::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [sr_customer_sk, sr_item_sk, sr_ticket_number]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_customer_sk, ss_item_sk, ss_ticket_number]) + dynamic filter (ss_customer_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL, ss_ticket_number::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [sr_customer_sk, sr_item_sk, sr_ticket_number]) + join (INNER, REPLICATED): dynamic filter (sr_returned_date_sk::EQUAL) scan store_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan store + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan store diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q51.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q51.plan.txt index 731195824eec..c8929f941366 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q51.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q51.plan.txt @@ -5,27 +5,23 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [expr]) join (FULL, PARTITIONED): - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ws_item_sk]) - final aggregation over (d_date, ws_item_sk) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [d_date, ws_item_sk]) - partial aggregation over (d_date, ws_item_sk) - join (INNER, REPLICATED): - dynamic filter (ws_sold_date_sk::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ss_item_sk]) - final aggregation over (d_date_7, ss_item_sk) - 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): - dynamic filter (ss_sold_date_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + final aggregation over (d_date_7, ss_item_sk) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ss_item_sk]) + partial aggregation over (d_date_7, ss_item_sk) + join (INNER, REPLICATED): + dynamic filter (ss_sold_date_sk::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + final aggregation over (d_date, ws_item_sk) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ws_item_sk]) + partial aggregation over (d_date, ws_item_sk) + join (INNER, REPLICATED): + dynamic filter (ws_sold_date_sk::EQUAL) + scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q54.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q54.plan.txt index e9899dbd1f5d..608c5d88b76d 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q54.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q54.plan.txt @@ -6,54 +6,53 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [expr_105_gid]) partial aggregation over (expr_105_gid) - final aggregation over (customer_sk) + final aggregation over (ss_customer_sk) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [customer_sk]) - partial aggregation over (customer_sk) + remote exchange (REPARTITION, HASH, [ss_customer_sk]) + partial aggregation over (ss_customer_sk) cross join: cross join: join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_current_addr_sk]) - join (INNER, PARTITIONED): - final aggregation over (c_current_addr_sk, customer_sk) - local exchange (GATHER, SINGLE, []) - partial aggregation over (c_current_addr_sk, customer_sk) - join (INNER, PARTITIONED, can skip output duplicates): + dynamic filter (ss_customer_sk::EQUAL, ss_sold_date_sk::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + dynamic filter (d_month_seq_17::LESS_THAN_OR_EQUAL) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): + final aggregation over (c_current_addr_sk, c_customer_sk) + local exchange (GATHER, SINGLE, []) + partial aggregation over (c_current_addr_sk, c_customer_sk) + join (INNER, PARTITIONED, can skip output duplicates): + remote exchange (REPARTITION, HASH, [c_customer_sk]) + dynamic filter (c_current_addr_sk::EQUAL, c_customer_sk::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [customer_sk]) join (INNER, REPLICATED, can skip output duplicates): join (INNER, REPLICATED, can skip output duplicates): local exchange (REPARTITION, ROUND_ROBIN, []) - dynamic filter (cs_bill_customer_sk::EQUAL, cs_bill_customer_sk::EQUAL, cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) + dynamic filter (cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) scan catalog_sales - dynamic filter (ws_bill_customer_sk::EQUAL, ws_bill_customer_sk::EQUAL, ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) + dynamic filter (ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) scan web_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - dynamic filter (c_current_addr_sk::EQUAL, c_customer_sk::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ss_customer_sk]) - dynamic filter (ss_sold_date_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) - dynamic filter (ca_county::EQUAL, ca_state::EQUAL) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan store - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (d_month_seq_17::LESS_THAN_OR_EQUAL) - scan date_dim + scan item + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): + dynamic filter (ca_county::EQUAL, ca_state::EQUAL) + scan customer_address + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) local exchange (GATHER, SINGLE, []) diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q56.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q56.plan.txt index 30e04d53aa66..3c8661a10af7 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q56.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q56.plan.txt @@ -11,28 +11,27 @@ local exchange (GATHER, SINGLE, []) partial aggregation over (i_item_id_6) join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_addr_sk]) - join (INNER, REPLICATED): - dynamic filter (ss_addr_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + join (INNER, REPLICATED): + dynamic filter (ss_addr_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) - scan customer_address + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_id_6::EQUAL) - scan item + join (INNER, REPLICATED): + dynamic filter (i_item_id_6::EQUAL) + scan item + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (i_item_id_10) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [i_item_id_10]) + partial aggregation over (i_item_id_10) + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - final aggregation over (i_item_id_10) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_item_id_10]) - partial aggregation over (i_item_id_10) - scan item + scan customer_address partial aggregation over (i_item_id_83) final aggregation over (i_item_id_83) local exchange (GATHER, SINGLE, []) @@ -40,28 +39,27 @@ local exchange (GATHER, SINGLE, []) partial aggregation over (i_item_id_83) join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [cs_bill_addr_sk]) - join (INNER, REPLICATED): - dynamic filter (cs_bill_addr_sk::EQUAL, cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + join (INNER, REPLICATED): + dynamic filter (cs_bill_addr_sk::EQUAL, cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) + scan catalog_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk_67]) - scan customer_address + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_id_83::EQUAL) - scan item + scan customer_address local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - final aggregation over (i_item_id_109) + join (INNER, REPLICATED): + dynamic filter (i_item_id_83::EQUAL) + scan item local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_item_id_109]) - partial aggregation over (i_item_id_109) - scan item + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (i_item_id_109) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [i_item_id_109]) + partial aggregation over (i_item_id_109) + scan item partial aggregation over (i_item_id_183) final aggregation over (i_item_id_183) local exchange (GATHER, SINGLE, []) @@ -69,25 +67,24 @@ local exchange (GATHER, SINGLE, []) partial aggregation over (i_item_id_183) join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_bill_addr_sk]) - join (INNER, REPLICATED): - dynamic filter (ws_bill_addr_sk::EQUAL, ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + join (INNER, REPLICATED): + dynamic filter (ws_bill_addr_sk::EQUAL, ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) + scan web_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk_167]) - scan customer_address + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_id_183::EQUAL) - scan item + scan customer_address local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - final aggregation over (i_item_id_209) + join (INNER, REPLICATED): + dynamic filter (i_item_id_183::EQUAL) + scan item local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_item_id_209]) - partial aggregation over (i_item_id_209) - scan item + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (i_item_id_209) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [i_item_id_209]) + partial aggregation over (i_item_id_209) + scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q57.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q57.plan.txt index a68812d48435..2dc82a1cf9ee 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q57.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q57.plan.txt @@ -17,11 +17,11 @@ local exchange (GATHER, SINGLE, []) scan catalog_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_brand::EQUAL, i_brand::EQUAL, i_category::EQUAL, i_category::EQUAL) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + dynamic filter (i_brand::EQUAL, i_brand::EQUAL, i_category::EQUAL, i_category::EQUAL) + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) dynamic filter (cc_name::EQUAL, cc_name::EQUAL) @@ -39,11 +39,11 @@ local exchange (GATHER, SINGLE, []) scan catalog_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_brand_14::EQUAL, i_category_18::EQUAL) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + dynamic filter (i_brand_14::EQUAL, i_category_18::EQUAL) + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) dynamic filter (cc_name_102::EQUAL) @@ -61,10 +61,10 @@ local exchange (GATHER, SINGLE, []) scan catalog_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan call_center diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q58.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q58.plan.txt index a803336da714..a5cb89ea2e78 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q58.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q58.plan.txt @@ -3,93 +3,97 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) join (INNER, PARTITIONED): - join (INNER, PARTITIONED): - 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, PARTITIONED): - remote exchange (REPARTITION, HASH, [d_date]) - join (INNER, REPLICATED): + 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): + dynamic filter (ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) join (INNER, REPLICATED): - dynamic filter (ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL) - scan store_sales + dynamic filter (d_date::EQUAL) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_id::EQUAL, i_item_id::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (d_date::EQUAL) - 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): - dynamic filter (d_week_seq_8::EQUAL) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - 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): + dynamic filter (d_week_seq_8::EQUAL) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + dynamic filter (i_item_id::EQUAL) + scan item + join (INNER, PARTITIONED): final aggregation over (i_item_id_69) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [i_item_id_69]) partial aggregation over (i_item_id_69) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [d_date_94]) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_id_69::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) + scan catalog_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): dynamic filter (d_date_94::EQUAL) 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): - dynamic filter (d_week_seq_128::EQUAL) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (d_date_126) local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - scan date_dim - final aggregation over (i_item_id_190) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_item_id_190]) - partial aggregation over (i_item_id_190) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [d_date_215]) - join (INNER, REPLICATED): + remote exchange (REPARTITION, HASH, [d_date_126]) + partial aggregation over (d_date_126) + join (INNER, REPLICATED, can skip output duplicates): + dynamic filter (d_week_seq_128::EQUAL) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + dynamic filter (i_item_id_69::EQUAL) + scan item + final aggregation over (i_item_id_190) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [i_item_id_190]) + partial aggregation over (i_item_id_190) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ws_item_sk]) join (INNER, REPLICATED): dynamic filter (ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) scan web_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (d_date_215::EQUAL) - scan date_dim - final aggregation over (d_date_247) + join (INNER, REPLICATED): + dynamic filter (d_date_215::EQUAL) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (d_date_247) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [d_date_247]) + partial aggregation over (d_date_247) + join (INNER, REPLICATED, can skip output duplicates): + dynamic filter (d_week_seq_249::EQUAL) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + local exchange (GATHER, SINGLE, []) + remote exchange (GATHER, SINGLE, []) + scan date_dim local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [d_date_247]) - partial aggregation over (d_date_247) - join (INNER, REPLICATED, can skip output duplicates): - dynamic filter (d_week_seq_249::EQUAL) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - local exchange (GATHER, SINGLE, []) - remote exchange (GATHER, SINGLE, []) - scan date_dim + remote exchange (REPARTITION, HASH, [i_item_sk_189]) + scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q59.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q59.plan.txt index d969d0e6e7ac..6f49127e1712 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q59.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q59.plan.txt @@ -23,12 +23,12 @@ local exchange (GATHER, SINGLE, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (s_store_id::EQUAL) - scan store + dynamic filter (d_week_seq_20::EQUAL) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (d_week_seq_20::EQUAL) - scan date_dim + dynamic filter (s_store_id::EQUAL) + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [operator_subtract, s_store_id_116]) join (INNER, REPLICATED): @@ -50,7 +50,7 @@ local exchange (GATHER, SINGLE, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan store + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan store diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q60.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q60.plan.txt index 30e04d53aa66..fef17d23291c 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q60.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q60.plan.txt @@ -11,28 +11,27 @@ local exchange (GATHER, SINGLE, []) partial aggregation over (i_item_id_6) join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_addr_sk]) - join (INNER, REPLICATED): - dynamic filter (ss_addr_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + join (INNER, REPLICATED): + dynamic filter (ss_addr_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) - scan customer_address + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_id_6::EQUAL) - scan item + scan customer_address local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - final aggregation over (i_item_id_10) + join (INNER, REPLICATED): + dynamic filter (i_item_id_6::EQUAL) + scan item local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_item_id_10]) - partial aggregation over (i_item_id_10) - scan item + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (i_item_id_10) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [i_item_id_10]) + partial aggregation over (i_item_id_10) + scan item partial aggregation over (i_item_id_83) final aggregation over (i_item_id_83) local exchange (GATHER, SINGLE, []) @@ -40,28 +39,27 @@ local exchange (GATHER, SINGLE, []) partial aggregation over (i_item_id_83) join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [cs_bill_addr_sk]) - join (INNER, REPLICATED): - dynamic filter (cs_bill_addr_sk::EQUAL, cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + join (INNER, REPLICATED): + dynamic filter (cs_bill_addr_sk::EQUAL, cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL) + scan catalog_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk_67]) - scan customer_address + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_id_83::EQUAL) - scan item + scan customer_address local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - final aggregation over (i_item_id_109) + join (INNER, REPLICATED): + dynamic filter (i_item_id_83::EQUAL) + scan item local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_item_id_109]) - partial aggregation over (i_item_id_109) - scan item + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (i_item_id_109) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [i_item_id_109]) + partial aggregation over (i_item_id_109) + scan item partial aggregation over (i_item_id_183) final aggregation over (i_item_id_183) local exchange (GATHER, SINGLE, []) @@ -69,25 +67,24 @@ local exchange (GATHER, SINGLE, []) partial aggregation over (i_item_id_183) join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_bill_addr_sk]) - join (INNER, REPLICATED): - dynamic filter (ws_bill_addr_sk::EQUAL, ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + join (INNER, REPLICATED): + dynamic filter (ws_bill_addr_sk::EQUAL, ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) + scan web_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk_167]) - scan customer_address + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_id_183::EQUAL) - scan item + scan customer_address local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - final aggregation over (i_item_id_209) + join (INNER, REPLICATED): + dynamic filter (i_item_id_183::EQUAL) + scan item local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_item_id_209]) - partial aggregation over (i_item_id_209) - scan item + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (i_item_id_209) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [i_item_id_209]) + partial aggregation over (i_item_id_209) + scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q61.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q61.plan.txt index 9fc7aac337ab..b2cb73e45132 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q61.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q61.plan.txt @@ -3,61 +3,59 @@ cross join: local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_current_addr_sk]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_customer_sk]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ss_customer_sk::EQUAL, ss_item_sk::EQUAL, ss_promo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan store - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan promotion + dynamic filter (ss_customer_sk::EQUAL, ss_item_sk::EQUAL, ss_promo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan store local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - dynamic filter (c_current_addr_sk::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) - scan customer_address + remote exchange (REPLICATE, BROADCAST, []) + scan item + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan promotion local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + remote exchange (REPARTITION, HASH, [c_customer_sk]) + join (INNER, REPLICATED): + dynamic filter (c_current_addr_sk::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan customer_address final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_current_addr_sk_102]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk_14]) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ss_customer_sk_14::EQUAL, ss_item_sk_13::EQUAL, ss_sold_date_sk_34::EQUAL, ss_store_sk_18::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan store - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_customer_sk_14]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ss_customer_sk_14::EQUAL, ss_item_sk_13::EQUAL, ss_sold_date_sk_34::EQUAL, ss_store_sk_18::EQUAL) + 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_98]) - dynamic filter (c_current_addr_sk_102::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk_118]) - scan customer_address + remote exchange (REPLICATE, BROADCAST, []) + scan store + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan item local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + remote exchange (REPARTITION, HASH, [c_customer_sk_98]) + join (INNER, REPLICATED): + dynamic filter (c_current_addr_sk_102::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan customer_address diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q62.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q62.plan.txt index cdad170ba430..de56116567d9 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q62.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q62.plan.txt @@ -14,13 +14,13 @@ local exchange (GATHER, SINGLE, []) scan web_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan warehouse + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan ship_mode + scan web_site local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan web_site + scan ship_mode local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan warehouse diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q64.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q64.plan.txt index 00e9dbc92e67..98123fc17ccb 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q64.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q64.plan.txt @@ -7,60 +7,42 @@ remote exchange (GATHER, SINGLE, []) local 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): - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_current_addr_sk]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_addr_sk]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [c_current_addr_sk]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_addr_sk]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, REPLICATED): + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_customer_sk]) join (INNER, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk]) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_item_sk]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_item_sk, ss_ticket_number]) - dynamic filter (ss_addr_sk::EQUAL, ss_cdemo_sk::EQUAL, ss_customer_sk::EQUAL, ss_hdemo_sk::EQUAL, ss_item_sk::EQUAL, ss_item_sk::EQUAL, ss_item_sk::EQUAL, ss_item_sk::EQUAL, ss_promo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL, ss_ticket_number::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [sr_item_sk, sr_ticket_number]) - dynamic filter (sr_item_sk::EQUAL, sr_item_sk::EQUAL, sr_item_sk::EQUAL) - 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]) - dynamic filter (cs_item_sk::EQUAL, cs_item_sk::EQUAL, cs_item_sk::EQUAL, cs_order_number::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [cr_item_sk, cr_order_number]) - dynamic filter (cr_item_sk::EQUAL, cr_item_sk::EQUAL) - scan catalog_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (s_store_name::EQUAL, s_zip::EQUAL) - scan store + remote exchange (REPARTITION, HASH, [ss_item_sk, ss_ticket_number]) + dynamic filter (ss_addr_sk::EQUAL, ss_cdemo_sk::EQUAL, ss_customer_sk::EQUAL, ss_hdemo_sk::EQUAL, ss_item_sk::EQUAL, ss_item_sk::EQUAL, ss_item_sk::EQUAL, ss_item_sk::EQUAL, ss_promo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL, ss_ticket_number::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - dynamic filter (c_current_addr_sk::EQUAL, c_current_cdemo_sk::EQUAL, c_current_hdemo_sk::EQUAL, c_first_sales_date_sk::EQUAL, c_first_shipto_date_sk::EQUAL) - scan customer + remote exchange (REPARTITION, HASH, [sr_item_sk, sr_ticket_number]) + dynamic filter (sr_item_sk::EQUAL, sr_item_sk::EQUAL, sr_item_sk::EQUAL) + scan store_returns local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + 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]) + dynamic filter (cs_item_sk::EQUAL, cs_item_sk::EQUAL, cs_item_sk::EQUAL, cs_order_number::EQUAL) + scan catalog_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [cr_item_sk, cr_order_number]) + dynamic filter (cr_item_sk::EQUAL, cr_item_sk::EQUAL) + scan catalog_returns local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim @@ -69,93 +51,95 @@ remote exchange (GATHER, SINGLE, []) scan customer_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan customer_demographics - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan promotion + dynamic filter (s_store_name::EQUAL, s_zip::EQUAL) + scan store local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (hd_income_band_sk::EQUAL) - scan household_demographics + remote exchange (REPARTITION, HASH, [c_customer_sk]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (c_current_addr_sk::EQUAL, c_current_cdemo_sk::EQUAL, c_current_hdemo_sk::EQUAL, c_first_sales_date_sk::EQUAL, c_first_shipto_date_sk::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan customer_demographics + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (hd_income_band_sk_91::EQUAL) + scan promotion + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): + dynamic filter (hd_income_band_sk::EQUAL) scan household_demographics + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan income_band local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk_99]) - scan customer_address + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): + dynamic filter (hd_income_band_sk_91::EQUAL) + scan household_demographics + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan income_band + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + dynamic filter (i_item_sk::EQUAL) + scan item local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan income_band - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan income_band + remote exchange (REPARTITION, HASH, [ca_address_sk]) + scan customer_address local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_sk::EQUAL) - scan item + remote exchange (REPARTITION, HASH, [ca_address_sk_99]) + scan customer_address local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [s_store_name_336, s_zip_356, ss_item_sk_127]) final aggregation over (ca_city_445, ca_city_460, ca_street_name_442, ca_street_name_457, ca_street_number_441, ca_street_number_456, ca_zip_448, ca_zip_463, d_year_247, d_year_277, d_year_307, i_product_name_500, s_store_name_336, s_zip_356, ss_item_sk_127) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [ca_city_445, ca_city_460, ca_street_name_442, ca_street_name_457, ca_street_number_441, ca_street_number_456, ca_zip_448, ca_zip_463, d_year_247, d_year_277, d_year_307, i_product_name_500, s_store_name_336, s_zip_356, ss_item_sk_127]) partial aggregation over (ca_city_445, ca_city_460, ca_street_name_442, ca_street_name_457, ca_street_number_441, ca_street_number_456, ca_zip_448, ca_zip_463, d_year_247, d_year_277, d_year_307, i_product_name_500, s_store_name_336, s_zip_356, ss_item_sk_127) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_current_addr_sk_366]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_addr_sk_131]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [c_current_addr_sk_366]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_addr_sk_131]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, REPLICATED): + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_customer_sk_128]) join (INNER, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk_128]) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_item_sk_127]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_item_sk_127, ss_ticket_number_134]) - dynamic filter (ss_addr_sk_131::EQUAL, ss_cdemo_sk_129::EQUAL, ss_customer_sk_128::EQUAL, ss_hdemo_sk_130::EQUAL, ss_item_sk_127::EQUAL, ss_item_sk_127::EQUAL, ss_item_sk_127::EQUAL, ss_promo_sk_133::EQUAL, ss_sold_date_sk_148::EQUAL, ss_store_sk_132::EQUAL, ss_ticket_number_134::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [sr_item_sk_152, sr_ticket_number_159]) - dynamic filter (sr_item_sk_152::EQUAL, sr_item_sk_152::EQUAL) - scan store_returns - final aggregation over (cs_item_sk_187) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [cs_item_sk_187]) - partial aggregation over (cs_item_sk_187) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [cs_item_sk_187, cs_order_number_189]) - dynamic filter (cs_item_sk_187::EQUAL, cs_item_sk_187::EQUAL, cs_order_number_189::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [cr_item_sk_210, cr_order_number_224]) - dynamic filter (cr_item_sk_210::EQUAL) - scan catalog_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan store + remote exchange (REPARTITION, HASH, [ss_item_sk_127, ss_ticket_number_134]) + dynamic filter (ss_addr_sk_131::EQUAL, ss_cdemo_sk_129::EQUAL, ss_customer_sk_128::EQUAL, ss_hdemo_sk_130::EQUAL, ss_item_sk_127::EQUAL, ss_item_sk_127::EQUAL, ss_item_sk_127::EQUAL, ss_promo_sk_133::EQUAL, ss_sold_date_sk_148::EQUAL, ss_store_sk_132::EQUAL, ss_ticket_number_134::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk_362]) - dynamic filter (c_current_addr_sk_366::EQUAL, c_current_cdemo_sk_364::EQUAL, c_current_hdemo_sk_365::EQUAL, c_first_sales_date_sk_368::EQUAL, c_first_shipto_date_sk_367::EQUAL) - scan customer + remote exchange (REPARTITION, HASH, [sr_item_sk_152, sr_ticket_number_159]) + dynamic filter (sr_item_sk_152::EQUAL, sr_item_sk_152::EQUAL) + scan store_returns local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + final aggregation over (cs_item_sk_187) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [cs_item_sk_187]) + partial aggregation over (cs_item_sk_187) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [cs_item_sk_187, cs_order_number_189]) + dynamic filter (cs_item_sk_187::EQUAL, cs_item_sk_187::EQUAL, cs_order_number_189::EQUAL) + scan catalog_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [cr_item_sk_210, cr_order_number_224]) + dynamic filter (cr_item_sk_210::EQUAL) + scan catalog_returns local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim @@ -164,30 +148,48 @@ remote exchange (GATHER, SINGLE, []) scan customer_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan customer_demographics - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan promotion + scan store local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (hd_income_band_sk_426::EQUAL) - scan household_demographics + remote exchange (REPARTITION, HASH, [c_customer_sk_362]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (c_current_addr_sk_366::EQUAL, c_current_cdemo_sk_364::EQUAL, c_current_hdemo_sk_365::EQUAL, c_first_sales_date_sk_368::EQUAL, c_first_shipto_date_sk_367::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan customer_demographics + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (hd_income_band_sk_433::EQUAL) + scan promotion + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): + dynamic filter (hd_income_band_sk_426::EQUAL) scan household_demographics + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan income_band local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk_439]) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk_454]) - scan customer_address + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): + dynamic filter (hd_income_band_sk_433::EQUAL) + scan household_demographics + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan income_band + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan item local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan income_band - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan income_band + remote exchange (REPARTITION, HASH, [ca_address_sk_439]) + scan customer_address local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + remote exchange (REPARTITION, HASH, [ca_address_sk_454]) + scan customer_address diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q65.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q65.plan.txt index b77e321c37ca..2712cf515661 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q65.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q65.plan.txt @@ -3,38 +3,37 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) join (INNER, REPLICATED): - join (INNER, PARTITIONED): - join (INNER, PARTITIONED): - final aggregation over (ss_store_sk) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ss_store_sk]) - partial aggregation over (ss_store_sk) - final aggregation over (ss_item_sk, ss_store_sk) - 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): - dynamic filter (ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL, ss_store_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + join (INNER, REPLICATED): + final aggregation over (ss_item_sk_7, ss_store_sk_12) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [s_store_sk]) - dynamic filter (s_store_sk::EQUAL) - scan store + 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): + dynamic filter (ss_item_sk_7::EQUAL, ss_sold_date_sk_28::EQUAL, ss_store_sk_12::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ss_store_sk_12]) - final aggregation over (ss_item_sk_7, ss_store_sk_12) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, PARTITIONED): + final aggregation over (ss_store_sk) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ss_store_sk]) + partial aggregation over (ss_store_sk) + final aggregation over (ss_item_sk, ss_store_sk) + 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): + dynamic filter (ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim 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): - dynamic filter (ss_item_sk_7::EQUAL, ss_sold_date_sk_28::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + remote exchange (REPARTITION, HASH, [s_store_sk]) + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q66.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q66.plan.txt index 0efc0c1b56aa..f280b4666b6a 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q66.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q66.plan.txt @@ -21,7 +21,7 @@ local exchange (GATHER, SINGLE, []) scan web_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan warehouse + scan ship_mode local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim @@ -30,7 +30,7 @@ local exchange (GATHER, SINGLE, []) scan time_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan ship_mode + scan warehouse partial aggregation over (d_year_85, expr_331, w_city_71, w_country_75, w_county_72, w_state_73, w_warehouse_name_65, w_warehouse_sq_ft_66) final aggregation over (d_year_85, w_city_71, w_country_75, w_county_72, w_state_73, w_warehouse_name_65, w_warehouse_sq_ft_66) local exchange (GATHER, SINGLE, []) @@ -48,7 +48,7 @@ local exchange (GATHER, SINGLE, []) scan catalog_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan warehouse + scan ship_mode local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim @@ -57,4 +57,4 @@ local exchange (GATHER, SINGLE, []) scan time_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan ship_mode + scan warehouse diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q67.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q67.plan.txt index cfcd8e2e359e..edbdf8ce8fdc 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q67.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q67.plan.txt @@ -8,17 +8,19 @@ local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, HASH, [d_moy_gid, d_qoy_gid, d_year_gid, groupid, i_brand_gid, i_category_gid, i_class_gid, i_product_name_gid, s_store_id_gid]) remote exchange (REPARTITION, HASH, [d_moy_gid, d_qoy_gid, d_year_gid, groupid, i_brand_gid, i_category_gid, i_class_gid, i_product_name_gid, s_store_id_gid]) partial aggregation over (d_moy_gid, d_qoy_gid, d_year_gid, groupid, i_brand_gid, i_category_gid, i_class_gid, i_product_name_gid, s_store_id_gid) - join (INNER, REPLICATED): - join (INNER, REPLICATED): + local exchange (REPARTITION, HASH, [i_product_name]) + remote exchange (REPARTITION, HASH, [i_product_name]) join (INNER, REPLICATED): - dynamic filter (ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) - scan store_sales + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan store - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q68.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q68.plan.txt index f4441392f482..2e5533e17682 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q68.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q68.plan.txt @@ -2,35 +2,38 @@ local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk]) - final aggregation over (ca_city, ss_addr_sk, ss_customer_sk, ss_ticket_number) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ca_address_sk_12]) + dynamic filter (ca_address_sk_12::EQUAL) + 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]) + dynamic filter (c_customer_sk::EQUAL) + scan customer local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_city, ss_addr_sk, ss_customer_sk, ss_ticket_number]) - partial aggregation over (ca_city, ss_addr_sk, ss_customer_sk, ss_ticket_number) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ss_addr_sk::EQUAL, ss_customer_sk::EQUAL, ss_hdemo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + remote exchange (REPARTITION, HASH, [ss_customer_sk]) + final aggregation over (ca_address_sk, ca_city, ss_customer_sk, ss_ticket_number) + 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]) + dynamic filter (ca_address_sk::EQUAL) + scan customer_address local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan store - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - dynamic filter (c_current_addr_sk::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan customer_address + remote exchange (REPARTITION, HASH, [ss_addr_sk]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ss_hdemo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan store + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan household_demographics diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q69.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q69.plan.txt index 8222988cd67b..0e795f92ce90 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q69.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q69.plan.txt @@ -8,29 +8,33 @@ local exchange (GATHER, SINGLE, []) partial aggregation over (cd_credit_rating, cd_education_status, cd_gender, cd_marital_status, cd_purchase_estimate) join (LEFT, PARTITIONED): join (LEFT, PARTITIONED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_customer_sk]) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_current_addr_sk]) - dynamic filter (c_current_addr_sk::EQUAL, c_current_cdemo_sk::EQUAL, c_customer_sk::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan customer_demographics - final aggregation over (ss_customer_sk) + remote exchange (REPARTITION, HASH, [c_customer_sk]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [cd_demo_sk]) + dynamic filter (cd_demo_sk::EQUAL) + scan customer_demographics local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ss_customer_sk]) - partial aggregation over (ss_customer_sk) - join (INNER, REPLICATED, can skip output duplicates): - dynamic filter (ss_sold_date_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + remote exchange (REPARTITION, HASH, [c_current_cdemo_sk]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [c_current_addr_sk]) + join (INNER, REPLICATED): + dynamic filter (c_current_addr_sk::EQUAL, c_customer_sk::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + 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): + dynamic filter (ss_sold_date_sk::EQUAL) + 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 final aggregation over (ws_bill_customer_sk) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [ws_bill_customer_sk]) diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q70.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q70.plan.txt index 2ebf58513664..12803f1108ad 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q70.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q70.plan.txt @@ -8,31 +8,32 @@ local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, HASH, [groupid, s_county_gid, s_state_gid]) remote exchange (REPARTITION, HASH, [groupid, s_county_gid, s_state_gid]) partial aggregation over (groupid, s_county_gid, s_state_gid) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [s_state]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + dynamic filter (ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (s_state::EQUAL) - scan store - single aggregation over (s_state_53) - final aggregation over (s_state_53) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [s_state_53]) - partial aggregation over (s_state_53) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ss_sold_date_sk_26::EQUAL, ss_store_sk_10::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan store - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + dynamic filter (s_state::EQUAL) + scan store + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + single aggregation over (s_state_53) + final aggregation over (s_state_53) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [s_state_53]) + partial aggregation over (s_state_53) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ss_sold_date_sk_26::EQUAL, ss_store_sk_10::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan store diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q72.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q72.plan.txt index e30e9f489442..98598d943f57 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q72.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q72.plan.txt @@ -2,52 +2,53 @@ local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) - final aggregation over (d_week_seq, i_item_desc, w_warehouse_name) + final aggregation over (d_week_seq_16, i_item_desc, w_warehouse_name) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [d_week_seq, i_item_desc, w_warehouse_name]) - partial aggregation over (d_week_seq, i_item_desc, w_warehouse_name) + remote exchange (REPARTITION, HASH, [d_week_seq_16, i_item_desc, w_warehouse_name]) + partial aggregation over (d_week_seq_16, i_item_desc, w_warehouse_name) join (LEFT, PARTITIONED): - join (LEFT, REPLICATED): - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, REPLICATED): + remote exchange (REPARTITION, HASH, [cs_order_number, inv_item_sk]) + join (LEFT, REPLICATED): + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [d_week_seq_16, inv_item_sk]) join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, PARTITIONED): + dynamic filter (inv_date_sk::EQUAL, inv_item_sk::EQUAL, inv_quantity_on_hand::LESS_THAN, inv_warehouse_sk::EQUAL) + scan inventory + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + dynamic filter (d_week_seq_16::EQUAL) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan warehouse + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [cs_item_sk, d_week_seq]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [cs_item_sk]) - dynamic filter (cs_bill_cdemo_sk::EQUAL, cs_bill_hdemo_sk::EQUAL, cs_item_sk::EQUAL, cs_item_sk::EQUAL, cs_quantity::GREATER_THAN, cs_ship_date_sk::EQUAL, cs_sold_date_sk::EQUAL) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (cs_bill_cdemo_sk::EQUAL, cs_bill_hdemo_sk::EQUAL, cs_item_sk::EQUAL, cs_ship_date_sk::EQUAL, cs_sold_date_sk::EQUAL) scan catalog_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan household_demographics local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [inv_item_sk]) - dynamic filter (inv_date_sk::EQUAL, inv_item_sk::EQUAL, inv_warehouse_sk::EQUAL) - scan inventory + remote exchange (REPLICATE, BROADCAST, []) + scan customer_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan warehouse + scan date_dim local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_item_sk]) - scan item + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan customer_demographics - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (d_week_seq::EQUAL) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan promotion + scan promotion local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [cr_item_sk]) + remote exchange (REPARTITION, HASH, [cr_item_sk, cr_order_number]) scan catalog_returns diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q73.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q73.plan.txt index 50c177f648c8..e28ee80fc965 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q73.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q73.plan.txt @@ -2,25 +2,24 @@ remote exchange (GATHER, SINGLE, []) local exchange (GATHER, UNKNOWN, []) remote exchange (REPARTITION, ROUND_ROBIN, []) join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk]) - final aggregation over (ss_customer_sk, ss_ticket_number) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ss_customer_sk, ss_ticket_number]) - partial aggregation over (ss_customer_sk, ss_ticket_number) + remote exchange (REPARTITION, HASH, [c_customer_sk]) + dynamic filter (c_customer_sk::EQUAL) + scan customer + final aggregation over (ss_customer_sk, ss_ticket_number) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ss_customer_sk]) + partial aggregation over (ss_customer_sk, ss_ticket_number) + join (INNER, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ss_customer_sk::EQUAL, ss_hdemo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + dynamic filter (ss_hdemo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan store + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - scan customer + scan store + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan household_demographics diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q74.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q74.plan.txt index fbba72c81538..6efa7856761d 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q74.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q74.plan.txt @@ -4,74 +4,67 @@ local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) join (INNER, PARTITIONED): join (INNER, PARTITIONED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_customer_id]) - final aggregation over (c_customer_id, c_first_name, c_last_name, d_year) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_id, c_first_name, c_last_name, d_year]) - partial aggregation over (c_customer_id, c_first_name, c_last_name, d_year) + final aggregation over (c_customer_id_65, c_first_name_72, c_last_name_73, d_year_115) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_id_65]) + partial aggregation over (c_customer_id_65, c_first_name_72, c_last_name_73, d_year_115) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_customer_sk_86]) join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk]) - dynamic filter (ss_customer_sk::EQUAL, ss_sold_date_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - dynamic filter (c_customer_id::EQUAL, c_customer_id::EQUAL, c_customer_id::EQUAL) - scan customer + dynamic filter (ss_customer_sk_86::EQUAL, ss_sold_date_sk_106::EQUAL) + 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_64]) + dynamic filter (c_customer_id_65::EQUAL, c_customer_id_65::EQUAL) + scan customer + final aggregation over (c_customer_id_313, c_first_name_320, c_last_name_321, d_year_374) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_id_65]) - final aggregation over (c_customer_id_65, c_first_name_72, c_last_name_73, d_year_115) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_id_65, c_first_name_72, c_last_name_73, d_year_115]) - partial aggregation over (c_customer_id_65, c_first_name_72, c_last_name_73, d_year_115) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk_86]) - dynamic filter (ss_customer_sk_86::EQUAL, ss_sold_date_sk_106::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk_64]) - dynamic filter (c_customer_id_65::EQUAL, c_customer_id_65::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_id_313]) - final aggregation over (c_customer_id_313, c_first_name_320, c_last_name_321, d_year_374) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_id_313, c_first_name_320, c_last_name_321, d_year_374]) - partial aggregation over (c_customer_id_313, c_first_name_320, c_last_name_321, d_year_374) + remote exchange (REPARTITION, HASH, [c_customer_id_313]) + partial aggregation over (c_customer_id_313, c_first_name_320, c_last_name_321, d_year_374) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ws_bill_customer_sk_335]) join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_bill_customer_sk_335]) - dynamic filter (ws_bill_customer_sk_335::EQUAL, ws_sold_date_sk_365::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk_312]) - dynamic filter (c_customer_id_313::EQUAL) - scan customer + dynamic filter (ws_bill_customer_sk_335::EQUAL, ws_sold_date_sk_365::EQUAL) + scan web_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_id_484]) - final aggregation over (c_customer_id_484, c_first_name_491, c_last_name_492, d_year_545) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_id_484, c_first_name_491, c_last_name_492, d_year_545]) - partial aggregation over (c_customer_id_484, c_first_name_491, c_last_name_492, d_year_545) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_bill_customer_sk_506]) - dynamic filter (ws_bill_customer_sk_506::EQUAL, ws_sold_date_sk_536::EQUAL) - scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_sk_312]) + dynamic filter (c_customer_id_313::EQUAL) + scan customer + join (INNER, PARTITIONED): + final aggregation over (c_customer_id, c_first_name, c_last_name, d_year) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_id]) + partial aggregation over (c_customer_id, c_first_name, c_last_name, d_year) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_customer_sk]) + join (INNER, REPLICATED): + dynamic filter (ss_customer_sk::EQUAL, ss_sold_date_sk::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk_483]) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_sk]) + dynamic filter (c_customer_id::EQUAL) + scan customer + final aggregation over (c_customer_id_484, c_first_name_491, c_last_name_492, d_year_545) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_customer_id_484]) + partial aggregation over (c_customer_id_484, c_first_name_491, c_last_name_492, d_year_545) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ws_bill_customer_sk_506]) + join (INNER, REPLICATED): + dynamic filter (ws_bill_customer_sk_506::EQUAL, ws_sold_date_sk_536::EQUAL) + 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_483]) + scan customer diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q75.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q75.plan.txt index ff1fdec81f85..56d52707a00b 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q75.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q75.plan.txt @@ -16,11 +16,11 @@ local exchange (GATHER, SINGLE, []) scan catalog_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_brand_id_7::EQUAL, i_category_id_9::EQUAL, i_class_id_8::EQUAL, i_manufact_id_10::EQUAL) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + dynamic filter (i_brand_id_7::EQUAL, i_category_id_9::EQUAL, i_class_id_8::EQUAL, i_manufact_id_10::EQUAL) + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [cr_item_sk, cr_order_number]) scan catalog_returns @@ -34,11 +34,11 @@ local exchange (GATHER, SINGLE, []) scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_brand_id_28::EQUAL, i_category_id_32::EQUAL, i_class_id_30::EQUAL, i_manufact_id_34::EQUAL) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + dynamic filter (i_brand_id_28::EQUAL, i_category_id_32::EQUAL, i_class_id_30::EQUAL, i_manufact_id_34::EQUAL) + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [sr_item_sk, sr_ticket_number]) scan store_returns @@ -52,11 +52,11 @@ local exchange (GATHER, SINGLE, []) scan web_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_brand_id_88::EQUAL, i_category_id_92::EQUAL, i_class_id_90::EQUAL, i_manufact_id_94::EQUAL) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + dynamic filter (i_brand_id_88::EQUAL, i_category_id_92::EQUAL, i_class_id_90::EQUAL, i_manufact_id_94::EQUAL) + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [wr_item_sk, wr_order_number]) scan web_returns @@ -73,10 +73,10 @@ local exchange (GATHER, SINGLE, []) scan catalog_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [cr_item_sk_246, cr_order_number_260]) scan catalog_returns @@ -90,10 +90,10 @@ local exchange (GATHER, SINGLE, []) scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [sr_item_sk_356, sr_ticket_number_363]) scan store_returns @@ -107,10 +107,10 @@ local exchange (GATHER, SINGLE, []) scan web_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan item local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [wr_item_sk_470, wr_order_number_481]) scan web_returns diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q76.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q76.plan.txt index a8a1308b5e81..b6012ced7baf 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q76.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q76.plan.txt @@ -18,16 +18,17 @@ local exchange (GATHER, SINGLE, []) scan date_dim remote exchange (REPARTITION, HASH, [d_qoy_51, d_year_47, expr_140, expr_141, i_category_29]) partial aggregation over (d_qoy_51, d_year_47, expr_140, expr_141, i_category_29) - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_item_sk]) - dynamic filter (ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_item_sk_17]) - scan item + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ws_sold_date_sk]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ws_item_sk]) + dynamic filter (ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) + scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [i_item_sk_17]) + scan item local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) + remote exchange (REPARTITION, HASH, [d_date_sk_41]) scan date_dim remote exchange (REPARTITION, HASH, [d_qoy_111, d_year_107, expr_131, expr_133, i_category_89]) partial aggregation over (d_qoy_111, d_year_107, expr_131, expr_133, i_category_89) diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q78.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q78.plan.txt index e86c08bc4360..dc7f02ee0adc 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q78.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q78.plan.txt @@ -3,53 +3,54 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk]) - join (INNER, PARTITIONED): - final aggregation over (d_year, ss_customer_sk, ss_item_sk) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [d_year, ss_customer_sk, ss_item_sk]) - partial aggregation over (d_year, ss_customer_sk, ss_item_sk) - join (INNER, REPLICATED): - join (LEFT, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_item_sk, ss_ticket_number]) - dynamic filter (ss_customer_sk::EQUAL, ss_customer_sk::EQUAL, ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [sr_item_sk, sr_ticket_number]) - dynamic filter (sr_item_sk::EQUAL) + final aggregation over (d_year_16, ws_bill_customer_sk, ws_item_sk) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ws_bill_customer_sk, ws_item_sk]) + partial aggregation over (d_year_16, ws_bill_customer_sk, ws_item_sk) + join (INNER, REPLICATED): + join (LEFT, PARTITIONED): + remote exchange (REPARTITION, HASH, [ws_item_sk, ws_order_number]) + dynamic filter (ws_bill_customer_sk::EQUAL, ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) + scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [wr_item_sk, wr_order_number]) + dynamic filter (wr_item_sk::EQUAL) + scan web_returns + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ss_customer_sk, ss_item_sk]) + join (INNER, REPLICATED): + final aggregation over (d_year, ss_customer_sk, ss_item_sk) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [d_year, ss_customer_sk, ss_item_sk]) + partial aggregation over (d_year, ss_customer_sk, ss_item_sk) + join (INNER, REPLICATED): + join (LEFT, PARTITIONED): + remote exchange (REPARTITION, HASH, [ss_item_sk, ss_ticket_number]) + dynamic filter (ss_customer_sk::EQUAL, ss_sold_date_sk::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [sr_item_sk, sr_ticket_number]) scan store_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - final aggregation over (d_year_16, ws_bill_customer_sk, ws_item_sk) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [d_year_16, ws_bill_customer_sk, ws_item_sk]) - partial aggregation over (d_year_16, ws_bill_customer_sk, ws_item_sk) - join (INNER, REPLICATED): - join (LEFT, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_item_sk, ws_order_number]) - dynamic filter (ws_bill_customer_sk::EQUAL, ws_sold_date_sk::EQUAL) - scan web_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [wr_item_sk, wr_order_number]) - scan web_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [cs_bill_customer_sk]) - final aggregation over (cs_bill_customer_sk, cs_item_sk, d_year_54) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [cs_bill_customer_sk, cs_item_sk, d_year_54]) - partial aggregation over (cs_bill_customer_sk, cs_item_sk, d_year_54) - join (INNER, REPLICATED): - join (LEFT, PARTITIONED): - remote exchange (REPARTITION, HASH, [cs_item_sk, cs_order_number]) - dynamic filter (cs_sold_date_sk::EQUAL) - scan catalog_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [cr_item_sk, cr_order_number]) - scan catalog_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (cs_bill_customer_sk, cs_item_sk, d_year_54) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [cs_bill_customer_sk, cs_item_sk, d_year_54]) + partial aggregation over (cs_bill_customer_sk, cs_item_sk, d_year_54) + join (INNER, REPLICATED): + join (LEFT, PARTITIONED): + remote exchange (REPARTITION, HASH, [cs_item_sk, cs_order_number]) + dynamic filter (cs_sold_date_sk::EQUAL) + scan catalog_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [cr_item_sk, cr_order_number]) + scan catalog_returns + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q79.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q79.plan.txt index f8e1f2875516..05ec5b1e9b58 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q79.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q79.plan.txt @@ -3,25 +3,24 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ss_customer_sk]) - final aggregation over (s_city, ss_addr_sk, ss_customer_sk, ss_ticket_number) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [s_city, ss_addr_sk, ss_customer_sk, ss_ticket_number]) - partial aggregation over (s_city, ss_addr_sk, ss_customer_sk, ss_ticket_number) + final aggregation over (s_city, ss_addr_sk, ss_customer_sk, ss_ticket_number) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ss_customer_sk]) + partial aggregation over (s_city, ss_addr_sk, ss_customer_sk, ss_ticket_number) + join (INNER, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ss_customer_sk::EQUAL, ss_hdemo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) - scan store_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + dynamic filter (ss_customer_sk::EQUAL, ss_hdemo_sk::EQUAL, ss_sold_date_sk::EQUAL, ss_store_sk::EQUAL) + scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan store + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan household_demographics + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [c_customer_sk]) scan customer diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q80.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q80.plan.txt index e703b7384053..5aee30f1d60f 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q80.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q80.plan.txt @@ -28,13 +28,13 @@ local exchange (GATHER, SINGLE, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan store + scan promotion local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan promotion + scan store final aggregation over (cp_catalog_page_id) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [cp_catalog_page_id]) @@ -56,13 +56,13 @@ local exchange (GATHER, SINGLE, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan catalog_page + scan promotion local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan promotion + scan catalog_page final aggregation over (web_site_id) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [web_site_id]) @@ -84,10 +84,10 @@ local exchange (GATHER, SINGLE, []) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan web_site + scan promotion local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan item local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan promotion + scan web_site diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q81.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q81.plan.txt index 257e656cb546..d83f55c49136 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q81.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q81.plan.txt @@ -3,51 +3,52 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) cross join: - join (LEFT, PARTITIONED): - remote exchange (REPARTITION, HASH, [ca_state]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_current_addr_sk]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [cr_returning_customer_sk]) - final aggregation over (ca_state, cr_returning_customer_sk) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_state, cr_returning_customer_sk]) - partial aggregation over (ca_state, cr_returning_customer_sk) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (cr_returned_date_sk::EQUAL, cr_returning_addr_sk::EQUAL, cr_returning_customer_sk::EQUAL) - scan catalog_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - dynamic filter (c_current_addr_sk::EQUAL) - scan customer + join (LEFT, REPLICATED): + join (INNER, REPLICATED): + final aggregation over (ca_state, cr_returning_customer_sk) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk_4]) - scan customer_address - final aggregation over (ca_state_88) + remote exchange (REPARTITION, HASH, [ca_state, cr_returning_customer_sk]) + partial aggregation over (ca_state, cr_returning_customer_sk) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [cr_returning_addr_sk]) + join (INNER, REPLICATED): + dynamic filter (cr_returned_date_sk::EQUAL, cr_returning_addr_sk::EQUAL, cr_returning_customer_sk::EQUAL) + scan catalog_returns + 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 local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_state_88]) - partial aggregation over (ca_state_88) - final aggregation over (ca_state_88, cr_returning_customer_sk_27) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_state_88, cr_returning_customer_sk_27]) - partial aggregation over (ca_state_88, cr_returning_customer_sk_27) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (cr_returned_date_sk_47::EQUAL, cr_returning_addr_sk_30::EQUAL) - scan catalog_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan customer_address + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): + dynamic filter (c_current_addr_sk::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan customer_address + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (ca_state_88) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ca_state_88]) + partial aggregation over (ca_state_88) + final aggregation over (ca_state_88, cr_returning_customer_sk_27) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ca_state_88, cr_returning_customer_sk_27]) + partial aggregation over (ca_state_88, cr_returning_customer_sk_27) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [cr_returning_addr_sk_30]) + join (INNER, REPLICATED): + dynamic filter (cr_returned_date_sk_47::EQUAL, cr_returning_addr_sk_30::EQUAL) + scan catalog_returns + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ca_address_sk_80]) + scan customer_address local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) single aggregation over () diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q82.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q82.plan.txt index 819df4dd5106..05e9528eeff7 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q82.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q82.plan.txt @@ -7,18 +7,19 @@ 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, PARTITIONED, can skip output duplicates): - remote exchange (REPARTITION, HASH, [inv_item_sk]) + remote exchange (REPARTITION, HASH, [ss_item_sk]) join (INNER, REPLICATED, can skip output duplicates): + dynamic filter (ss_item_sk::EQUAL, ss_item_sk::EQUAL) + scan store_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + dynamic filter (i_item_sk::EQUAL) + scan item + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [inv_item_sk]) join (INNER, REPLICATED, can skip output duplicates): - dynamic filter (inv_date_sk::EQUAL, inv_item_sk::EQUAL, inv_item_sk::EQUAL) + dynamic filter (inv_date_sk::EQUAL) scan inventory local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_sk::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ss_item_sk]) - scan store_sales + scan date_dim diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q83.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q83.plan.txt index bc8a7744991d..574aadb02221 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q83.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q83.plan.txt @@ -3,99 +3,105 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) join (INNER, PARTITIONED): - join (INNER, PARTITIONED): - 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, PARTITIONED): - remote exchange (REPARTITION, HASH, [d_date]) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (sr_item_sk::EQUAL, sr_returned_date_sk::EQUAL) - scan store_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_id::EQUAL, i_item_id::EQUAL) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) + 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, PARTITIONED): + remote exchange (REPARTITION, HASH, [sr_item_sk]) + join (INNER, REPLICATED): + dynamic filter (sr_item_sk::EQUAL, sr_returned_date_sk::EQUAL) + scan store_returns + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): dynamic filter (d_date::EQUAL) 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): - dynamic filter (d_week_seq_8::EQUAL) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - final aggregation over (d_week_seq_40) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [d_week_seq_40]) - partial aggregation over (d_week_seq_40) - scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + 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): + dynamic filter (d_week_seq_8::EQUAL) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (d_week_seq_40) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [d_week_seq_40]) + partial aggregation over (d_week_seq_40) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [i_item_sk]) + dynamic filter (i_item_id::EQUAL) + scan item + join (INNER, PARTITIONED): final aggregation over (i_item_id_74) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [i_item_id_74]) partial aggregation over (i_item_id_74) join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [d_date_99]) + remote exchange (REPARTITION, HASH, [cr_item_sk]) join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (cr_item_sk::EQUAL, cr_returned_date_sk::EQUAL) - scan catalog_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (i_item_id_74::EQUAL) - scan item + dynamic filter (cr_item_sk::EQUAL, cr_returned_date_sk::EQUAL) + scan catalog_returns local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (d_date_99::EQUAL) - 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): - dynamic filter (d_week_seq_133::EQUAL) + join (INNER, REPLICATED): + dynamic filter (d_date_99::EQUAL) scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - final aggregation over (d_week_seq_165) + final aggregation over (d_date_131) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [d_week_seq_165]) - partial aggregation over (d_week_seq_165) - scan date_dim - final aggregation over (i_item_id_200) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [i_item_id_200]) - partial aggregation over (i_item_id_200) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [d_date_225]) - join (INNER, REPLICATED): + remote exchange (REPARTITION, HASH, [d_date_131]) + partial aggregation over (d_date_131) + join (INNER, REPLICATED, can skip output duplicates): + dynamic filter (d_week_seq_133::EQUAL) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (d_week_seq_165) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [d_week_seq_165]) + partial aggregation over (d_week_seq_165) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [i_item_sk_73]) + dynamic filter (i_item_id_74::EQUAL) + scan item + final aggregation over (i_item_id_200) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [i_item_id_200]) + partial aggregation over (i_item_id_200) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [wr_item_sk]) join (INNER, REPLICATED): dynamic filter (wr_item_sk::EQUAL, wr_returned_date_sk::EQUAL) scan web_returns local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan item - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (d_date_225::EQUAL) - scan date_dim - final aggregation over (d_date_257) + join (INNER, REPLICATED): + dynamic filter (d_date_225::EQUAL) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (d_date_257) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [d_date_257]) + partial aggregation over (d_date_257) + join (INNER, REPLICATED, can skip output duplicates): + dynamic filter (d_week_seq_259::EQUAL) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (d_week_seq_291) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [d_week_seq_291]) + partial aggregation over (d_week_seq_291) + scan date_dim local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [d_date_257]) - partial aggregation over (d_date_257) - join (INNER, REPLICATED, can skip output duplicates): - dynamic filter (d_week_seq_259::EQUAL) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - final aggregation over (d_week_seq_291) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [d_week_seq_291]) - partial aggregation over (d_week_seq_291) - scan date_dim + remote exchange (REPARTITION, HASH, [i_item_sk_199]) + scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q84.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q84.plan.txt index 4871fa2daadb..e5876726ac30 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q84.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q84.plan.txt @@ -2,28 +2,28 @@ local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_current_cdemo_sk]) - join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (sr_cdemo_sk::EQUAL) + scan store_returns + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (c_current_addr_sk::EQUAL, c_current_cdemo_sk::EQUAL, c_current_cdemo_sk::EQUAL, c_current_hdemo_sk::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (cd_demo_sk::EQUAL) - scan customer_demographics + dynamic filter (cd_demo_sk::EQUAL) + scan customer_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (hd_income_band_sk::EQUAL) - scan household_demographics - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan income_band - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [sr_cdemo_sk]) - scan store_returns + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (c_current_addr_sk::EQUAL, c_current_hdemo_sk::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan customer_address + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): + dynamic filter (hd_income_band_sk::EQUAL) + scan household_demographics + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan income_band diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q85.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q85.plan.txt index 2170d63c6768..fcc6bf48204c 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q85.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q85.plan.txt @@ -6,37 +6,36 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [r_reason_desc]) partial aggregation over (r_reason_desc) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [wr_refunded_addr_sk]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ws_item_sk, ws_order_number]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ws_item_sk::EQUAL, ws_order_number::EQUAL, ws_sold_date_sk::EQUAL, ws_web_page_sk::EQUAL) + scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan web_page + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [wr_item_sk, wr_order_number]) + join (INNER, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_item_sk, ws_order_number]) - dynamic filter (ws_item_sk::EQUAL, ws_order_number::EQUAL, ws_sold_date_sk::EQUAL, ws_web_page_sk::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [wr_item_sk, wr_order_number]) - dynamic filter (wr_reason_sk::EQUAL, wr_refunded_addr_sk::EQUAL, wr_refunded_cdemo_sk::EQUAL, wr_returning_cdemo_sk::EQUAL) - scan web_returns + dynamic filter (wr_reason_sk::EQUAL, wr_refunded_addr_sk::EQUAL, wr_refunded_cdemo_sk::EQUAL, wr_returning_cdemo_sk::EQUAL) + scan web_returns local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan web_page + dynamic filter (cd_education_status::EQUAL, cd_marital_status::EQUAL) + scan customer_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (cd_education_status::EQUAL, cd_marital_status::EQUAL) - scan customer_demographics + scan customer_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan customer_demographics - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) - scan customer_address - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan reason + scan customer_address + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan reason diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q88.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q88.plan.txt index 9b9e7d342a33..45b487aed7ce 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q88.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q88.plan.txt @@ -16,13 +16,13 @@ cross join: scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan time_dim + scan household_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan store + scan time_dim final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) @@ -34,13 +34,13 @@ cross join: scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan time_dim + scan household_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan store + scan time_dim final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) @@ -52,13 +52,13 @@ cross join: scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan time_dim + scan household_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan store + scan time_dim final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) @@ -70,13 +70,13 @@ cross join: scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan time_dim + scan household_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan store + scan time_dim final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) @@ -88,13 +88,13 @@ cross join: scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan time_dim + scan household_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan store + scan time_dim final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) @@ -106,13 +106,13 @@ cross join: scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan time_dim + scan household_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan store + scan time_dim final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) @@ -124,13 +124,13 @@ cross join: scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan time_dim + scan household_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan store + scan time_dim final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) @@ -142,10 +142,10 @@ cross join: scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan time_dim + scan household_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan store + scan time_dim diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q90.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q90.plan.txt index b9fc089b9471..710206305c72 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q90.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q90.plan.txt @@ -10,13 +10,13 @@ cross join: scan web_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics + scan web_page local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan time_dim + scan household_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan web_page + scan time_dim final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) @@ -28,10 +28,10 @@ cross join: scan web_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics + scan web_page local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan time_dim + scan household_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan web_page + scan time_dim diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q91.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q91.plan.txt index 60457033cb17..f1f04de0ccd3 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q91.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q91.plan.txt @@ -7,30 +7,30 @@ remote exchange (GATHER, SINGLE, []) partial aggregation over (cc_call_center_id, cc_manager, cc_name, cd_education_status, cd_marital_status) join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [c_current_addr_sk]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [cr_returning_customer_sk]) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (cr_call_center_sk::EQUAL, cr_returned_date_sk::EQUAL, cr_returning_customer_sk::EQUAL) - scan catalog_returns - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan call_center - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [c_customer_sk]) - dynamic filter (c_current_addr_sk::EQUAL, c_current_cdemo_sk::EQUAL, c_current_hdemo_sk::EQUAL) - scan customer + join (INNER, REPLICATED): + dynamic filter (cr_call_center_sk::EQUAL, cr_returned_date_sk::EQUAL, cr_returning_customer_sk::EQUAL) + scan catalog_returns local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ca_address_sk]) - scan customer_address + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [ca_address_sk]) + dynamic filter (ca_address_sk::EQUAL) + scan customer_address + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [c_current_addr_sk]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (c_current_cdemo_sk::EQUAL, c_current_hdemo_sk::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan customer_demographics + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan household_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan customer_demographics + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics + scan call_center diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q92.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q92.plan.txt index 4d1eef80ffc4..3928a21404ae 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q92.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q92.plan.txt @@ -3,28 +3,29 @@ final aggregation over () remote exchange (GATHER, SINGLE, []) partial aggregation over () cross join: - join (LEFT, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_item_sk]) + join (LEFT, REPLICATED): + join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan item + dynamic filter (ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL) + scan web_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan date_dim - final aggregation over (ws_item_sk_6) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ws_item_sk_6]) - partial aggregation over (ws_item_sk_6) - join (INNER, REPLICATED): - dynamic filter (ws_sold_date_sk_37::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + remote exchange (REPLICATE, BROADCAST, []) + scan item + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + final aggregation over (ws_item_sk_6) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ws_item_sk_6]) + partial aggregation over (ws_item_sk_6) + join (INNER, REPLICATED): + dynamic filter (ws_sold_date_sk_37::EQUAL) + scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) single aggregation over () diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q94.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q94.plan.txt index 75621784fed2..7844a50ba85e 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q94.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q94.plan.txt @@ -2,31 +2,34 @@ final aggregation over () local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () - final aggregation over (group, ws_order_number) + final aggregation over (group, ws_order_number_22) local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [group, ws_order_number]) - partial aggregation over (group, ws_order_number) + remote exchange (REPARTITION, HASH, [group, ws_order_number_22]) + partial aggregation over (group, ws_order_number_22) join (LEFT, PARTITIONED): - single aggregation over (ca_state, d_date, unique, web_company_name, ws_ext_ship_cost, ws_net_profit, ws_order_number, 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]) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ws_order_number::EQUAL, ws_ship_addr_sk::EQUAL, ws_ship_date_sk::EQUAL, ws_web_site_sk::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan customer_address + 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, []) + 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, PARTITIONED, can skip output duplicates): + remote exchange (REPARTITION, HASH, [ws_order_number_22]) + dynamic filter (ws_order_number_22::EQUAL) + scan web_sales local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan web_site - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ws_order_number_22]) - scan web_sales + remote exchange (REPARTITION, HASH, [ws_order_number]) + join (INNER, REPLICATED): + join (INNER, REPLICATED): + join (INNER, REPLICATED): + dynamic filter (ws_ship_addr_sk::EQUAL, ws_ship_date_sk::EQUAL, ws_web_site_sk::EQUAL) + scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan date_dim + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan web_site + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan customer_address final aggregation over (wr_order_number) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [wr_order_number]) diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q95.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q95.plan.txt index e633aad69d8a..6b036d50565a 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q95.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q95.plan.txt @@ -7,45 +7,47 @@ final aggregation over () remote exchange (REPARTITION, HASH, [group, ws_order_number]) partial aggregation over (group, ws_order_number) join (INNER, PARTITIONED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [ws_order_number]) + remote exchange (REPARTITION, HASH, [ws_ship_addr_sk]) + join (INNER, REPLICATED): join (INNER, REPLICATED): join (INNER, REPLICATED): - join (INNER, REPLICATED): - dynamic filter (ws_order_number::EQUAL, ws_order_number::EQUAL, ws_ship_addr_sk::EQUAL, ws_ship_date_sk::EQUAL, ws_web_site_sk::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + dynamic filter (ws_order_number::EQUAL, ws_ship_addr_sk::EQUAL, ws_ship_date_sk::EQUAL, ws_web_site_sk::EQUAL) + scan web_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan customer_address + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan web_site - final aggregation over (ws_order_number_22) + 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]) + dynamic filter (ws_order_number_22::EQUAL, ws_order_number_22::EQUAL) + scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ws_order_number_58]) + dynamic filter (ws_order_number_58::EQUAL) + scan web_sales + final aggregation over (ws_order_number_100) + local exchange (GATHER, SINGLE, []) + partial aggregation over (ws_order_number_100) + join (INNER, PARTITIONED, can skip output duplicates): + join (INNER, PARTITIONED, can skip output duplicates): + remote exchange (REPARTITION, HASH, [ws_order_number_100]) + dynamic filter (ws_order_number_100::EQUAL, ws_order_number_100::EQUAL) + scan web_sales + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [wr_order_number]) + dynamic filter (wr_order_number::EQUAL) + scan web_returns + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ws_order_number_136]) + scan web_sales 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]) - dynamic filter (ws_order_number_22::EQUAL, ws_order_number_22::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ws_order_number_58]) - dynamic filter (ws_order_number_58::EQUAL) - 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]) - dynamic filter (wr_order_number::EQUAL) - scan web_returns - local exchange (GATHER, SINGLE, []) - join (INNER, PARTITIONED, can skip output duplicates): - remote exchange (REPARTITION, HASH, [ws_order_number_100]) - dynamic filter (ws_order_number_100::EQUAL) - scan web_sales - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [ws_order_number_136]) - scan web_sales + remote exchange (REPLICATE, BROADCAST, []) + scan web_site + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [ca_address_sk]) + scan customer_address diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q96.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q96.plan.txt index ca2b95fe53e5..ce28eea93a4d 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q96.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q96.plan.txt @@ -9,10 +9,10 @@ final aggregation over () scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan household_demographics + scan store local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan time_dim + scan household_demographics local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan store + scan time_dim diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q98.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q98.plan.txt index ed3aca1c3c06..423d9b2be09f 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q98.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q98.plan.txt @@ -13,7 +13,7 @@ remote exchange (GATHER, SINGLE, []) scan store_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan item + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan item diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q99.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q99.plan.txt index 42edd5585a9f..208b2e372ec0 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q99.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpcds/iceberg/partitioned/q99.plan.txt @@ -14,13 +14,13 @@ local exchange (GATHER, SINGLE, []) scan catalog_sales local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan warehouse + scan date_dim local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan ship_mode + scan call_center local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan call_center + scan ship_mode local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan date_dim + scan warehouse diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q02.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q02.plan.txt index f874dbf363a9..500b7f0a0566 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q02.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q02.plan.txt @@ -2,52 +2,50 @@ remote exchange (GATHER, SINGLE, []) local exchange (GATHER, UNKNOWN, []) remote exchange (REPARTITION, ROUND_ROBIN, []) cross join: - join (LEFT, PARTITIONED): - remote exchange (REPARTITION, HASH, [partkey]) - join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [suppkey_5]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [partkey]) - dynamic filter (partkey::EQUAL) - scan part - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [partkey_4]) - dynamic filter (suppkey_5::EQUAL) - scan partsupp - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [suppkey]) - dynamic filter (nationkey::EQUAL) - scan supplier - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (regionkey::EQUAL) - scan nation - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan region + join (RIGHT, PARTITIONED): final aggregation over (partkey_19) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [partkey_19]) partial aggregation over (partkey_19) join (INNER, REPLICATED): + dynamic filter (partkey_19::EQUAL, suppkey_20::EQUAL) + scan partsupp + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): + dynamic filter (nationkey_29::EQUAL) + scan supplier + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): + dynamic filter (regionkey_37::EQUAL) + scan nation + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan region + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [partkey_4]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [suppkey_5]) + join (INNER, REPLICATED): + dynamic filter (partkey_4::EQUAL, suppkey_5::EQUAL) + scan partsupp + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan part + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [suppkey]) join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [suppkey_20]) - dynamic filter (suppkey_20::EQUAL) - scan partsupp - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [suppkey_26]) - dynamic filter (nationkey_29::EQUAL) - scan supplier + dynamic filter (nationkey::EQUAL) + scan supplier local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (regionkey_37::EQUAL) - scan nation - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan region + join (INNER, REPLICATED): + dynamic filter (regionkey::EQUAL) + scan nation + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan region local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) single aggregation over () diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q03.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q03.plan.txt index 315c89c3c97c..5186d3df8fa7 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q03.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q03.plan.txt @@ -2,18 +2,19 @@ local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) - final aggregation over (orderdate, orderkey, shippriority) + final aggregation over (orderdate, orderkey_4, shippriority) local exchange (GATHER, SINGLE, []) - partial aggregation over (orderdate, orderkey, shippriority) + partial aggregation over (orderdate, orderkey_4, shippriority) join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [orderkey]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [custkey_0]) - dynamic filter (custkey_0::EQUAL, orderkey::EQUAL) - scan orders - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [custkey]) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [orderkey_4]) + remote exchange (REPARTITION, HASH, [orderkey_4]) + dynamic filter (orderkey_4::EQUAL) scan lineitem + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [orderkey]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [custkey_0]) + dynamic filter (custkey_0::EQUAL) + scan orders + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [custkey]) + scan customer diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q05.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q05.plan.txt index bbc3f5312054..a15bf14d3b96 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q05.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q05.plan.txt @@ -5,32 +5,31 @@ remote exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [name_18]) partial aggregation over (name_18) - join (INNER, REPLICATED): - join (INNER, REPLICATED): + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [nationkey, suppkey]) join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [nationkey, suppkey]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [orderkey]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [custkey_0]) - dynamic filter (custkey_0::EQUAL, orderkey::EQUAL) - scan orders - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [custkey]) + remote exchange (REPARTITION, HASH, [orderkey_4]) + dynamic filter (orderkey_4::EQUAL, suppkey::EQUAL) + scan lineitem + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [orderkey]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [custkey_0]) + dynamic filter (custkey_0::EQUAL) + scan orders + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [custkey]) + join (INNER, REPLICATED): dynamic filter (nationkey::EQUAL, nationkey::EQUAL) scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [orderkey_4]) - dynamic filter (suppkey::EQUAL) - scan lineitem - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [nationkey_11, suppkey_8]) - dynamic filter (nationkey_11::EQUAL) - scan supplier - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (regionkey::EQUAL) - scan nation + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): + dynamic filter (nationkey_17::EQUAL, regionkey::EQUAL) + scan nation + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan region local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan region + remote exchange (REPARTITION, HASH, [nationkey_11, suppkey_8]) + scan supplier diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q07.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q07.plan.txt index 636ec16a1d0c..c8f2a1270f5f 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q07.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q07.plan.txt @@ -5,31 +5,30 @@ remote exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [expr_gid, name_18, name_23]) partial aggregation over (expr_gid, name_18, name_23) - join (INNER, REPLICATED): - join (INNER, REPLICATED): + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [custkey]) join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [custkey]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [orderkey]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [suppkey_0]) - dynamic filter (orderkey::EQUAL, suppkey_0::EQUAL) - scan lineitem - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [suppkey]) + remote exchange (REPARTITION, HASH, [orderkey_4]) + dynamic filter (custkey::EQUAL, orderkey_4::EQUAL) + scan orders + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [orderkey]) + join (INNER, REPLICATED): + dynamic filter (suppkey_0::EQUAL) + scan lineitem + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): dynamic filter (nationkey::EQUAL) scan supplier - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [orderkey_4]) - dynamic filter (custkey::EQUAL) - scan orders - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [custkey_8]) - dynamic filter (nationkey_11::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan nation + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan nation local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan nation + remote exchange (REPARTITION, HASH, [custkey_8]) + join (INNER, REPLICATED): + dynamic filter (nationkey_11::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan nation diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q08.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q08.plan.txt index f2483f068666..56b8ded71b6a 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q08.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q08.plan.txt @@ -6,40 +6,39 @@ remote exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [expr_gid]) partial aggregation over (expr_gid) join (INNER, REPLICATED): - join (INNER, REPLICATED): - join (INNER, REPLICATED): + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [suppkey_5]) join (INNER, PARTITIONED): remote exchange (REPARTITION, HASH, [custkey]) join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [orderkey]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [suppkey_5]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [partkey_4]) - dynamic filter (orderkey::EQUAL, partkey_4::EQUAL, suppkey_5::EQUAL) - scan lineitem - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [partkey]) - scan part - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [suppkey]) - dynamic filter (nationkey::EQUAL) - scan supplier + remote exchange (REPARTITION, HASH, [orderkey_9]) + dynamic filter (custkey::EQUAL, orderkey_9::EQUAL) + scan orders local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [orderkey_9]) - dynamic filter (custkey::EQUAL) - scan orders + remote exchange (REPARTITION, HASH, [orderkey]) + join (INNER, REPLICATED): + dynamic filter (partkey_4::EQUAL, suppkey_5::EQUAL) + scan lineitem + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan part local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [custkey_13]) - dynamic filter (nationkey_16::EQUAL) - scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - dynamic filter (regionkey::EQUAL) - scan nation + join (INNER, REPLICATED): + dynamic filter (nationkey_16::EQUAL) + scan customer + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): + dynamic filter (regionkey::EQUAL) + scan nation + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan region local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan nation + remote exchange (REPARTITION, HASH, [suppkey]) + dynamic filter (nationkey::EQUAL) + scan supplier local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan region + scan nation diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q10.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q10.plan.txt index 5fac1b400cb1..ea51140d9379 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q10.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q10.plan.txt @@ -2,24 +2,23 @@ local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) - final aggregation over (acctbal, address, comment_5, custkey, name, name_9, phone) + final aggregation over (acctbal, address, comment_5, custkey_4, name, name_9, phone) local exchange (GATHER, SINGLE, []) - partial aggregation over (acctbal, address, comment_5, custkey, name, name_9, phone) + partial aggregation over (acctbal, address, comment_5, custkey_4, name, name_9, phone) join (INNER, REPLICATED): join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [custkey]) - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [orderkey]) - dynamic filter (orderkey::EQUAL) - scan lineitem - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [orderkey_0]) - dynamic filter (custkey::EQUAL) - scan orders + remote exchange (REPARTITION, HASH, [custkey_4]) + dynamic filter (custkey_4::EQUAL, nationkey::EQUAL) + scan customer local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [custkey_4]) - dynamic filter (nationkey::EQUAL) - scan customer + remote exchange (REPARTITION, HASH, [custkey]) + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [orderkey]) + dynamic filter (orderkey::EQUAL) + scan lineitem + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [orderkey_0]) + scan orders local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) scan nation diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q11.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q11.plan.txt index d2fcfb56f509..369c55201ede 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q11.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q11.plan.txt @@ -7,17 +7,16 @@ remote exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [partkey]) partial aggregation over (partkey) join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [suppkey]) - dynamic filter (suppkey::EQUAL) - scan partsupp - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [suppkey_0]) - dynamic filter (nationkey::EQUAL) - scan supplier + dynamic filter (suppkey::EQUAL) + scan partsupp local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan nation + join (INNER, REPLICATED): + dynamic filter (nationkey::EQUAL) + scan supplier + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan nation local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) final aggregation over () @@ -25,14 +24,13 @@ remote exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) partial aggregation over () join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [suppkey_10]) - dynamic filter (suppkey_10::EQUAL) - scan partsupp - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [suppkey_16]) - dynamic filter (nationkey_19::EQUAL) - scan supplier + dynamic filter (suppkey_10::EQUAL) + scan partsupp local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) - scan nation + join (INNER, REPLICATED): + dynamic filter (nationkey_19::EQUAL) + scan supplier + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan nation diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q17.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q17.plan.txt index 859578395e19..49eb55720dee 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q17.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q17.plan.txt @@ -3,19 +3,21 @@ final aggregation over () remote exchange (GATHER, SINGLE, []) partial aggregation over () cross join: - join (LEFT, PARTITIONED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [partkey]) - dynamic filter (partkey::EQUAL) - scan lineitem - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [partkey_0]) - scan part + join (RIGHT, PARTITIONED): final aggregation over (partkey_5) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [partkey_5]) partial aggregation over (partkey_5) + dynamic filter (partkey_5::EQUAL) + scan lineitem + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [partkey]) + join (INNER, REPLICATED): + dynamic filter (partkey::EQUAL) scan lineitem + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan part local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) single aggregation over () diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q18.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q18.plan.txt index 1e4e3258c636..a3fe7724a42f 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q18.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q18.plan.txt @@ -2,25 +2,26 @@ local exchange (GATHER, SINGLE, []) remote exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) local exchange (REPARTITION, ROUND_ROBIN, []) - final aggregation over (custkey_0, name, orderdate, orderkey, totalprice) + final aggregation over (custkey_0, name, orderdate, orderkey_4, totalprice) local exchange (GATHER, SINGLE, []) - partial aggregation over (custkey_0, name, orderdate, orderkey, totalprice) + partial aggregation over (custkey_0, name, orderdate, orderkey_4, totalprice) join (INNER, PARTITIONED): - join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [orderkey_4]) + dynamic filter (orderkey_4::EQUAL) + scan lineitem + local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [orderkey]) join (INNER, PARTITIONED): remote exchange (REPARTITION, HASH, [custkey_0]) - dynamic filter (custkey_0::EQUAL, orderkey::EQUAL, orderkey::EQUAL) - scan orders + join (INNER, PARTITIONED): + remote exchange (REPARTITION, HASH, [orderkey]) + dynamic filter (custkey_0::EQUAL, orderkey::EQUAL) + scan orders + final aggregation over (orderkey_8) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [orderkey_8]) + partial aggregation over (orderkey_8) + scan lineitem local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [custkey]) scan customer - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [orderkey_4]) - dynamic filter (orderkey_4::EQUAL) - scan lineitem - final aggregation over (orderkey_8) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [orderkey_8]) - partial aggregation over (orderkey_8) - scan lineitem diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q20.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q20.plan.txt index c2068d10857c..ad6a8450d68a 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q20.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q20.plan.txt @@ -2,36 +2,38 @@ remote exchange (GATHER, SINGLE, []) local exchange (GATHER, UNKNOWN, []) remote exchange (REPARTITION, ROUND_ROBIN, []) join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [suppkey]) - join (INNER, REPLICATED): - dynamic filter (nationkey::EQUAL, suppkey::EQUAL) - scan supplier - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan nation final aggregation over (suppkey_5) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [suppkey_5]) partial aggregation over (suppkey_5) cross join (can skip output duplicates): - join (LEFT, PARTITIONED, can skip output duplicates): - join (INNER, PARTITIONED, can skip output duplicates): - remote exchange (REPARTITION, HASH, [partkey]) - dynamic filter (partkey::EQUAL) - scan partsupp - final aggregation over (partkey_11) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [partkey_11]) - partial aggregation over (partkey_11) - scan part + join (RIGHT, PARTITIONED, can skip output duplicates): + final aggregation over (partkey_18, suppkey_19) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [partkey_18, suppkey_19]) + partial aggregation over (partkey_18, suppkey_19) + dynamic filter (partkey_18::EQUAL, suppkey_19::EQUAL, suppkey_19::EQUAL) + scan lineitem local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [partkey_18]) - final aggregation over (partkey_18, suppkey_19) - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [partkey_18, suppkey_19]) - partial aggregation over (partkey_18, suppkey_19) - scan lineitem + remote exchange (REPARTITION, HASH, [partkey, suppkey_5]) + join (INNER, PARTITIONED, can skip output duplicates): + remote exchange (REPARTITION, HASH, [partkey]) + dynamic filter (partkey::EQUAL, suppkey_5::EQUAL) + scan partsupp + final aggregation over (partkey_11) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [partkey_11]) + partial aggregation over (partkey_11) + scan part local exchange (GATHER, SINGLE, []) remote exchange (REPLICATE, BROADCAST, []) single aggregation over () values (1 rows) + local exchange (GATHER, SINGLE, []) + remote exchange (REPARTITION, HASH, [suppkey]) + join (INNER, REPLICATED): + dynamic filter (nationkey::EQUAL) + scan supplier + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan nation diff --git a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q21.plan.txt b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q21.plan.txt index af09110ef79d..504261454dd2 100644 --- a/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q21.plan.txt +++ b/testing/trino-tests/src/test/resources/sql/trino/tpch/iceberg/unpartitioned/q21.plan.txt @@ -6,33 +6,34 @@ local exchange (GATHER, SINGLE, []) local exchange (GATHER, SINGLE, []) remote exchange (REPARTITION, HASH, [name]) partial aggregation over (name) - single aggregation over (commitdate, exists, name, name_9, nationkey, orderkey, orderstatus, receiptdate, suppkey_0, unique) - join (LEFT, PARTITIONED): - final aggregation over (commitdate, name, name_9, nationkey, orderkey, orderstatus, receiptdate, suppkey_0, unique_54) - local exchange (GATHER, SINGLE, []) - partial aggregation over (commitdate, name, name_9, nationkey, orderkey, orderstatus, receiptdate, suppkey_0, unique_54) - join (INNER, PARTITIONED, can skip output duplicates): - join (INNER, REPLICATED): - join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [orderkey]) + final aggregation over (commitdate, exists, name, name_9, nationkey, orderkey_13, orderstatus, receiptdate, suppkey_0, unique) + 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]) + dynamic filter (orderkey_32::EQUAL) + 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, can skip output duplicates): + remote exchange (REPARTITION, HASH, [orderkey_13]) + dynamic filter (orderkey_13::EQUAL) + scan lineitem + local exchange (GATHER, SINGLE, []) join (INNER, PARTITIONED): - remote exchange (REPARTITION, HASH, [suppkey_0]) - dynamic filter (orderkey::EQUAL, orderkey::EQUAL, suppkey_0::EQUAL) - scan lineitem + remote exchange (REPARTITION, HASH, [orderkey]) + join (INNER, REPLICATED): + dynamic filter (orderkey::EQUAL, suppkey_0::EQUAL) + scan lineitem + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + join (INNER, REPLICATED): + dynamic filter (nationkey::EQUAL) + scan supplier + local exchange (GATHER, SINGLE, []) + remote exchange (REPLICATE, BROADCAST, []) + scan nation local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [suppkey]) - dynamic filter (nationkey::EQUAL) - scan supplier - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [orderkey_4]) - dynamic filter (orderkey_4::EQUAL) - scan orders - local exchange (GATHER, SINGLE, []) - remote exchange (REPLICATE, BROADCAST, []) - scan nation - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [orderkey_13]) - scan lineitem - local exchange (GATHER, SINGLE, []) - remote exchange (REPARTITION, HASH, [orderkey_32]) - scan lineitem + remote exchange (REPARTITION, HASH, [orderkey_4]) + scan orders