(txn, cb)
| 5945 | |
| 5946 | // migration to version 3 (part 2) |
| 5947 | function migrateLocalStore(txn, cb) { |
| 5948 | var localStore = txn.objectStore(LOCAL_STORE); |
| 5949 | var docStore = txn.objectStore(DOC_STORE); |
| 5950 | var seqStore = txn.objectStore(BY_SEQ_STORE); |
| 5951 | |
| 5952 | var cursor = docStore.openCursor(); |
| 5953 | cursor.onsuccess = function (event) { |
| 5954 | var cursor = event.target.result; |
| 5955 | if (cursor) { |
| 5956 | var metadata = cursor.value; |
| 5957 | var docId = metadata.id; |
| 5958 | var local = isLocalId(docId); |
| 5959 | var rev$$1 = winningRev(metadata); |
| 5960 | if (local) { |
| 5961 | var docIdRev = docId + "::" + rev$$1; |
| 5962 | // remove all seq entries |
| 5963 | // associated with this docId |
| 5964 | var start = docId + "::"; |
| 5965 | var end = docId + "::~"; |
| 5966 | var index = seqStore.index('_doc_id_rev'); |
| 5967 | var range = IDBKeyRange.bound(start, end, false, false); |
| 5968 | var seqCursor = index.openCursor(range); |
| 5969 | seqCursor.onsuccess = function (e) { |
| 5970 | seqCursor = e.target.result; |
| 5971 | if (!seqCursor) { |
| 5972 | // done |
| 5973 | docStore.delete(cursor.primaryKey); |
| 5974 | cursor.continue(); |
| 5975 | } else { |
| 5976 | var data = seqCursor.value; |
| 5977 | if (data._doc_id_rev === docIdRev) { |
| 5978 | localStore.put(data); |
| 5979 | } |
| 5980 | seqStore.delete(seqCursor.primaryKey); |
| 5981 | seqCursor.continue(); |
| 5982 | } |
| 5983 | }; |
| 5984 | } else { |
| 5985 | cursor.continue(); |
| 5986 | } |
| 5987 | } else if (cb) { |
| 5988 | cb(); |
| 5989 | } |
| 5990 | }; |
| 5991 | } |
| 5992 | |
| 5993 | // migration to version 4 (part 1) |
| 5994 | function addAttachAndSeqStore(db) { |
nothing calls this directly
no test coverage detected
searching dependent graphs…