This is an automated email from the ASF dual-hosted git repository.

xiong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/calcite.git

commit 264636e803f6b971112d826e268e309e3ed1e513
Author: Stamatis Zampetakis <zabe...@gmail.com>
AuthorDate: Wed Dec 8 17:29:10 2021 +0100

    [CALCITE-4927] Remove deprecated RelBuilder#groupKey(ImmutableBitSet, 
ImmutableList) clashing with new replacement API
    
    Keeping the deprecated API creates ambiguity and requires everybody to
    upcast to Iterable if they want to use the new API.
    
    Removing it on the other hand does not seem to affect much backward
    compatibility (new API does not allow nulls) since callers will
    automatically use the new API with no changes required in their code.
    
    Close apache/calcite#2635
---
 .../calcite/rel/logical/ToLogicalConverter.java    |  4 +---
 .../apache/calcite/rel/mutable/MutableRels.java    |  4 +---
 .../rel/rules/AggregateCaseToFilterRule.java       |  4 +---
 .../AggregateExpandDistinctAggregatesRule.java     |  9 +++-----
 .../rules/AggregateExpandWithinDistinctRule.java   |  7 ++----
 .../rel/rules/AggregateJoinTransposeRule.java      |  3 +--
 .../rel/rules/AggregateReduceFunctionsRule.java    |  4 +---
 .../rel/rules/AggregateUnionTransposeRule.java     |  4 +---
 .../rel/rules/ProjectAggregateMergeRule.java       |  3 +--
 .../apache/calcite/sql2rel/RelFieldTrimmer.java    |  4 +---
 .../apache/calcite/sql2rel/SqlToRelConverter.java  |  2 +-
 .../java/org/apache/calcite/tools/RelBuilder.java  | 10 ---------
 .../calcite/rel/rel2sql/RelToSqlConverterTest.java | 26 +++++++++-------------
 .../org/apache/calcite/test/RelBuilderTest.java    | 14 ++++--------
 .../org/apache/calcite/piglet/PigRelOpVisitor.java |  3 +--
 .../calcite/piglet/PigToSqlAggregateRule.java      |  4 +---
 16 files changed, 30 insertions(+), 75 deletions(-)

diff --git 
a/core/src/main/java/org/apache/calcite/rel/logical/ToLogicalConverter.java 
b/core/src/main/java/org/apache/calcite/rel/logical/ToLogicalConverter.java
index a7629d7..eaf8513 100644
--- a/core/src/main/java/org/apache/calcite/rel/logical/ToLogicalConverter.java
+++ b/core/src/main/java/org/apache/calcite/rel/logical/ToLogicalConverter.java
@@ -40,7 +40,6 @@ import org.apache.calcite.rel.core.Union;
 import org.apache.calcite.rel.core.Values;
 import org.apache.calcite.rel.core.Window;
 import org.apache.calcite.tools.RelBuilder;
-import org.apache.calcite.util.ImmutableBitSet;
 
 import java.util.Collections;
 
@@ -63,8 +62,7 @@ public class ToLogicalConverter extends RelShuttleImpl {
       final Aggregate agg = (Aggregate) relNode;
       return relBuilder.push(visit(agg.getInput()))
           .aggregate(
-              relBuilder.groupKey(agg.getGroupSet(),
-                  (Iterable<ImmutableBitSet>) agg.groupSets),
+              relBuilder.groupKey(agg.getGroupSet(), agg.groupSets),
               agg.getAggCallList())
           .build();
     }
diff --git a/core/src/main/java/org/apache/calcite/rel/mutable/MutableRels.java 
b/core/src/main/java/org/apache/calcite/rel/mutable/MutableRels.java
index 866cbf3..ee6f6c1 100644
--- a/core/src/main/java/org/apache/calcite/rel/mutable/MutableRels.java
+++ b/core/src/main/java/org/apache/calcite/rel/mutable/MutableRels.java
@@ -54,7 +54,6 @@ import org.apache.calcite.rex.RexInputRef;
 import org.apache.calcite.rex.RexNode;
 import org.apache.calcite.rex.RexUtil;
 import org.apache.calcite.tools.RelBuilder;
