run when the whole transaction can be retried after a safe optimistic-concurrency conflict:
Limitations
Conditional transactions currently have these limitations:- Transactions are collection-scoped. A single transaction cannot span multiple collections.
- Nested transaction guarantees are not provided. Start and commit one transaction at a time.
txn.query(...)is not supported. Use transactionalget(...)for reads.- Predicate deletes are not supported. Transactional deletes must provide explicit IDs.
- Reading an ID after buffering a write for that ID is an explicit transaction error.
- Each transaction can buffer at most one write for a given ID.
- Filter reads protect only the IDs returned by the filter read. Records that matched the filter later, but were not returned by the original read, are not part of the read set.