IndexedDatabaseFeatures

From WEBAPPS
Revision as of 12:03, 6 August 2012 by Abarsto (Talk | contribs)

Jump to: navigation, search

This wiki documents features of the Indexed Database spec that are not included in the first version of the spec.

Those with write access to this document are encouraged to update this document and/or to use Bugzilla to submit a feature request. Those without such access may submit change requests and/or feature requests to the WG's public-webapps@w3.org list (please use with a Subject header of "[IDB Feature Request]").

Feature List

Indexed Database features that are not included in the first version of the spec:

  • Search by Regular Expression; Michael Brooks on 31-July-2012
  • Binary Keys; Joran Greef on 21-May-2012
  • "Evictable" stores (see Bug 11350)
  • Being able to cancel "versionchange" events
    This would allow a page to signal back to the page calling setVersion that a version upgrade isn't possible right now. Not sure if there are terribly good use cases though.
  • Fast cursors
    The implementation can load several entries at once, expecting that .continue() will be called. However, since we have a requirement that callbacks always happen in the order they were placed, if calls to .continue() is intermixed with other requests, the "prefetching" of cursor content is basically destroyed. We can fix this by allowing "fast" cursor iteration. Callbacks for such iteration would be prioritized and fire before all other callbacks. We can do this either through a objectStore.openFastCursor() API, or a cursot.fastContinue() API.
  • Change-tracking events for synchronizing
    Basically we need to figure out what primitives we need to provide to allow applications to build synchronizing of IndexedDB databases.
  • Fulltext index
    Or whatever primitives needed to support them. Google is doing very active research here.
  • More powerful indexes
    For example the ability to pass in index values during the objectStore.put/add call, or expressions/callbacks instead of plain keypaths.
  • IDBObjectStore/IDBIndex.exists(key)
  • IDBFactory.databases, but non-racy, with guarantees that the set of databases doesn't change.
  • Rewindable cursors
  • Remove DOMStringList usage (see Bug 16103)

See also the Bugzilla database which may include bugs whose Status is RESOLVED and Resolution is LATER.