[ https://issues.apache.org/jira/browse/FLINK-20509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17247004#comment-17247004 ]
godfrey he commented on FLINK-20509: ------------------------------------ what if we use `verifyPlan` with JSON_EXEC_PLAN to check the result of a rule test, which result is logical rel plan, or we use `verifyPlan` with ESTIMATED_COST to check the exec node plan, which has not concept of cost. most plan test cases in blink planner are exec plan test, so if we just add a new method verifyExecPlan, there is also a lot of change. and the concept of {{verifyPlan}} is bigger than {{verifyExecPlan}}, developers may choose wrong method and get the unexpected result. So I trend to separate verifyPlan into verifyRelPlan and verifyExecPlan, the new methods are clearer than before > Refactor verifyPlan method in TableTestBase > ------------------------------------------- > > Key: FLINK-20509 > URL: https://issues.apache.org/jira/browse/FLINK-20509 > Project: Flink > Issue Type: Sub-task > Components: Table SQL / Planner > Reporter: godfrey he > Priority: Major > > Currently, we use {{verifyPlan}} method to verify the plan result for both > {{RelNode}} plan and {{ExecNode}} plan, because their instances are the same. > But once the implementation of {{RelNode}} and {{ExecNode}} are separated, we > can't get {{ESTIMATED_COST}} and {{CHANGELOG_MODE}} on {{ExecNode}} plan. So > in order to make those methods more clear, the {{verifyPlan}} method will be > separated into two methods, {{verifyRelPlan}} for verifying the {{RelNode}} > plan, and {{verifyExecPlan}} for verifying the {{ExecNode}} plan. -- This message was sent by Atlassian Jira (v8.3.4#803005)