Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-12810

Support to run a TableAPI query like 'table.select('a, 'b, 'c)' in Blink runner

    XMLWordPrintableJSON

Details

    Description

      Support to run a TableAPI query like 'table.select('a, 'b, 'c)', including:
      1. add RexNodeConverter to convert Expression to RexNode
      2. Introduce RexPlannerExpression to wraps a RexNode, which is similar to RexPlannerExpression in flink-planner module.
      3. add QueryOperationConverter to convert QueryOperation tree to RelNode
      4. Introduce PlannerQueryOperation to wraps a RelNode in QueryOperation, which is similar to PlannerQueryOperation in flink-planner module.
      5. add OperationTreeBuilder and relative classes(ExpressionResolver, TableReferenceLookup, FieldReferenceLoopup, ExpandColumnFunctionsRule, LookupCallByNameRule, ResolverRule, StarReferenceFlattingRule, VerifyNoUnresolvedExpressionRule), which is almost copy from flink-planner module to blink-planner module, except that we remove dependency on PlannerExpression. *Note: This is temporal solution, since OperationTreeBuilder will be moved to api module finally.*
      6. add implicit conversion in expressionDsl

      Attachments

        Issue Links

          Activity

            People

              jingzhang Jing Zhang
              jingzhang Jing Zhang
              Votes:
              0 Vote for this issue
              Watchers:
              2 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