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, SqlPlan, VectorAnnOptions, VectorPrimaryRow, VectorQuantization,
18};
19pub use query::{
20    AggregateExpr, EngineType, JoinType, Projection, SortKey, SpatialPredicate, WindowSpec,
21};
22
23// ── SQL value / expression / operator types ──
24// Re-exported so downstream `use crate::types::*` continues to resolve these
25// symbols without change.
26pub use crate::types_expr::{BinaryOp, SqlDataType, SqlExpr, SqlPayloadAtom, SqlValue, UnaryOp};
27
28// ── Catalog trait ──
29// Re-exported here so downstream modules that `use crate::types::*`
30// keep resolving `SqlCatalog` without changing their imports.
31pub use crate::catalog::{ArrayCatalogView, SqlCatalog, SqlCatalogError};
32pub use crate::fts_types::FtsQuery;