Skip to main content

Module select

Module select 

Source

Structs§

AggregateCall
A parsed aggregate call like COUNT(*), SUM(salary), COUNT(DISTINCT dept).
JoinClause
One JOIN clause from the FROM list. Multi-join queries (A JOIN B ... JOIN C ...) become a Vec<JoinClause> evaluated left-to-right against the accumulator. v1 requires an ON condition; USING / NATURAL / CROSS are deferred.
OrderByClause
A parsed ORDER BY clause: a single sort key (expression), ascending by default. Phase 7b widened this from “bare column name” to “arbitrary expression” so KNN queries of the form ORDER BY vec_distance_l2(col, [...]) LIMIT k work end-to-end. The expression is evaluated per-row at execution time via eval_expr; the simple ORDER BY col form still works because that’s just an Expr::Identifier taking the same path.
ProjectionItem
One entry in the projection list.
SelectQuery
A parsed, simplified SELECT query.

Enums§

AggregateArg
What the aggregate is fed: * (only valid for COUNT) or a bare column.
AggregateFn
Aggregate function name. v1 covers the SQLite-classic five.
JoinType
SQLR-5 — flavor of join. SQLite ships INNER and LEFT OUTER; we implement the full quartet on top of a single nested-loop driver because the per-flavor differences are small (NULL-padding policy for unmatched left/right rows). RIGHT OUTER and FULL OUTER aren’t in SQLite — see docs/design-decisions.md for the rationale.
Projection
What columns to project from a SELECT.
ProjectionKind
What an individual projection item produces.