diff --git a/plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java b/plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java index ba28654ac057..3afdb8bd0e79 100644 --- a/plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java +++ b/plugin/trino-ignite/src/main/java/io/trino/plugin/ignite/IgniteClient.java @@ -38,6 +38,7 @@ import io.trino.plugin.jdbc.aggregation.ImplementAvgFloatingPoint; import io.trino.plugin.jdbc.aggregation.ImplementCount; import io.trino.plugin.jdbc.aggregation.ImplementCountAll; +import io.trino.plugin.jdbc.aggregation.ImplementCountDistinct; import io.trino.plugin.jdbc.aggregation.ImplementMinMax; import io.trino.plugin.jdbc.aggregation.ImplementSum; import io.trino.plugin.jdbc.expression.JdbcConnectorExpressionRewriterBuilder; @@ -167,6 +168,7 @@ public IgniteClient( .add(new ImplementAvgFloatingPoint()) .add(new ImplementAvgDecimal()) .add(new ImplementAvgBigint()) + .add(new ImplementCountDistinct(bigintTypeHandle, true)) .build()); } diff --git a/plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteClient.java b/plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteClient.java index 9883422ec703..9fcdf01bc595 100644 --- a/plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteClient.java +++ b/plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteClient.java @@ -93,7 +93,7 @@ public void testImplementCount() testImplementAggregation( new AggregateFunction("count", BIGINT, List.of(bigintVariable), List.of(), true, Optional.empty()), Map.of(bigintVariable.getName(), BIGINT_COLUMN), - Optional.empty()); + Optional.of("count(DISTINCT `c_bigint`)")); // count() FILTER (WHERE ...) testImplementAggregation( diff --git a/plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java b/plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java index d867a1c156e7..5ca9f5bbf56f 100644 --- a/plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java +++ b/plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java @@ -83,6 +83,7 @@ protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior) case SUPPORTS_NEGATIVE_DATE: return false; + case SUPPORTS_AGGREGATION_PUSHDOWN_COUNT_DISTINCT: case SUPPORTS_DROP_COLUMN: case SUPPORTS_LIMIT_PUSHDOWN: case SUPPORTS_TOPN_PUSHDOWN: