A very simple heuristic SQL query planner. Can output to a format readable by pythia if processed with convert.py.
An example query and plan is in sample_query/.
rpsql <QUERY>
See --help for more.
- Joins (must be representable as equijoins)
- Predicates (inequalities against constants)
- Grouping and Aggregation (must be done together, at most one function)
- Sorting and Limit (must be done together, limit defaults to
2^31-1) - Subqueries
- Not CTEs
- Projection
Predicate and projection pushdown optimizations are supported.