Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add sanity checker to check no expression left after optimization #12713

Closed
highker opened this issue Apr 22, 2019 · 2 comments
Closed

Add sanity checker to check no expression left after optimization #12713

highker opened this issue Apr 22, 2019 · 2 comments

Comments

@highker
Copy link
Contributor

highker commented Apr 22, 2019

Add a sanity checker (com.facebook.presto.sql.planner.sanity) to LogicalPlanner to make sure all Expressions are translated to RowExpressions after optimization (TranslateExpressions). Starting code points:

planSanityChecker.validateFinalPlan(root, session, metadata, sqlParser, symbolAllocator.getTypes(), warningCollector);

The task includes:

  • Add sanity check to make sure FilterNode and ValuesNode have no Expression left. (More nodes to come based on the progress of PlanNode Expression-to-RowExpression Migration Plan #12546). There are many example sanity checkers in the codebase (com.facebook.presto.sql.planner.sanity). One can start from there.
  • Add the above sanity check to the right place in LogicalPlanner like where other checkers reside.
@highker highker changed the title Add sanity checker to check no expression left after optimization. Add sanity checker to check no expression left after optimization Apr 22, 2019
@highker
Copy link
Contributor Author

highker commented Apr 22, 2019

Assigned to Mohamed Zait

@kewang1024 kewang1024 self-assigned this Jul 1, 2019
@highker
Copy link
Contributor Author

highker commented Aug 12, 2019

Resolved by #13007

@highker highker closed this as completed Aug 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants