Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-26762

Remove operand pruning in HiveFilterSetOpTransposeRule

Log workAgile BoardRank to TopRank to BottomBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      HiveFilterSetOpTransposeRule, when applied to UNION ALL operands, checks if the newly pushed filter simplifies to FALSE (due to the predicates holding on the input).

      If this is true and there is more than one UNION ALL operand, it gets pruned.

      After HIVE-26524 ("Use Calcite to remove sections of a query plan known never produces rows"), this is possibly redundant and we could drop this feature and let the other rules take care of the pruning.

      In such a case, it might be even possible to drop the Hive specific rule and relies on the Calcite one (the difference is just the operand pruning at the moment of writing), similarly to what HIVE-26642 did for HiveReduceExpressionRule. Writing it here as a reminder, but it's recommended to tackle this in a separate ticket after verifying that is feasible.

      Attachments

        Activity

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

          People

            asolimando Alessandro Solimando Assign to me
            asolimando Alessandro Solimando
            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 - 1h 10m
              1h 10m

              Slack

                Issue deployment