Skip to main content

Module sparql_executor

Module sparql_executor 

Source
Expand description

SPARQL Physical Query Executor

Executes query plans against NQuin arrays using zero-allocation patterns.

Structs§

Q42RangeNestedLoopJoinPage
Q42RangeNestedLoopJoinPlan
Q42RangeNestedLoopJoinState
Q42RangeSparqlCursor
Resume state for a caller-buffered triple-pattern page over a range-backed Q42 segment. It is deliberately separate from the resident executor: no graph-sized Vec<NQuin> is constructed on this path.
Q42RangeSparqlPage
Q42RangeTriplePattern
Q42RangeTripleSelectCursor
Q42RangeTripleSelectPage
Q42RangeTripleSelectPlan
A range-executable subset of a physical plan: one triple pattern with optional projection and LIMIT/OFFSET. Unsupported trees are rejected so a caller can deliberately choose the resident compatibility executor instead of receiving a partial SPARQL result.
Q42RangeVolumeSetNestedLoopJoinState
Resumable state for the logical-volume equivalent of Q42RangeNestedLoopJoinState. The cursors include manifest child positions, so a join never has to re-open or materialise a volume set.
Q42RangeVolumeSetSparqlCursor
Q42RangeVolumeSetSparqlPage
Q42RangeVolumeSetTripleSelectCursor
Q42RangeVolumeSetTripleSelectPage
QueryExecutor
Query executor

Functions§

execute_range_nested_loop_join_page_into
Execute a bounded page of a two-pattern nested-loop join. left_rows and right_rows remain owned by the caller across invocations; the state holds only fixed-size cursors and counts. The output buffer must be at least as large as the Quin scratch buffer so no right-page result is dropped.
execute_range_triple_page_into
Execute one physical page of a SPARQL triple pattern against a Q42 range source. Constants and already-bound variables become on-disk filters; a bound object selects BIDX pruning automatically. quin_scratch and out are caller-owned, maintaining the zero-heap query kernel contract.
execute_range_triple_select_page_into
Execute one bounded page of a simple SELECT/ASK physical plan.
execute_range_volume_set_nested_loop_join_page_into
Execute one bounded page of a two-pattern nested-loop join across a manifest-backed Q42 snapshot. It has the same binding and output contract as execute_range_nested_loop_join_page_into, while the child selection remains inside [Q42RangeVolumeSet].
execute_range_volume_set_triple_page_into
The logical-volume counterpart of execute_range_triple_page_into. It preserves exactly the same SPARQL binding semantics while the root manifest prunes child segments before each range-backed SuperBlock scan.
execute_range_volume_set_triple_select_page_into
Execute one bounded page of the same simple SELECT/ASK plan across a front-manifested logical Q42 root.
unpack_virtual_triple
Unpack an embedded triple and map its components to variable indices in a BindingRow.