Suggestions for IDBKeyRange, IDBEnvironment and IDBFactory

Hey. Here are some suggestions I accumulated while working with IDB.
I'd be very happy to expand on each and specify the specific changes,
if you think they are worthy to work on.
feature: IDBKeyRange should also allow a list of non-sequential keys


 - *feature*: IDBKeyRange should also allow a list of non-sequential keys

    This allows for several records to be fetched at once, saving lots
of loops on IDB interfaces calls for many uses.

    Specifically for use with indices, it can save effort for consumer
to figure out which records are referenced by multiple index entries.


 - *feature*: IDBEnvironment(& Sync) should specify a DOMStringList
databaseNames getter

   Similar to IDBDatabase.objectStoreNames, IDBObjectStore.indexNames,
it's important to allow proper discovery. It was discussed
[here](http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1528.html)
but never promoted, it seems. Personally I would really like it for
building development tools for IDB.


 - *clarification*: IDBFactory.open() should mention that the
IDBOpenDBRequest.transaction property holds the transaction

   It took me a long time to figure this out, as it's explained
[here](http://www.w3.org/TR/2011/WD-IndexedDB-20111206/#version_change-transaction-steps)
(in step 9.2), especially as it is mentioned as an exception
[here](http://www.w3.org/TR/2011/WD-IndexedDB-20111206/#widl-IDBRequest-transaction).
I think that if
[IDBFactory.open()](http://www.w3.org/TR/2011/WD-IndexedDB-20111206/#widl-IDBFactory-open-IDBOpenDBRequest-DOMString-name-unsigned-long-long-version)
will mention it, it will be easier for readers to understand and use.


 - *name change*: IDBKeyRange.lowerOpen and IDBKeyRange.upperOpen
should be changed to something along the lines of
IDBKeyRange.excludeLower and IDBKeyRange.excludeUpper

   The term 'open' is rather math-oriented, and might intuitively mean
other things when viewed from a programming perspective.


Yuval

Received on Sunday, 1 April 2012 12:23:40 UTC