SQL compatibility
The executable surface of the standalone Rust Engine, feature by feature. Parser acceptance alone does not mean a feature is physically executed — this table tracks what actually runs.
Executable today
| Feature | Local | Distributed | Notes |
|---|---|---|---|
SELECT, projection, aliases | Yes | Yes | Strict — unknown or duplicate columns fail |
WHERE | Yes | Yes | Conservative predicate pushdown to storage; residual filters retained for correctness |
GROUP BY | Yes | Yes | Hash aggregate; partial/final across workers |
SUM COUNT AVG MIN MAX | Yes | Yes | AVG merges as a weighted state |
COUNT(DISTINCT), SUM/AVG(DISTINCT) | Yes | Yes | Exact mergeable distinct state |
HAVING | Yes | Yes | Post-aggregation filter |
ORDER BY, NULLS FIRST/LAST | Yes | Yes | Multi-key with per-key direction; bounded external merge |
LIMIT / TopN | Yes | Yes | LIMIT above a sort fuses into TopN |
| Equi joins — inner, left, right, full | Yes | Yes | Distributed via hash repartition |
| Cross joins | Yes | Yes | Broadcast build side |
| Window functions | Yes | Yes | ROW_NUMBER RANK DENSE_RANK LAG LEAD, aggregates with OVER |
| Set operations | Yes | Yes | UNION ALL, INTERSECT, EXCEPT |
| Date and time functions | Yes | Yes | EXTRACT DATE_TRUNC DATE_PART TO_CHAR NOW CURRENT_DATE CURRENT_TIMESTAMP |
| Conditional and comparison | Yes | Yes | CASE COALESCE BETWEEN IN LIKE ILIKE CAST |
| Qualified names | Yes | Yes | catalog.schema.table |
Not executable
- Scalar and correlated subqueries.
- Non-equality join conditions — equalities only, though general predicates work in
WHERE. - DDL and DML. The Engine reads; it does not create, insert, update, or delete.
- Comprehensive decimal and date/time edge-case semantics.
Storage boundaries
SQL support is independent of what the Engine can read. Local and object-store Parquet/Delta readers and a restricted Iceberg snapshot reader are implemented. Delta supports classic and multipart checkpoints, while unsupported table features fail explicitly. Live ADLS/S3 qualification remains pending. See Storage & Catalogs.
Execution boundaries
POST /v1/statement supports opt-in paged results with authenticated, replayable pages; inline results remain bounded and materialized. Query history is bounded and process-local. Admission, resource-group queues, and partitioned aggregate/join/sort spill are implemented. Conservative statistics select the build side of supported inner joins. General cost optimization, dynamic filtering, and fully pipelined exchanges remain targets. See Engine Memory.