SQLPlannerTest
optd uses risinglightdb's SQL planner test library to ensure the optimizer works correctly and stably produces an expected plan. SQL planner test is a regression test. Developers provide the test framework a yaml file with the queries to be optimized and the information they want to collect. The test framework generates the test result and store them in SQL files. When a developer submits a pull request, the reviewers should check if any of these outputs are changed unexpectedly.
The test cases can be found in optd-sqlplannertest/tests
. Currently, we check if optd can enumerate all join orders by using the explain:logical_join_orders,physical_plan
task and check if the query output is as expected by using the execute
task.