> All changes to an object (addition, modification and deletion) must be done within a write transaction.
> Write transactions incur non-negligible overhead - you should architect your code to minimize the number of write transactions.
So is there a single write lock? If you try to start two transactions, will the second one be delayed or retried? Can reads proceed while the transaction is processing?
> Results instances are live, auto-updating views into the underlying data
So if I am doing x.first, x.second while the object is being updated in a second thread, will I get mixed state?
Is database crash proof? If the phone runs out of battery while in write transaction, will the database get damaged?
... so many questions