toolu-orm-query
Type-safe SQL query builders for toolu-orm. Provides Select, Insert, Update, and Delete builders with feature-gated database executors for libsql (async) or rusqlite (sync).
Stack
- Query Building: toolu-orm-core (Expr, Column<T>, Value)
- Execution: libsql (async, default) or rusqlite (sync)
- Async: async-trait, tokio (feature: libsql)
Architecture
src/
├── lib.rs # Module exports
├── select/
│ ├── builder.rs # SelectBuilder (columns, joins, filters, order, limit)
│ └── executor_fetch.rs # query_map extension methods (feature-gated)
├── insert.rs # InsertBuilder (set, or_replace, or_ignore)
├── update.rs # UpdateBuilder (set, set_expr, filter)
├── delete.rs # DeleteBuilder (filter)
├── executor.rs # Executor trait + database implementations
├── transaction.rs # Transaction wrapper
├── where_clause.rs # Filter macro + WHERE generation
├── error.rs # QueryError
└── exec_helpers.rs # impl_execute! macro
Usage
use SelectBuilder;
use InsertBuilder;
use CommonOps;
// Select with type-safe columns
let = new
.columns_typed
.filter
.order_by
.limit
.to_sql;
// Insert
let rows = new
.set
.set
.execute
.await?;
Development