akar-processor 0.1.17

Query processor and execution engine for the Akar embedded graph database
Documentation

Akar Processor

Physical operator execution pipeline — the runtime that executes query plans.

Physical operators (48 structs):

  • PhysicalScan — reads column-major table data into DataChunks
  • PhysicalFilter — evaluates expressions, produces selection vectors
  • PhysicalProjection — selects/orders columns
  • PhysicalOrderBy — multi-key sorting (all Value types, NULLs last)
  • PhysicalLimit — chunk-aware LIMIT/OFFSET
  • PhysicalHashJoin — hash join with Value-keyed hash table (all types)
  • PhysicalAggregate — scalar and GROUP BY aggregates (COUNT, SUM, AVG, MIN, MAX)
  • PhysicalCopyFrom — CSV/Parquet file loading into tables
  • PhysicalDelete — row deletion from node tables
  • PhysicalSet — property updates on matched rows
  • PhysicalUnwind — list expression expansion into rows
  • PhysicalIntersect — WCOJ intersect execution
  • PhysicalRecursiveExtend — recursive path traversal
  • PhysicalCountRelTable — CSR metadata COUNT

Expression evaluation:

  • Arrow-native evaluation (evaluate_to_arrow + boolean_array_to_selection)
  • Parallel aggregation via AggregateHashTable
  • Parallel hash join via JoinHashTable
  • BlockMergeSort + RadixSort for ORDER BY
  • BinaryHeap O(n log k) TopK

Pipeline: QueryProcessor::execute(&[LogicalOperator]) -> flattens plan -> runs physical operators -> returns Vec<DataChunk>.

Tests: 157