Summary: | IndexedDB needs to manually delete all objectStore data and indexes | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Jeremy Orlow <jorlow> | ||||||
Component: | New Bugs | Assignee: | Jeremy Orlow <jorlow> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | abarth, andreip, bulach, eric, steveblock, webkit.review.bot | ||||||
Priority: | P2 | ||||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | Other | ||||||||
OS: | OS X 10.5 | ||||||||
Attachments: |
|
Description
Jeremy Orlow
2010-08-24 06:44:02 PDT
Created attachment 65270 [details]
Patch
> doDelete(sqliteDatabase(), "DELETE FROM ObjectStores WHERE id = ?", objectStore->id());
> doDelete(sqliteDatabase(), "DELETE FROM ObjectStoreData WHERE objectStoreId = ?", objectStore->id());
> doDelete(sqliteDatabase(), "DELETE FROM Indexes WHERE objectStoreId = ?", objectStore->id());
I think you should start a SQL transaction to run these in, as we want them to succeed or fail together. Going forward, these will execute in the setVersion() transaction but, for now, I think we should have a these in their own transaction.
LGTM otherwise.
Created attachment 65274 [details]
Patch
LGTM Comment on attachment 65274 [details]
Patch
r=me
Committed r65902: <http://trac.webkit.org/changeset/65902> http://trac.webkit.org/changeset/65902 might have broken Leopard Intel Release (Tests) |