An update transaction can be used to observe and update data. The state of the data the user wishes to read and that of the data the user wants to change are specified as two separate arrays of table IDs - one array for the updates ("write locks") and the other for the reads ("read locks").
When an update transaction is started successfully, , the state of the specified tables that only have read locks granted are guaranteed to remain unchanged until transaction is ended. The state of the specified tables that have write locks granted can only be updated by this transaction. This is achieved by mutual exclusion between transactions that specify the same table where at least one transaction has it write locked.