[ 
https://issues.apache.org/jira/browse/FLINK-3754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15253850#comment-15253850
 ] 

ASF GitHub Bot commented on FLINK-3754:
---------------------------------------

Github user yjshen commented on the pull request:

    https://github.com/apache/flink/pull/1916#issuecomment-213411425
  
    For ease of review, I would like to explain this RP with more details.
    
    While table api are called to construct a query, it was first constructed 
as a operator tree, `LogicalNode` is used to express the tree node. Therefore, 
after we finished constructing a query and about to translate it into a 
dataset/datastream program, the constructed logical plan looks like:
    ```
    Aggregate(List of group by, List of aggregate)
    +- Filter (condition expression)
        +- Union
            +- Project (select column expression) 
                +- TableScan(DS1) 
            +- Project (select column expression)
                +- TableScan(DS2)
    ```
    At this time, only the leaf node: TableScan (`CatalogNode` in current 
implementation) is equipped with type information, in order to do plan 
validation, we need to **annotate** the full logical plan with type information 
first and use type information to do **validate** works.


> Add a validation phase before construct RelNode using TableAPI
> --------------------------------------------------------------
>
>                 Key: FLINK-3754
>                 URL: https://issues.apache.org/jira/browse/FLINK-3754
>             Project: Flink
>          Issue Type: Improvement
>          Components: Table API
>    Affects Versions: 1.0.0
>            Reporter: Yijie Shen
>            Assignee: Yijie Shen
>
> Unlike sql string's execution, which have a separate validation phase before 
> RelNode construction, Table API lacks the counterparts and the validation is 
> scattered in many places.
> I suggest to add a single validation phase and detect problems as early as 
> possible.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to