Skip to main content

Module predicate

Module predicate 

Source
Expand description

Predicate algebras.

Sassi provides two layered predicate types:

  • BasicPredicate<T> — the universal base. Composes via &, |, ^, ! operators. Lowers cleanly to SQL when consumed by an ORM that knows the Field<T, V> shape (e.g., djogi). Evaluates identically against an in-memory &T via BasicPredicate::evaluate.
  • MemQ<T> — the in-memory-only extension. Adds Rust closures and sequence operations that can’t be projected into SQL.

This module owns both predicate layers. MemQ pairs with crate::punnu::PunnuScope for in-memory execution.

Re-exports§

pub use basic::BasicPredicate;
pub use basic::IntoBasicPredicate;
pub use field_ext::PresentField;
pub use field_predicate::FieldPredicate;
pub use field_predicate::LookupOp;
pub use memq::MemQ;

Modules§

basic
BasicPredicate<T> — the universal predicate algebra.
field_ext
Field extension methods — the predicate-builder surface on Field<T, V>.
field_predicate
FieldPredicate<T> — the per-field predicate payload carried inside BasicPredicate::Field.
memq
MemQ<T> - the in-memory extension algebra.