citadeldb-sql
SQL engine for the Citadel encrypted embedded database engine. Supports CREATE/DROP TABLE (incl. STRICT), ALTER TABLE, TRUNCATE, SELECT with JOINs (INNER, LEFT, RIGHT, CROSS, FULL OUTER, LATERAL), subqueries, CTEs (recursive + WITH-DML), UNION/INTERSECT/EXCEPT, window functions, INSERT (with UPSERT / ON CONFLICT), UPDATE, DELETE, RETURNING (with OLD/NEW row aliases), generated columns (STORED + VIRTUAL), partial indexes (CREATE INDEX … WHERE), GIN inverted indexes (CREATE INDEX … USING gin) for JSONB @> containment queries, FTS inverted indexes (CREATE INDEX … USING fts) for tsvector @@ tsquery matching, COLLATE (BINARY/NOCASE/RTRIM) at column/expression/ORDER BY/index level, JSON / JSONB types with 12 PG operators (->, ->>, #>, #>>, @>, <@, ?, ?|, ?&, #-, @?, @@), JSON_TABLE / JSON_EXISTS / JSON_VALUE / JSON_QUERY with SQL/JSON predicate path language, 16 JSON scalar functions, 4 JSON/JSONB aggregates (json_agg, jsonb_agg, json_object_agg, jsonb_object_agg), and 5 set-returning JSON functions, full-text search (tsvector / tsquery, to_tsvector / to_tsquery / plainto_tsquery / phraseto_tsquery / websearch_to_tsquery, ts_rank / ts_rank_cd, weighted-vector A/B/C/D and prefix-match support), information_schema.* and pg_timezone_names / pg_timezone_abbrevs system catalog tables, foreign keys with full referential actions (CASCADE / SET NULL / SET DEFAULT / RESTRICT / NO ACTION), aggregates, constraints, transactions with savepoints, prepared statements with snapshot-tagged plan caching (join inner-side and compound branches cached across executions, invalidated on commit), and multi-statement scripts. Large values (TEXT / BLOB / JSON / JSONB) transparently spill to overflow page chains.
This crate is part of the Citadel workspace. Depend on the main citadeldb crate instead.
License
MIT OR Apache-2.0