-import org.apache.calcite.util.ImmutableBitSet;
 import org.apache.calcite.util.Util;
 import org.apache.calcite.util.mapping.Mapping;
 import org.apache.calcite.util.mapping.MappingType;
@@ -235,8 +234,7 @@ public abstract class MutableRels {
       final MutableAggregate aggregate = (MutableAggregate) node;
       relBuilder.push(fromMutable(aggregate.input, relBuilder));
       relBuilder.aggregate(
-          relBuilder.groupKey(aggregate.groupSet,
-              (Iterable<ImmutableBitSet>) aggregate.groupSets),
+          relBuilder.groupKey(aggregate.groupSet, aggregate.groupSets),
           aggregate.aggCalls);
       return relBuilder.build();
     case SORT:
diff --git 
a/core/src/main/java/org/apache/calcite/rel/rules/AggregateCaseToFilterRule.java
 
b/core/src/main/java/org/apache/calcite/rel/rules/AggregateCaseToFilterRule.java
index c2b20a1..e11e8c5 100644
--- 
a/core/src/main/java/org/apache/calcite/rel/rules/AggregateCaseToFilterRule.java
+++ 
b/core/src/main/java/org/apache/calcite/rel/rules/AggregateCaseToFilterRule.java
@@ -35,7 +35,6 @@ import org.apache.calcite.sql.fun.SqlStdOperatorTable;
 import org.apache.calcite.sql.type.SqlTypeName;
 import org.apache.calcite.tools.RelBuilder;
 import org.apache.calcite.tools.RelBuilderFactory;
-import org.apache.calcite.util.ImmutableBitSet;
 
 import com.google.common.collect.ImmutableList;
 
@@ -142,8 +141,7 @@ public class AggregateCaseToFilterRule
         .project(newProjects);
 
     final RelBuilder.GroupKey groupKey =
-        relBuilder.groupKey(aggregate.getGroupSet(),
-            (Iterable<ImmutableBitSet>) aggregate.getGroupSets());
+        relBuilder.groupKey(aggregate.getGroupSet(), aggregate.getGroupSets());
 
     relBuilder.aggregate(groupKey, newCalls)
         .convert(aggregate.getRowType(), false);
diff --git 
a/core/src/main/java/org/apache/calcite/rel/rules/AggregateExpandDistinctAggregatesRule.java
 
b/core/src/main/java/org/apache/calcite/rel/rules/AggregateExpandDistinctAggregatesRule.java
index 38ae615..8190653 100644
--- 
a/core/src/main/java/org/apache/calcite/rel/rules/AggregateExpandDistinctAggregatesRule.java
+++ 
b/core/src/main/java/org/apache/calcite/rel/rules/AggregateExpandDistinctAggregatesRule.java
@@ -249,8 +249,7 @@ public final class AggregateExpandDistinctAggregatesRule
     int n = 0;
     if (!newAggCallList.isEmpty()) {
       final RelBuilder.GroupKey groupKey =
-          relBuilder.groupKey(groupSet,
-              (Iterable<ImmutableBitSet>) aggregate.getGroupSets());
+          relBuilder.groupKey(groupSet, aggregate.getGroupSets());
       relBuilder.aggregate(groupKey, newAggCallList);
       ++n;
     }
@@ -478,8 +477,7 @@ public final class AggregateExpandDistinctAggregatesRule
             groupSets.size(), relBuilder.peek(), null, "$g"));
 
     relBuilder.aggregate(
-        relBuilder.groupKey(fullGroupSet,
-            (Iterable<ImmutableBitSet>) groupSets),
+        relBuilder.groupKey(fullGroupSet, groupSets),
         distinctAggCalls);
 
     // GROUPING returns an integer (0 or 1). Add a project to convert those
@@ -537,8 +535,7 @@ public final class AggregateExpandDistinctAggregatesRule
     relBuilder.aggregate(
         relBuilder.groupKey(
             remap(fullGroupSet, groupSet),
-            (Iterable<ImmutableBitSet>)
-                remap(fullGroupSet, aggregate.getGroupSets())),
+            remap(fullGroupSet, aggregate.getGroupSets())),
         newCalls);
     relBuilder.convert(aggregate.getRowType(), true);
     call.transformTo(relBuilder.build());
diff --git 
a/core/src/main/java/org/apache/calcite/rel/rules/AggregateExpandWithinDistinctRule.java
 
b/core/src/main/java/org/apache/calcite/rel/rules/AggregateExpandWithinDistinctRule.java
index 370f120..f6a8c2e 100644
--- 
a/core/src/main/java/org/apache/calcite/rel/rules/AggregateExpandWithinDistinctRule.java
+++ 
b/core/src/main/java/org/apache/calcite/rel/rules/AggregateExpandWithinDistinctRule.java
@@ -366,9 +366,7 @@ public class AggregateExpandWithinDistinctRule
                     SqlStdOperatorTable.GROUPING,
                     b.fields(fullGroupList)))
             : -1;
-    b.aggregate(
-        b.groupKey(fullGroupSet,
-            (Iterable<ImmutableBitSet>) groupSets), aggCalls);
+    b.aggregate(b.groupKey(fullGroupSet, groupSets), aggCalls);
 
     // Build the outer query
     //
@@ -449,8 +447,7 @@ public class AggregateExpandWithinDistinctRule
     b.aggregate(
         b.groupKey(
             remap(fullGroupSet, aggregate.getGroupSet()),
-            (Iterable<ImmutableBitSet>)
-                remap(fullGroupSet, aggregate.getGroupSets())),
+            remap(fullGroupSet, aggregate.getGroupSets())),
         aggCalls);
     b.convert(aggregate.getRowType(), false);
     call.transformTo(b.build());
diff --git 
a/core/src/main/java/org/apache/calcite/rel/rules/AggregateJoinTransposeRule.java
 
b/core/src/main/java/org/apache/calcite/rel/rules/AggregateJoinTransposeRule.java
index c6697e8..509094d 100644
--- 
a/core/src/main/java/org/apache/calcite/rel/rules/AggregateJoinTransposeRule.java
+++ 
b/core/src/main/java/org/apache/calcite/rel/rules/AggregateJoinTransposeRule.java
@@ -376,8 +376,7 @@ public class AggregateJoinTransposeRule
     if (!aggConvertedToProjects) {
       relBuilder.aggregate(
           relBuilder.groupKey(Mappings.apply(mapping, aggregate.getGroupSet()),
-              (Iterable<ImmutableBitSet>)
-                  Mappings.apply2(mapping, aggregate.getGroupSets())),
+              Mappings.apply2(mapping, aggregate.getGroupSets())),
           newAggCalls);
     }
 
diff --git 
a/core/src/main/java/org/apache/calcite/rel/rules/AggregateReduceFunctionsRule.java
 
b/core/src/main/java/org/apache/calcite/rel/rules/AggregateReduceFunctionsRule.java
index 70d0285..47dd5d1 100644
--- 
a/core/src/main/java/org/apache/calcite/rel/rules/AggregateReduceFunctionsRule.java
+++ 
b/core/src/main/java/org/apache/calcite/rel/rules/AggregateReduceFunctionsRule.java
@@ -34,7 +34,6 @@ import org.apache.calcite.sql.fun.SqlStdOperatorTable;
 import org.apache.calcite.tools.RelBuilder;
 import org.apache.calcite.tools.RelBuilderFactory;
 import org.apache.calcite.util.CompositeList;
