[
https://issues.apache.org/jira/browse/CALCITE-4927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17456449#comment-17456449
]
duan xiong commented on CALCITE-4927:
-------------------------------------
Fixed in
[264636e80|https://github.com/apache/calcite/commit/264636e803f6b971112d826e268e309e3ed1e513].
> Remove deprecated RelBuilder#groupKey(ImmutableBitSet, ImmutableList)
> clashing with new replacement API
> -------------------------------------------------------------------------------------------------------
>
> Key: CALCITE-4927
> URL: https://issues.apache.org/jira/browse/CALCITE-4927
> Project: Calcite
> Issue Type: Task
> Components: core
> Affects Versions: 1.28.0
> Reporter: Stamatis Zampetakis
> Assignee: Stamatis Zampetakis
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.29.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> The {{RelBuilder#groupKey(ImmutableBitSet, ImmutableList)}} API is marked for
> removal before 2.0.
> {code:java}
> /** @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)
> {code}
> I would suggest to remove it ASAP due to the fact that it clashes with the
> new replacement API.
> {code:java}
> public GroupKey groupKey(ImmutableBitSet groupSet,
> Iterable<? extends ImmutableBitSet> groupSets)
> {code}
> Leaving it as is 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 since callers will automatically use the new API with no
> changes required in their code.
> The main difference is that the deprecated API allows {{groupSets}} to be
> null but if we care so much we can also make the new API to be more
> permissive.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)