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

Make TypeCheckProcFactory generic

    XMLWordPrintableJSON

Details

    Description

      TypeCheckProcFactory is responsible for processing AST nodes and generating ExprNode objects from them. When we generate the expressions for Calcite planning, we go through a AST node -> ExprNode -> RexNode transformation. We would like to avoid the overhead of going through the ExprNode, and thus generate directly the RexNode from the AST.

      To do that, the first step is to make TypeCheckProcFactory generic, so it can receive an expression factory and create expressions in different realms. For the time being, the only factory implementation is the ExprNode factory. Thus, this patch focuses mainly on refactoring TypeCheckProcFactory without breaking anything that is already working.

      In a follow-up patch, we will create a RexNode factory and use it when we parse the query in CalcitePlanner.

      Attachments

        1. HIVE-22746.01.patch
          258 kB
          jcamachorodriguez
        2. HIVE-22746.01.patch
          258 kB
          jcamachorodriguez
        3. HIVE-22746.02.patch
          258 kB
          jcamachorodriguez
        4. HIVE-22746.patch
          258 kB
          jcamachorodriguez

        Issue Links

          Activity

            People

              jcamacho Jesús Camacho Rodríguez
              jcamacho Jesús Camacho Rodríguez
              Votes:
              0 Vote for this issue
              Watchers:
              1 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
                  1h