IndexedDB: When doing puts, don't do deletes if there are no indexes It's important to "delete before put" to make sure indexes are in a consistent state. But if an object store has no indexes, we shouldn't bother doing the deletes first. This saves between 1% and 2% on a tight-insert loop.
Created attachment 295745 [details] Patch v1
Well, this patch goes ahead and fails tests, so, never mind.
I see the issue with half of this patch. RecordIDs in the table. There's also an issue of orphaned blobs. This might be worth revisiting in the future, but probably not now. I'll land the "good half" now, as it's still worthwhile.
Created attachment 295749 [details] PFL
Comment on attachment 295749 [details] PFL Rejecting attachment 295749 [details] from commit-queue. Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-01', 'land-attachment', '--force-clean', '--non-interactive', '--parent-command=commit-queue', 295749, '--port=mac']" exit_code: 2 cwd: /Volumes/Data/EWS/WebKit Last 500 characters of output: /git.webkit.org/WebKit 0bc77eff..ec707a9 master -> origin/master Partial-rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ... Currently at 209154 = 0bc77effebf4a1d87caf78b287e1348281916fc8 r209155 = ec707a9b4ab967b1a1b232f888e58a4d3dbab0fb Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc First, rewinding head to replay your work on top of it... Fast-forwarded master to refs/remotes/origin/master. Full output: http://webkit-queues.webkit.org/results/2597527
Comment on attachment 295749 [details] PFL Clearing flags on attachment: 295749 Committed r209168: <http://trac.webkit.org/changeset/209168>
All reviewed patches have been landed. Closing bug.
Reverted r209168 for reason: Caused 2 API tests to fail Committed r209176: <http://trac.webkit.org/changeset/209176>
(In reply to comment #8) > Reverted r209168 for reason: > > Caused 2 API tests to fail > > Committed r209176: <http://trac.webkit.org/changeset/209176> In case we want to revisit this (some day...) exploration on the two failing tests is here: https://bugs.webkit.org/show_bug.cgi?id=165242