Re: [IndexedDB] Need a method to clear an object store

On Tue, Aug 3, 2010 at 12:09 PM, ben turner <bent.mozilla@gmail.com> wrote:
> Hi folks,
>
> Currently there are only two ways to clear an object store of all
> data: (i) remove the object store and recreate it, or (ii) open a
> cursor and call remove for all entries. I propose a third, simpler
> approach:
>
> interface IDBObjectStore
> {
>  ...
>  void clear();
>  ...
> };
>
> Any thoughts?

Some background. At least in our implementation, removing each
individual item is significantly slower than removing and recreating
the objectStore. It's also significantly slower than a 'clear'
function is. And while tearing down and recreating the objectStore
works, it's fairly complex if there are multiple indexes on the store.
Adding a clear() function, while redundant, should make things easier
for developers while adding very little work in the implementation.

I think there is a bug in the above proposal though. clear() should
return a IDBRequest. However the .result of the request should likely
be null.

/ Jonas

Received on Tuesday, 3 August 2010 19:21:53 UTC