- From: Keean Schupke <keean@fry-it.com>
- Date: Mon, 8 Nov 2010 18:41:09 +0000
- To: Jonas Sicking <jonas@sicking.cc>
- Cc: "Tab Atkins Jr." <jackalmage@gmail.com>, Webapps WG <public-webapps@w3.org>
Received on Monday, 8 November 2010 18:41:38 UTC
Hi,
In code, if:
idbObjectStoreSync.put(key, undefined) does the same as
idbObjectStoreSync.remove(key)
then
idbObjectStoreSync.get(key) can safely return undefined for no such key
exists.
Consider:
idbObjectStoreSync.put('mykey', undefined); // deletes the object stored
under mykey or noop.
idbObjectStoreSync.get('mykey'); // returns 'undefined'
idbObjectStoreSync.put('mykey', myobject);
idbObjectStoreSync.get('mykey'); // returns 'myobject'
idbObjectStoreSync.put('mykey', undefined); // deletes the object stored
under mykey or noop.
idbObjectStoreSync.get('mykey'); // returns 'undefined'
Cheers,
Keean.
On 8 November 2010 18:27, Jonas Sicking <jonas@sicking.cc> wrote:
> On Mon, Nov 8, 2010 at 10:06 AM, Keean Schupke <keean@fry-it.com> wrote:
> > It would make sense if you make setting a key to undefined semantically
> > equivalent to deleting the value (and no error if it does not exist), and
> > return undefined on a get when no such key exists. That way 'undefined'
> > cannot exist as a value in the object store, and is a safe marker for the
> > key not existing in that index.
>
> I'm not sure I follow. There is no way to set a key on an existing
> entry in an object store. The closest thing would be
> IDBCursor.update(), but it specifically disallow changing the key at
> all.
>
> / Jonas
>
Received on Monday, 8 November 2010 18:41:38 UTC