akar-planner 0.1.21

Query planner for the Akar embedded graph database
Documentation
---
covers: []
---
# join_order.rs

- JoinPlan · enum · L13-L24 — pub enum JoinPlan
- build_join_tree · function · L36-L100 — pub fn build_join_tree(scans: Vec<LogicalOperator>, filter_expr: Option<&BoundExpression>) -> JoinPlan
- split_and_conjuncts · function · L103-L112 — fn split_and_conjuncts(expr: &Expression) -> Vec<Expression>
- collect_variables · function · L115-L160 — fn collect_variables(expr: &Expression, out: &mut HashSet<String>)
- push_single_var_predicates · function · L169-L199 — fn push_single_var_predicates(scans: &mut [LogicalOperator], filter_expr: &Expression)
- build_wcoj_intersect · function · L216-L430 — pub fn build_wcoj_intersect(patterns: &[BoundPattern]) -> Option<(LogicalOperator, Vec<LogicalOperator>)>
- get_scan_alias · function · L433-L442 — fn get_scan_alias(op: &LogicalOperator) -> Option<String>
- extract_join_conditions · function · L448-L452 — fn extract_join_conditions(expr: &Expression) -> Vec<(Option<String>, Option<String>, Expression)>
- collect_equality_conditions · function · L455-L474 — fn collect_equality_conditions(expr: &Expression, conditions: &mut Vec<(Option<String>, Option<String>, Expression)>)
- extract_variable_alias · function · L478-L484 — fn extract_variable_alias(expr: &Expression) -> Option<String>
- flatten_join_plan · function · L490-L494 — pub fn flatten_join_plan(plan: &JoinPlan) -> Vec<LogicalOperator>
- flatten_plan · function · L496-L552 — fn flatten_plan(plan: &JoinPlan, ops: &mut Vec<LogicalOperator>)
- tests · module · L555-L875 — mod tests
- test_single_scan_leaf · function · L560-L575 — fn test_single_scan_leaf()
- test_two_scans_cross_product · function · L578-L602 — fn test_two_scans_cross_product()
- test_join_condition_extraction · function · L605-L623 — fn test_join_condition_extraction()
- test_no_join_condition · function · L626-L638 — fn test_no_join_condition()
- test_and_condition_extraction · function · L641-L669 — fn test_and_condition_extraction()
- test_extract_variable_alias · function · L672-L678 — fn test_extract_variable_alias()
- test_flatten_join_plan · function · L681-L694 — fn test_flatten_join_plan()
- test_single_var_predicate_pushdown · function · L697-L777 — fn test_single_var_predicate_pushdown()
- test_flatten_cross_product · function · L780-L806 — fn test_flatten_cross_product()
- mk_pattern · function · L808-L824 — fn mk_pattern(var: &str, label: &str, tid: u64, rel: Option<(&str, u64)>) -> BoundPattern
- test_wcoj_star_detection · function · L827-L839 — fn test_wcoj_star_detection()
- test_wcoj_triangle_detection · function · L842-L855 — fn test_wcoj_triangle_detection()
- test_wcoj_chain_falls_back · function · L858-L867 — fn test_wcoj_chain_falls_back()
- test_wcoj_single_edge_falls_back · function · L870-L874 — fn test_wcoj_single_edge_falls_back()