MCPcopy Index your code
hub / github.com/apache/pouchdb / migrateLocalStore

Function migrateLocalStore

lib/index-browser.js:5947–5991  ·  view source on GitHub ↗
(txn, cb)

Source from the content-addressed store, hash-verified

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) {

Callers

nothing calls this directly

Calls 2

isLocalIdFunction · 0.70
winningRevFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…