[w3c/IndexedDB] Specify interaction between transaction abort and index/object store renames (#89)

Step 1 in the [algorithm for aborting a transaction](https://w3c.github.io/IndexedDB/#abort-transaction) states that all the changes are reverted. This does not specify what happens to the name of an object store / index  that is created and renamed in the same aborted transaction.

For this particular case, Firefox 49/50 does not revert any rename after the transaction is aborted. More formally, it passes this [index rename test](https://codereview.chromium.org/2276593002/diff/480001/third_party/WebKit/LayoutTests/storage/indexeddb/rename-index.html#newcode482), and this [object store rename test](https://codereview.chromium.org/2276593002/diff/480001/third_party/WebKit/LayoutTests/storage/indexeddb/rename-object-store.html#newcode541)

FWIW, I think that the shortest Chromium implementation would result in the same behavior as Firefox. I'd rationalize it as follows. Aborting a transaction marks newly created indexes and object stores as deleted, and reverts the metadata of all the other indexes and object stores modified by the transaction to the corresponding metadata at the beginning of the transaction.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/IndexedDB/issues/89

Received on Wednesday, 7 September 2016 01:02:38 UTC