http://www.w3.org/Bugs/Public/show_bug.cgi?id=11401
Summary: [IndexedDB] We should disallow .transaction() from
within setVersion transactions
Product: WebAppsWG
Version: unspecified
Platform: PC
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: Indexed Database API
AssignedTo: [email protected]
ReportedBy: [email protected]
QAContact: [email protected]
CC: [email protected], [email protected]
We should disallow .transaction() from within setVersion transactions.
Otherwise things like this can become confusing:
db.setVersion('1').onsuccess(function () {
db.createObjectStore('a');
trans = db.transaction('a');
db.removeObjectStore('a');
db.createObjectStore('a');
trans.objectStore('a').put('foo', 'bar');
});
or
db.setVersion('1').onsuccess(function () {
thisTrans = event.result;
db.createObjectStore('a');
trans = db.transaction('a');
thisTrans.abort();
trans.objectStore('a').put('foo', 'bar');
});
We could specify a bunch of complicated semantics, but it's much easier to just
say that .transaction() throws if called within a setVersion transaction. Any
use case that needs to create a transaction within should be satisfied by doing
the work in an oncomplete handler for the setVersion transaction.
--
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.