Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-16762 Support unmodified TPCDS queries in Hive
  3. HIVE-16797

Enhance HiveFilterSetOpTransposeRule to remove union branches

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.0
    • 3.0.0
    • None
    • None

    Description

      in query4.q, we can see that it creates a CTE with union all of 3 branches. Then it is going to do a 3 way self-join of the CTE with predicates. The predicates actually specifies only one of the branch in CTE to participate in the join. Thus, in some cases, e.g.,

                     /- filter(false) -----TS0 
      union all  - filter(false) -----TS1
                     \-----TS2
      

      we can cut the branches of TS0 and TS1. The union becomes only TS2.

      Attachments

        1. HIVE-16797.01.patch
          4 kB
          Pengcheng Xiong
        2. HIVE-16797.02.patch
          199 kB
          Pengcheng Xiong
        3. HIVE-16797.03.patch
          657 kB
          Pengcheng Xiong
        4. HIVE-16797.04.patch
          680 kB
          Pengcheng Xiong
        5. HIVE-16797.05.patch
          700 kB
          Pengcheng Xiong

        Issue Links

          Activity

            People

              pxiong Pengcheng Xiong
              pxiong Pengcheng Xiong
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: