This wiki documents requests for Indexed Database features 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. Also, see:
If you cannot create a Bugzilla bug for a change requests and/or feature, send your request to the WG's email@example.com list (please use with a Subject header of "[IDB Feature Request]").
Indexed Database feature requests that are not included in the first version of the spec:
- Add events for object storage CRUD ops (add, put and delete); Miko Nieminen on 5-Feb-2013. Additional threads: www-tag (10-Feb-2013) and public-webapps (17-Feb-2013).
- Regular Expression search; Michael Brooks on 31-July-2012
- Binary Keys; Joran Greef on 21-May-2012
- ObjectStores should have a way to hint that they're "evictable"; Jeremy Orlow; 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.
- IDBFactory.databases, but non-racy, with guarantees that the set of databases doesn't change.
- Rewindable cursors
- Remove DOMStringList usage (see Bug 16103)
- Define order for operations that raise multiple exceptions types (see Bug 17681)