Expand description
SOCH-QL Query Executor (Task 6)
End-to-end SOCH-QL query execution pipeline:
- parse(sql) → SochQuery
- validate(query, catalog) → Result<()>
- plan(query, stats) → QueryPlan
- execute(plan, storage) → SochTable
§Token Reduction Model
tokens_JSON(table) ≈ 4 + Σ(|field_name| + |value| + 4) per row
tokens_TOON(table) ≈ header + Σ(|value| + 1) per row
reduction = 1 - tokens_TOON/tokens_JSON ≈ 0.4 to 0.6
For 100 rows × 5 fields:
JSON: ~100 × (5 × 15) = 7,500 tokens
TOON: ~50 + 100 × 25 = 2,550 tokens → 66% reductionStructs§
- Column
Batch - Columnar batch for vectorized processing
- KeyRange
- Key range for index seeks
- Predicate
- Query predicate
- Predicate
Condition - Single predicate condition (uses CoreSochValue for row compatibility)
- Selection
Vector - Selection vector for batch predicate evaluation
- Soch
QlExecutor - SOCH-QL Query Executor
- Token
Reduction Stats - Token reduction statistics
- Vectorized
Executor - Vectorized executor for batch predicate evaluation
- Vectorized
Stats - Statistics for vectorized execution
Enums§
- Query
Plan - Query plan operators
- Vector
Predicate - Vectorized predicate for batch evaluation
Functions§
- estimate_
token_ reduction - Estimate token reduction for a TOON result vs JSON
- execute_
sochql - Execute a SOCH-QL query (convenience function)