[Webkit-unassigned] [Bug 85293] New: IndexedDB: Refactor *::loadCurrentRow() to share more code

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue May 1 09:39:29 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=85293

           Summary: IndexedDB: Refactor *::loadCurrentRow() to share more
                    code
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebCore Misc.
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: alecflett at chromium.org


There is a lot of duplicated code, specifically a lot of tricky version-checking logic that is duplicated between:
* ObjectStoreCursorImpl::loadCurrentRow()
* IndexCursorImpl::loadCurrentRow()
* IndexKeyCursorImpl::loadCurrentRow()

Most of the common/version-checking code could go into CursorImplCommon

As an aside, there are also a lot of places where these methods return 'false' because the data found is either the wrong version or somehow corrupt. We should think about if we should, at least in the index cases, remove the data so that corrupt data doesn't build up inside the leveldb and slow down iteration. (i.e. imagine something goes haywire and some large chunk of data is corrupt - we'll have to keep skipping over that data every time we iterate) See bug 85224 for an example of where this was causing a real performance issue. That case has been cleaned up but we might want to handle more cases.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list