We recently refactored get() to take a key range, and simplified the IDBObjectStore/IDBIndex.get(key) to just call IDBKeyRange.only(), which means when we get to the backend we are always iterating, even if the original intent from the user was just a get(key). We should optimize the backend to recognize when the upper and lower bounds of an IDBKeyRange are identical, and transform that into an actual LevelDBDatabase->get() One nice thing about this is that we'll get the benefit of bloom filters, and provide a nice optimized path for get(IDBKeyRange.bound(foo, foo, true, true)
Created attachment 144891 [details] Patch
tony@ - r? cq? A pretty quick one.
Comment on attachment 144891 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=144891&action=review > Source/WebCore/Modules/indexeddb/IDBKeyRange.h:90 > + return m_lower == m_upper > + && m_lowerType == LowerBoundOpen > + && m_upperType == UpperBoundClosed; Nit: I would just keep this on one line.
Created attachment 144912 [details] Patch
Comment on attachment 144912 [details] Patch tony@ - thanks - still waiting on commit paperwork, mind another r/cq?
Comment on attachment 144912 [details] Patch Rejecting attachment 144912 [details] from commit-queue. Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 2 Last 500 characters of output: Hunk #1 succeeded at 149 with fuzz 2 (offset -11 lines). patching file Source/WebCore/Modules/indexeddb/IDBKeyRange.h patching file Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp Hunk #1 FAILED at 108. 1 out of 1 hunk FAILED -- saving rejects to file Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp.rej Failed to run "[u'/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply', u'--force', u'--reviewer', u'Tony Chang']" exit_code: 1 cwd: /mnt/git/webkit-commit-queue/ Full output: http://queues.webkit.org/results/12866058
Created attachment 146121 [details] Patch
Comment on attachment 146121 [details] Patch tony@ - r? cq? one more pass at this? I collided with myself in the commit queue...
Comment on attachment 146121 [details] Patch Clearing flags on attachment: 146121 Committed r119671: <http://trac.webkit.org/changeset/119671>
All reviewed patches have been landed. Closing bug.