Repository navigation
v0.46.3
Writable tables, transaction hooks and ATTACH options for the main catalog (docs).
- Writable catalog tables:
CatalogTable.Builder#insertFunction/updateFunction/deleteFunction/writeResultMode;TableInfoadvertises them andcatalog_table_{insert,update,delete}_function_getnow answer. Newfarm.query.vgi.writepackage:WriteOptions,WriteResultMode,WriteOperation,WriteResults(rowIdField,resultSchema,resultBatch, ...). - Constraint enforcement: a writable table with constraint records negotiates
vgi.constraint.enforce.v1automatically; a provider advertising enforce without records-read is no longer dropped. Worker.onAttach(AttachHook)returnsAttachSettings(per-attachsupports_transactions/supports_time_travel);Worker.supportsTransactions(boolean)/supportsTimeTravel(boolean)set the worker-wide defaults (stilltrue).Worker.transactionHooks(TransactionHooks): begin mints the plaintext transaction id; commit (throw to fail COMMIT) and rollback get the same bytes on every transport, HTTP included.CatalogInterfacegains the same hooks.- Functions get
transactionId()andattachOptions()(AttachOptions, secret options included) on table and table in-out bind/init params;TableInOutInitParamsalso getsattachId()andbindOpaqueData(). - Secret ATTACH options reach functions: they are encrypted into
attach_opaque_data(configured signing key, else HTTP sealing key, else a per-user host key file shared by pooled/stdio processes), never plaintext. - The main catalog's resolved data version now survives on a process that never served the ATTACH.
FunctionMetadata.withStability,Schemas.serialize;TransactionStoragedocs corrected.txfixfixture worker; CI runs the vgiwritable_txsuite (vgi c4a9fea) on launch, shm and http.