-import org.apache.calcite.util.ImmutableBitSet;
 import org.apache.calcite.util.ImmutableIntList;
 import org.apache.calcite.util.Util;
 
@@ -812,8 +811,7 @@ public class AggregateReduceFunctionsRule
       Aggregate oldAggregate,
       List<AggregateCall> newCalls) {
     relBuilder.aggregate(
-        relBuilder.groupKey(oldAggregate.getGroupSet(),
-            (Iterable<ImmutableBitSet>) oldAggregate.getGroupSets()),
+        relBuilder.groupKey(oldAggregate.getGroupSet(), 
oldAggregate.getGroupSets()),
         newCalls);
   }
 
diff --git 
a/core/src/main/java/org/apache/calcite/rel/rules/AggregateUnionTransposeRule.java
 
b/core/src/main/java/org/apache/calcite/rel/rules/AggregateUnionTransposeRule.java
index 7d61d00..e67ef89 100644
--- 
a/core/src/main/java/org/apache/calcite/rel/rules/AggregateUnionTransposeRule.java
+++ 
b/core/src/main/java/org/apache/calcite/rel/rules/AggregateUnionTransposeRule.java
@@ -39,7 +39,6 @@ import org.apache.calcite.sql.fun.SqlSumAggFunction;
 import org.apache.calcite.sql.fun.SqlSumEmptyIsZeroAggFunction;
 import org.apache.calcite.tools.RelBuilder;
 import org.apache.calcite.tools.RelBuilderFactory;
-import org.apache.calcite.util.ImmutableBitSet;
 
 import com.google.common.collect.ImmutableList;
 
@@ -158,8 +157,7 @@ public class AggregateUnionTransposeRule
     // create a new union whose children are the aggregates created above
     relBuilder.union(true, union.getInputs().size());
     relBuilder.aggregate(
-        relBuilder.groupKey(aggRel.getGroupSet(),
-            (Iterable<ImmutableBitSet>) aggRel.getGroupSets()),
+        relBuilder.groupKey(aggRel.getGroupSet(), aggRel.getGroupSets()),
         transformedAggCalls);
     call.transformTo(relBuilder.build());
   }
diff --git 
a/core/src/main/java/org/apache/calcite/rel/rules/ProjectAggregateMergeRule.java
 
b/core/src/main/java/org/apache/calcite/rel/rules/ProjectAggregateMergeRule.java
index 66b2a77..100b09b 100644
--- 
a/core/src/main/java/org/apache/calcite/rel/rules/ProjectAggregateMergeRule.java
+++ 
b/core/src/main/java/org/apache/calcite/rel/rules/ProjectAggregateMergeRule.java
@@ -152,8 +152,7 @@ public class ProjectAggregateMergeRule
     final RelBuilder builder = call.builder();
     builder.push(aggregate.getInput());
     builder.aggregate(
-        builder.groupKey(aggregate.getGroupSet(),
-            (Iterable<ImmutableBitSet>) aggregate.groupSets), aggCallList);
+        builder.groupKey(aggregate.getGroupSet(), aggregate.groupSets), 
aggCallList);
     builder.project(
         RexPermuteInputsShuttle.of(mapping).visitList(projects2));
     call.transformTo(builder.build());
diff --git a/core/src/main/java/org/apache/calcite/sql2rel/RelFieldTrimmer.java 
b/core/src/main/java/org/apache/calcite/sql2rel/RelFieldTrimmer.java
index fddd1f5..151ff57 100644
--- a/core/src/main/java/org/apache/calcite/sql2rel/RelFieldTrimmer.java
+++ b/core/src/main/java/org/apache/calcite/sql2rel/RelFieldTrimmer.java
@@ -1095,9 +1095,7 @@ public class RelFieldTrimmer implements ReflectiveVisitor 
{
       newAggCallList.add(relBuilder.count(false, "DUMMY"));
     }
 
