Skip to main content

Module datafusion_planner

Module datafusion_planner 

Source
Expand description

DataFusion-based physical planner for graph queries

Translates graph logical plans into DataFusion logical plans using a two-phase approach:

§Phase 1: Analysis

  • Assigns unique IDs to relationship instances to avoid column conflicts
  • Collects variable-to-label mappings and required datasets

§Phase 2: Plan Building

  • Nodes -> Table scans, Relationships -> Linking tables, Traversals -> Joins
  • Variable-length paths (*1..3) use unrolling: generate fixed-length plans + UNION
  • All columns qualified as {variable}__{column} to avoid ambiguity

Re-exports§

pub use analysis::PlanningContext;
pub use analysis::QueryAnalysis;
pub use analysis::RelationshipInstance;

Modules§

analysis
Query Analysis Phase
vector_ops
Vector Operations

Structs§

DataFusionPlanner
DataFusion-based physical planner

Traits§

GraphPhysicalPlanner
Planner abstraction for graph-to-physical planning