v0.3.0
Breaking
foreign_keysis now optional inNamespaceConfig. Send it asfalseto explicitly disable; omit to apply the default (true). Previously an explicitfalsewas silently flipped totrue.
Fixed
- Atomic update operators (
$increment,$multiply,$append) now reject non-numeric / non-marshalable operands instead of silently coercing in SQLite. - Schema migrations (
add_columns/drop_columns/rename_columns) keep the persistedtable_schemametadata in sync, so post-migration row inserts honour the updatedpattern/min/max/options. - FTS index creation validates each user-supplied column name before joining it into the bare-name
CREATE VIRTUAL TABLEcolumn list. namespace.Manager.Close()is idempotent (sync.Once) andgetOrOpenrejects work after shutdown.service.CreateNamespacerolls back the registry record, the open handle, and the on-disk file when DB initialisation fails.mapErrnow useserrors.Is(err, sqlite.ErrValidation)instead of substring-matching the message text.
Removed
MaxOpenNamespacesconfig option (was parsed and validated but never enforced).
Container
ghcr.io/valentinkolb/rsql:v0.3.0 · :latest