Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-25851 Replace HiveRelMdPredicate with RelMdPredicate from Calcite
  3. HIVE-25952

Drop HiveRelMdPredicates::getPredicates(Project...) to use that of RelMdPredicates

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 4.0.0
    • None
    • CBO

    Description

      There are some differences on this method between Hive and Calcite, the idea of this ticket is to unify the two methods, and then drop the override in HiveRelMdPredicates in favour of the method of RelMdPredicates.

      After applying HIVE-25966, the only difference is in the test for constant expressions, which can be summarized as follows:

      Expression Type Is Constant for Hive? Is Constant for Calcite?
      InputRef False False
      Call True if function is deterministic (arguments are not checked), false otherwise True if function is deterministic and all operands are constants, false otherwise
      CorrelatedVariable False False
      LocalRef False False
      Over False False
      DymanicParameter False True
      RangeRef False False
      FieldAccess False Given expr.field, true if expr is constant, false otherwise

      Attachments

        Issue Links

          Activity

            People

              asolimando Alessandro Solimando
              asolimando Alessandro Solimando
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

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