cratestack-sql
Dialect-agnostic SQL primitives shared by Postgres and SQLite backends.
Overview
cratestack-sql provides common SQL primitives used by both cratestack-sqlx (Postgres) and cratestack-rusqlite (SQLite). It includes filter AST, order AST, value types, and model descriptors.
Installation
This is an internal dependency; typically used through the umbrella crate:
[]
= "0.2"
For direct use:
[]
= "0.2"
SQL Value Types
use SqlValue;
// Supported storage types
String
Int
Float
Bool
Bytes
Uuid
DateTime
Json
Decimal
Filter AST
use ;
// Field comparisons
let filter = eq;
let filter = and;
// Relation filters
let filter = relation;
Order AST
use ;
let order = OrderBy ;
Dialect Trait
use Dialect;
// Only varies on placeholder syntax
let dialect = Postgres; // $1, $2, ...
let dialect = Sqlite; // ?, ?, ...
Model Descriptor
use ModelDescriptor;
// Generated by include_schema!
let model = &USER_MODEL;
// Contains table name, columns, relations
println!;
See Also
cratestack-sqlx- Postgres backend (async)cratestack-rusqlite- SQLite backend (sync, on-device)
License
MIT