From 5724c87335cc1a5c0a83746a28226ad972eceabf Mon Sep 17 00:00:00 2001 From: hqbhoho Date: Sat, 8 Nov 2025 18:43:08 +0800 Subject: [PATCH 1/2] Add test for IS NOT DISTINCT FROM pushdown in Iceberg --- .../io/trino/plugin/iceberg/BaseIcebergConnectorTest.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergConnectorTest.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergConnectorTest.java index b1c373b253bb..d4222d8343c9 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergConnectorTest.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergConnectorTest.java @@ -3321,6 +3321,10 @@ else if (format == AVRO) { // year() assertThat(query("SELECT * FROM test_year_transform_timestamptz WHERE year(d) = 2015")) .isFullyPushedDown(); + assertThat(query("SELECT * FROM test_year_transform_timestamptz WHERE year(d) IS DISTINCT FROM 2015")) + .isNotFullyPushedDown(FilterNode.class); + assertThat(query("SELECT * FROM test_year_transform_timestamptz WHERE year(d) IS NOT DISTINCT FROM 2015")) + .isFullyPushedDown(); // date_trunc assertThat(query("SELECT * FROM test_year_transform_timestamptz WHERE date_trunc('year', d) = TIMESTAMP '2015-01-01 00:00:00.000000 UTC'")) From ce24b610e6fcac84d2e680465032c49a22fc553b Mon Sep 17 00:00:00 2001 From: hqbhoho Date: Sat, 8 Nov 2025 18:49:01 +0800 Subject: [PATCH 2/2] Add test for IS NOT DISTINCT FROM pushdown in DeltaLake --- .../trino/plugin/deltalake/TestDeltaLakeConnectorTest.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/TestDeltaLakeConnectorTest.java b/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/TestDeltaLakeConnectorTest.java index 87abce343958..4bd7021b5be5 100644 --- a/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/TestDeltaLakeConnectorTest.java +++ b/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/TestDeltaLakeConnectorTest.java @@ -815,6 +815,13 @@ public void testTimestampWithTimeZoneOptimization() .isFullyPushedDown() .returnsEmptyResult(); + assertThat(query("SELECT * FROM " + tableName + " WHERE year(part) IS DISTINCT FROM 2006")) + .isNotFullyPushedDown(FilterNode.class); + + assertThat(query("SELECT * FROM " + tableName + " WHERE year(part) IS NOT DISTINCT FROM 2006")) + .isFullyPushedDown() + .returnsEmptyResult(); + assertUpdate("DROP TABLE " + tableName); }