-    final RelBuilder.GroupKey groupKey =
-        relBuilder.groupKey(newGroupSet,
-            (Iterable<ImmutableBitSet>) newGroupSets);
+    final RelBuilder.GroupKey groupKey = relBuilder.groupKey(newGroupSet, 
newGroupSets);
     relBuilder.aggregate(groupKey, newAggCallList);
 
     final RelNode newAggregate = RelOptUtil.propagateRelHints(aggregate, 
relBuilder.build());
diff --git 
a/core/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java 
b/core/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
index 9265278..852e923 100644
--- a/core/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
+++ b/core/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
@@ -3355,7 +3355,7 @@ public class SqlToRelConverter {
       ImmutableList<ImmutableBitSet> groupSets, List<AggregateCall> aggCalls) {
     relBuilder.push(bb.root());
     final RelBuilder.GroupKey groupKey =
-        relBuilder.groupKey(groupSet, (Iterable<ImmutableBitSet>) groupSets);
+        relBuilder.groupKey(groupSet, groupSets);
     return relBuilder.aggregate(groupKey, aggCalls)
         .build();
   }
diff --git a/core/src/main/java/org/apache/calcite/tools/RelBuilder.java 
b/core/src/main/java/org/apache/calcite/tools/RelBuilder.java
index df81877..3eb759d 100644
--- a/core/src/main/java/org/apache/calcite/tools/RelBuilder.java
+++ b/core/src/main/java/org/apache/calcite/tools/RelBuilder.java
@@ -1283,16 +1283,6 @@ public class RelBuilder {
   }
 
   // CHECKSTYLE: IGNORE 1
