Skip to main content

nautilus_core/
lib.rs

1//! Core query AST and type system for Nautilus ORM.
2
3#![warn(missing_docs)]
4#![forbid(unsafe_code)]
5
6/// Structured argument objects for the query API.
7pub mod args;
8/// Typed column references, markers, and selection traits.
9pub mod column;
10/// Cursor predicate builder for stable pagination.
11pub mod cursor;
12/// DELETE query AST and builder.
13pub mod delete;
14/// Error types and result alias.
15pub mod error;
16/// Expression AST for filters and WHERE clauses.
17pub mod expr;
18/// INSERT query AST and builder.
19pub mod insert;
20/// Helpers for converting typed Rust query args into engine wire JSON.
21pub mod protocol_json;
22/// SELECT query AST and builder.
23pub mod select;
24/// UPDATE query AST and builder.
25pub mod update;
26/// Database value representation.
27pub mod value;
28
29pub use args::{FindManyArgs, FindUniqueArgs, IncludeRelation, VectorMetric, VectorNearest};
30pub use column::{Column, ColumnMarker, FromValue, OrderField, RowAccess, SelectColumns};
31pub use cursor::build_cursor_predicate;
32pub use delete::{Delete, DeleteBuilder, DeleteCapacity};
33pub use error::{Error, Result};
34pub use expr::{BinaryOp, Expr, JsonPathCast, LiteralSql};
35pub use insert::{Insert, InsertBuilder, InsertCapacity};
36pub use protocol_json::{
37    find_many_args_to_protocol_json, find_many_args_to_protocol_object, where_expr_to_protocol_json,
38};
39pub use select::{
40    JoinClause, JoinType, OrderBy, OrderByItem, OrderDir, Select, SelectBuilder, SelectCapacity,
41    SelectItem,
42};
43pub use update::{Update, UpdateBuilder, UpdateCapacity};
44pub use value::{Geography, Geometry, PlainValueRef, Value};