Usage
Update the test cases
cargo run -p optd-sqlplannertest --bin planner_test_apply
# or, supply a list of directories to scan from
cargo run -p optd-sqlplannertest --bin planner_test_apply -- subqueries
Verify the test cases
cargo test -p optd-sqlplannertest
# or use nextest
cargo nextest run -p optd-sqlplannertest
Tasks
The explain
and execute
task will be run with datafusion's logical optimizer disabled. Each task has some toggleable flags to control its behavior.
execute
Task
Flags
Name |
Description |
use_df_logical |
Enable Datafusion's logical optimizer |
Explain Task
Flags
Name |
Description |
use_df_logical |
Enable Datafusion's logical optimizer |
verbose |
Display estimated cost in physical plan |
logical_rules |
Only enable these logical rules (also disable heuristic optimizer) |
Currently we have the following options for the explain task:
logical_datafusion
: datafusion's logical plan.
logical_optd
: optd's logical plan before optimization.
optimized_logical_optd
: optd's logical plan after heuristics optimization and before cascades optimization.
physical_optd
: optd's physical plan after optimization.
physical_datafusion
: datafusion's physical plan.
join_orders
: physical join orders.
logical_join_orders
: logical join orders.
Tracing a query
RUST_BACKTRACE=1 RUST_LOG=optd_core=trace,optd_datafusion_bridge=trace cargo run -p optd-sqlplannertest --bin planner_test_apply -- pushdowns &> log