Re: Suggestions for IDBKeyRange, IDBEnvironment and IDBFactory

On Sun, Apr 1, 2012 at 3:14 AM, Yuval Sadan <sadan.yuval@gmail.com> wrote:
> 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.

This is an interesting idea indeed. Though I think it's too late to
include it in v1. I'm not sure if the right solution is to add it to
IDBKeyRange, or if it is to allow .get, .openCursor etc to take an
array of IDBKeyRanges.

I filed https://www.w3.org/Bugs/Public/show_bug.cgi?id=16595

>  - *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.

Yeah, this has been raised several times. It's slated for v2 and filed
here https://www.w3.org/Bugs/Public/show_bug.cgi?id=16137

>  - *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.

I filed https://www.w3.org/Bugs/Public/show_bug.cgi?id=16596

>  - *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.

I don't have a strong opinion here. I believe 'open' is also commonly
used when talking about databases, but I'm far from sure either way.
It seems a bit late to do naming changes though.

/ Jonas

Received on Sunday, 1 April 2012 21:14:25 UTC