-  /** @deprecated Use {@link #groupKey(ImmutableBitSet)}
-   * or {@link #groupKey(ImmutableBitSet, Iterable)}. */
-  @Deprecated // to be removed before 2.0
-  public GroupKey groupKey(ImmutableBitSet groupSet,
-      @Nullable ImmutableList<ImmutableBitSet> groupSets) {
-    return groupKey_(groupSet, groupSets == null
-        ? ImmutableList.of(groupSet) : ImmutableList.copyOf(groupSets));
-  }
-
-  // CHECKSTYLE: IGNORE 1
   /** @deprecated Use {@link #groupKey(ImmutableBitSet, Iterable)}. */
   @Deprecated // to be removed before 2.0
   public GroupKey groupKey(ImmutableBitSet groupSet, boolean indicator,
diff --git 
a/core/src/test/java/org/apache/calcite/rel/rel2sql/RelToSqlConverterTest.java 
b/core/src/test/java/org/apache/calcite/rel/rel2sql/RelToSqlConverterTest.java
index 5a88068..89f48a6 100644
--- 
a/core/src/test/java/org/apache/calcite/rel/rel2sql/RelToSqlConverterTest.java
+++ 
b/core/src/test/java/org/apache/calcite/rel/rel2sql/RelToSqlConverterTest.java
@@ -455,8 +455,7 @@ class RelToSqlConverterTest {
         .scan("EMP")
         .aggregate(
             b.groupKey(ImmutableBitSet.of(0, 1, 2),
-                (Iterable<ImmutableBitSet>)
-                    ImmutableList.of(ImmutableBitSet.of(0, 1), 
ImmutableBitSet.of(0))),
+                ImmutableList.of(ImmutableBitSet.of(0, 1), 
ImmutableBitSet.of(0))),
             b.count(false, "C"),
             b.sum(false, "S", b.field("SAL")))
         .filter(b.equals(b.field("JOB"), b.literal("DEVELOP")))
@@ -480,8 +479,7 @@ class RelToSqlConverterTest {
         .scan("EMP")
         .aggregate(
             b.groupKey(ImmutableBitSet.of(0, 1, 2),
-                (Iterable<ImmutableBitSet>)
-                    ImmutableList.of(ImmutableBitSet.of(0, 1), 
ImmutableBitSet.of(0))),
+                ImmutableList.of(ImmutableBitSet.of(0, 1), 
ImmutableBitSet.of(0))),
             b.count(false, "C"),
             b.sum(false, "S", b.field("SAL")))
         .filter(
@@ -512,9 +510,9 @@ class RelToSqlConverterTest {
         .scan("EMP")
         .aggregate(
             b.groupKey(ImmutableBitSet.of(0, 1, 2),
-                (Iterable<ImmutableBitSet>)
-                    ImmutableList.of(ImmutableBitSet.of(0, 1),
-                        ImmutableBitSet.of(0), ImmutableBitSet.of())),
+                ImmutableList.of(ImmutableBitSet.of(0, 1),
+                    ImmutableBitSet.of(0),
+                    ImmutableBitSet.of())),
             b.count(false, "C"),
             b.sum(false, "S", b.field("SAL")))
         .filter(
@@ -545,9 +543,7 @@ class RelToSqlConverterTest {
         .scan("EMP")
         .aggregate(
             b.groupKey(ImmutableBitSet.of(0, 1, 2),
-                (Iterable<ImmutableBitSet>)
-                    ImmutableList.of(ImmutableBitSet.of(0, 1),
-                        ImmutableBitSet.of(0))),
+                ImmutableList.of(ImmutableBitSet.of(0, 1), 
ImmutableBitSet.of(0))),
             b.count(false, "C"),
             b.sum(false, "S", b.field("SAL")))
         .project(b.field("JOB"))
@@ -567,9 +563,7 @@ class RelToSqlConverterTest {
         .scan("EMP")
         .aggregate(
             b.groupKey(ImmutableBitSet.of(0, 1, 2),
-                (Iterable<ImmutableBitSet>)
-                    ImmutableList.of(ImmutableBitSet.of(0, 1),
-                        ImmutableBitSet.of(0))),
+                ImmutableList.of(ImmutableBitSet.of(0, 1), 
ImmutableBitSet.of(0))),
             b.count(false, "C"),
             b.sum(false, "S", b.field("SAL")))
         .sort(b.field("C"))
@@ -590,9 +584,9 @@ class RelToSqlConverterTest {
         .scan("EMP")
         .aggregate(
             b.groupKey(ImmutableBitSet.of(0, 1, 2),
-                (Iterable<ImmutableBitSet>)
-                    ImmutableList.of(ImmutableBitSet.of(0, 1),
-                        ImmutableBitSet.of(0), ImmutableBitSet.of())),
+                ImmutableList.of(ImmutableBitSet.of(0, 1),
+                    ImmutableBitSet.of(0),
+                    ImmutableBitSet.of())),
             b.count(false, "C"),
             b.sum(false, "S", b.field("SAL")))
         .filter(
diff --git a/core/src/test/java/org/apache/calcite/test/RelBuilderTest.java 
b/core/src/test/java/org/apache/calcite/test/RelBuilderTest.java
index c210874..2edf701 100644
--- a/core/src/test/java/org/apache/calcite/test/RelBuilderTest.java
+++ b/core/src/test/java/org/apache/calcite/test/RelBuilderTest.java
@@ -1437,9 +1437,7 @@ public class RelBuilderTest {
         builder.scan("EMP")
             .aggregate(
                 builder.groupKey(ImmutableBitSet.of(7),
-                    (Iterable<ImmutableBitSet>)
-                        ImmutableList.of(ImmutableBitSet.of(7),
-                            ImmutableBitSet.of())),
+                    ImmutableList.of(ImmutableBitSet.of(7), 
ImmutableBitSet.of())),
                 builder.count()
                     .filter(
                         builder.greaterThan(builder.field("EMPNO"),
@@ -1669,9 +1667,7 @@ public class RelBuilderTest {
           builder.scan("EMP")
               .aggregate(
                   builder.groupKey(ImmutableBitSet.of(7),
-                      (Iterable<ImmutableBitSet>)
-                          ImmutableList.of(ImmutableBitSet.of(4),
-                              ImmutableBitSet.of())))
+                      ImmutableList.of(ImmutableBitSet.of(4), 
ImmutableBitSet.of())))
               .build();
       fail("expected error, got " + root);
     } catch (IllegalArgumentException e) {
@@ -1689,8 +1685,7 @@ public class RelBuilderTest {
         builder.scan("EMP")
             .aggregate(
                 builder.groupKey(ImmutableBitSet.of(7, 6),
-                    (Iterable<ImmutableBitSet>)
-                        ImmutableList.of(ImmutableBitSet.of(7),
+                    ImmutableList.of(ImmutableBitSet.of(7),
                             ImmutableBitSet.of(6),
                             ImmutableBitSet.of(7))))
             .build();
@@ -1712,8 +1707,7 @@ public class RelBuilderTest {
         .aggregate(
             builder.groupKey(
                 ImmutableBitSet.of(0, 1, 2),
-                (Iterable<ImmutableBitSet>)
-                    ImmutableList.of(ImmutableBitSet.of(0, 1), 
ImmutableBitSet.of(0))),
+                ImmutableList.of(ImmutableBitSet.of(0, 1), 
ImmutableBitSet.of(0))),
             builder.count(false, "C"),
             builder.sum(false, "S", builder.field("SAL")))
         .filter(
diff --git 
a/piglet/src/main/java/org/apache/calcite/piglet/PigRelOpVisitor.java 
b/piglet/src/main/java/org/apache/calcite/piglet/PigRelOpVisitor.java
index 350119d..3b31977 100644
--- a/piglet/src/main/java/org/apache/calcite/piglet/PigRelOpVisitor.java
+++ b/piglet/src/main/java/org/apache/calcite/piglet/PigRelOpVisitor.java
@@ -309,8 +309,7 @@ class PigRelOpVisitor extends PigRelOpWalker.PlanPreVisitor 
{
     final ImmutableList<ImmutableBitSet> groupSets =
         (groupType == GroupType.CUBE)
             ? ImmutableList.copyOf(groupSet.powerSet()) : 
groupsetBuilder.build();
-    RelBuilder.GroupKey groupKey = builder.groupKey(groupSet,
-        (Iterable<ImmutableBitSet>) groupSets);
+    RelBuilder.GroupKey groupKey = builder.groupKey(groupSet, groupSets);
 
     // Finally, do COLLECT aggregate.
     builder.cogroup(ImmutableList.of(groupKey));
diff --git 
a/piglet/src/main/java/org/apache/calcite/piglet/PigToSqlAggregateRule.java 
b/piglet/src/main/java/org/apache/calcite/piglet/PigToSqlAggregateRule.java
index fae1539..1f7d9ba 100644
--- a/piglet/src/main/java/org/apache/calcite/piglet/PigToSqlAggregateRule.java
+++ b/piglet/src/main/java/org/apache/calcite/piglet/PigToSqlAggregateRule.java
@@ -34,7 +34,6 @@ import org.apache.calcite.sql.SqlAggFunction;
 import org.apache.calcite.sql.SqlKind;
 import org.apache.calcite.sql.fun.SqlStdOperatorTable;
 import org.apache.calcite.tools.RelBuilder;
-import org.apache.calcite.util.ImmutableBitSet;
 
 import org.immutables.value.Value;
 
@@ -258,8 +257,7 @@ public class PigToSqlAggregateRule
     // Step 2 build new Aggregate
     // Copy the group key
     final RelBuilder.GroupKey groupKey =
-        relBuilder.groupKey(oldAgg.getGroupSet(),
-            (Iterable<ImmutableBitSet>) oldAgg.groupSets);
+        relBuilder.groupKey(oldAgg.getGroupSet(), oldAgg.groupSets);
     // The construct the agg call list
     final List<RelBuilder.AggCall> aggCalls = new ArrayList<>();
     if (needGroupingCol) {

Reply via email to