Skip to main content

nodedb_sql/types/
mod.rs

1// SPDX-License-Identifier: Apache-2.0
2
3//! SqlPlan intermediate representation types.
4//!
5//! These types represent the output of the nodedb-sql planner. Both Origin
6//! (server) and Lite (embedded) map these to their own execution model.
7
8pub mod collection;
9pub mod filter;
10pub mod plan;
11pub mod query;
12
13pub use collection::{CollectionInfo, ColumnInfo, IndexSpec, IndexState};
14pub use filter::{CompareOp, Filter, FilterExpr};
15pub use plan::{
16    ArrayPrefilter, DistanceMetric, KvInsertIntent, MergeClauseKind, MergePlanAction,
17    MergePlanClause, PlanCacheEligibility, SqlPlan, VectorAnnOptions, VectorPrimaryRow,
18    VectorQuantization,
19};
20pub use query::{
21    AggOutputSlot, AggregateExpr, EngineType, JoinType, Projection, SortKey, SpatialPredicate,
22    WindowSpec,
23};
24
25// ── SQL value / expression / operator types ──
26// Re-exported so downstream `use crate::types::*` continues to resolve these
27// symbols without change.
28pub use crate::types_expr::{BinaryOp, SqlDataType, SqlExpr, SqlPayloadAtom, SqlValue, UnaryOp};
29
30// ── Catalog trait ──
31// Re-exported here so downstream modules that `use crate::types::*`
32// keep resolving `SqlCatalog` without changing their imports.
33pub use crate::catalog::{ArrayCatalogView, SqlCatalog, SqlCatalogError};
34pub use crate::fts_types::FtsQuery;