- From: Marc Fawzi <marc.fawzi@gmail.com>
- Date: Sat, 21 Jun 2014 19:02:53 -0700
- To: Jonas Sicking <jonas@sicking.cc>
- Cc: Webapps WG <public-webapps@w3.org>
- Message-ID: <CACioZiurm8DrXhgFLUfL=z+NH5fbw=EPYBZyEziRqgw_ZQHsSA@mail.gmail.com>
I think the same thought pattern can be applied elsewhere in the API design
for v2.
Consider the scenario of trying to find whether a given index exists or not
(upon upgradeneeded). For now, we have to write noisy code like
[].slice.call(objectStore.indexNames()).indexOf("someIndex") Why couldn't
indexNames be an array? and dare we ask for this to either return the
index or null: objectStore.index("someIndex") ? I understand the argument
for throwing an error here but I think a silent null is more practical.
So yes, anything that makes the API easier to consume would be terrific.
I had a very hard time until I saw the light. There's some solid thought
behind the existing API, but it's also not designed for web development in
terms of how it implements a good idea, not wether or not the idea is good.
Sorry for the mini rant. It took me a little too long to get this app done
which is my first time using IndexedDB (with a half broken debugger in
Chrome): https://github.com/idibidiart/AllSeeingEye
On Sat, Jun 21, 2014 at 5:39 PM, Jonas Sicking <jonas@sicking.cc> wrote:
> Hi all,
>
> I found an old email with notes about features that we might want to put
> in v2.
>
> Almost all of them was recently brought up in the recent threads about
> IDBv2. However there was one thing on the list that I haven't seen brought
> up.
>
> It might be a nice perf improvement to add support for a
> IDBObjectStore/IDBIndex.exists(key) function.
>
> This would require less IO and less object creation than simply using
> .get(). It is probably particularly useful when doing a filtering join
> operation between two indexes/object stores. But it is probably useful
> other times too.
>
> Is this something that others think would be useful?
>
> / Jonas
>
Received on Sunday, 22 June 2014 02:04:01 UTC