Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-4927

Remove deprecated RelBuilder#groupKey(ImmutableBitSet, ImmutableList) clashing with new replacement API

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      The RelBuilder#groupKey(ImmutableBitSet, ImmutableList) API is marked for removal before 2.0.

      /** @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)
      

      I would suggest to remove it ASAP due to the fact that it clashes with the new replacement API.

      public GroupKey groupKey(ImmutableBitSet groupSet,
            Iterable<? extends ImmutableBitSet> groupSets)
      

      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.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            zabetak Stamatis Zampetakis
            zabetak Stamatis Zampetakis
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 20m
                20m

                Slack

                  Issue deployment