Skip to main content

Module executors

Module executors 

Source
Expand description

Multi-Mode Query Executors

Specialized executors for each query language mode:

  • Gremlin: Traverser-based execution with path state tracking
  • SPARQL: Pattern matching with variable bindings
  • Natural: Translation + execution with explanation
  • Vector: HNSW-based similarity search with metadata filtering
  • Hybrid: Combined structured + vector search with fusion strategies

Each executor converts its native AST to execution operations, leveraging the unified executor for common operations.

Modules§

agg_spill
Hash-aggregation spill helper — Fase 4 P4 building block.
aggregation
Aggregation Framework
bitmap_scan
Bitmap heap scan — Fase 5 P6 consumer of TidBitmap.
cte
CTE (Common Table Expression) executor.
gremlin
Gremlin Traversal Executor
hybrid
Hybrid Query Executor
join
JOIN Executor Algorithms
natural
Natural Language Query Executor
parallel_scan
Parallel scan coordinator — Fase 4 P5 building block.
set_ops
Set Operations Executor
sparql
SPARQL Query Executor
subquery
Subquery Executor
vector
Vector Query Executor
window
Window Functions Executor

Structs§

AggregationDef
Definition of an aggregation to compute
AvgAggregator
AVG aggregator
CountAggregator
COUNT aggregator
CountDistinctAggregator
COUNT DISTINCT aggregator
CteContext
CTE execution context holding materialized CTE results
CteExecutor
CTE Executor
CteStats
Statistics about CTE execution
ExecuteResult
Result of executing a query with mode information
FrameSpec
Frame specification for window function
GremlinExecutor
Gremlin executor with traverser-based execution
GroupConcatAggregator
GROUP_CONCAT aggregator
HybridExecutor
Hybrid query executor that combines structured and vector results
InMemoryHybridExecutor
In-memory hybrid executor for testing
InMemoryVectorExecutor
Simple in-memory vector executor for testing without full VectorStore
JoinStats
Statistics for choosing join strategy
MaxAggregator
MAX aggregator
MinAggregator
MIN aggregator
MultiModeExecutor
Multi-mode executor that routes to specialized executors
NaturalExecutor
Natural language executor with translation explanation
PercentileAggregator
Percentile aggregator
SampleAggregator
SAMPLE aggregator (returns first non-null value)
SetOpStats
Statistics for set operations
SparqlExecutor
SPARQL executor with variable binding semantics
StdDevAggregator
Standard deviation aggregator
SubqueryDef
A subquery definition
SubqueryExecutor
Subquery executor handles evaluation of nested queries
SumAggregator
SUM aggregator
ValueHash
Hashable wrapper for Value (for HashSet storage)
VarianceAggregator
Variance aggregator
VectorExecutor
Vector query executor using HNSW index
WindowDef
Complete window definition
WindowExecutor
Window function executor
WindowFunc
A window function to apply
WindowOrderBy
Order-by specification for window

Enums§

CompareOp
Comparison operator for ANY/ALL
FrameBound
Frame boundary specification
FrameExclude
Frame exclusion option
FrameType
Frame type for window functions
JoinCondition
Join condition for filtering matches
JoinStrategy
Strategy to use for executing the join
JoinType
Type of JOIN operation
NullsOrder
Null handling in sorting
SetOpType
Type of set operation
SortDirection
Sort direction
SubqueryCache
Cached result of a non-correlated subquery
SubqueryType
Type of subquery
WindowFuncType
Type of window function

Traits§

Aggregator
Trait for aggregation functions

Functions§

bind_outer_refs
Check if a binding satisfies correlation constraints
choose_strategy
Choose optimal join strategy based on statistics
create_aggregator
Create an aggregator by name
detect_correlation
Detect outer variable references in a subquery
execute_group_by
1-pass streaming GROUP BY.
execute_having
Execute HAVING clause (filter on aggregated results)
execute_join
Execute a join operation using the optimal strategy
execute_set_op
Execute a set operation on two binding vectors
hash_join
Execute a hash join
inline_ctes
Inline a QueryWithCte’s WITH clause into its inner query. Returns the rewritten QueryExpr ready for dispatch. Recursive CTEs are rejected with a clear error.
merge_join
Execute a merge join (for sorted inputs)
nested_loop_join
Execute a nested loop join (O(n*m) but works with any condition)
set_except
EXCEPT operation (set difference)
set_intersect
INTERSECT operation
set_union
UNION operation
split_union_parts
Helper to parse UNION structure for recursive CTEs