3 ms·
Mea culpa on the docs, mea culpa. Better now [1]. In order for user code to impose invariants over the entire transaction, it must have access to the entire tr
by stuarthalloway 2y ago
Mea culpa on the docs, mea culpa. Better now [1].
In order for user code to impose invariants over the entire transaction, it must have access to the entire transaction. Entity predicates have such access (they are passed the after db, which includes the pending transaction and all other transactions to boot). Transaction functions are unsuitable, as they have access only to the before db. [2]
Use entity predicates for arbitrary functional validations of the entire transaction.
[1] https://docs.datomic.com/transactions/transactions.html#transaction-execution https://docs.datomic.com/transactions/transactions.html#tran...
[2] https://docs.datomic.com/transactions/transaction-functions.html#when-to-use https://docs.datomic.com/transactions/transaction-functions....
- lgrapenthin 2y agoSomewhat unrelated ad docs: It appears that "Query" opens a deadlink
- JB024066 2y agoThanks for the report! just fixed the link.