Skip to main content

Crate somnia_core

Crate somnia_core 

Source
Expand description

§somnia-core — typed SurrealQL query builder

The core of the somnia SurrealDB ORM: a typed query builder, an expression tree, and the record/schema traits. Most users depend on the somnia umbrella crate (which re-exports everything here) rather than on somnia-core directly.

The builder renders ready-to-run SurrealQL strings via to_surrealql(), inlining literals with proper escaping rather than relying on bind parameters.

§Modules

§Example

// `Post` derives `SurrealRecord`, which generates `table()`, `all()`,
// and typed column accessors like `Post::title()`.
let sql = Post::table()
    .select(Post::all())
    .filter(Post::title().eq("hello".to_string()))
    .limit(10)
    .to_surrealql();

Re-exports§

pub use expr::col;
pub use expr::field;
pub use expr::ident;
pub use expr::Closure;
pub use expr::Column;
pub use expr::ColumnMeta;
pub use expr::ColumnSet;
pub use expr::DynExpr;
pub use expr::DynExprBox;
pub use expr::Expr;
pub use expr::Func;
pub use expr::Grouped;
pub use expr::Ident;
pub use expr::IfExpr;
pub use expr::KnnExpr;
pub use expr::Literal;
pub use expr::MatchesExpr;
pub use expr::NoneLit;
pub use expr::Order;
pub use expr::Param;
pub use expr::Path;
pub use expr::Projection;
pub use expr::Raw;
pub use expr::SurrealQL;
pub use query::Batch;
pub use query::Create;
pub use query::DefineAnalyzer;
pub use query::DefineEvent;
pub use query::DefineFunction;
pub use query::DefineIndex;
pub use query::DefineParam;
pub use query::Delete;
pub use query::For;
pub use query::Insert;
pub use query::LetVar;
pub use query::Relate;
pub use query::RelateEdge;
pub use query::Returning;
pub use query::Search;
pub use query::Select;
pub use query::Table;
pub use query::Transaction;
pub use query::Update;
pub use query::VectorSearch;
pub use types::Key;
pub use types::SurrealEdge;
pub use types::SurrealRecord;
pub use types::SurrealSchema;
pub use types::Thing;

Modules§

error
expr
The expression tree used inside WHERE/SET/projection clauses.
query
SurrealQL statement builders.
types
Core record types and traits.