Skip to content

Commit e6860ac

Browse files
committed
cleanup
1 parent f421368 commit e6860ac

File tree

2 files changed

+78
-89
lines changed

2 files changed

+78
-89
lines changed

packages/firestore/src/index/index_entry.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ export class IndexEntry {
6565
): DbIndexEntry {
6666
return {
6767
indexId: this._indexId,
68-
uid, // this.uid,
68+
uid,
6969
arrayValue: indexSafeUint8Array(this._arrayValue),
7070
directionalValue: indexSafeUint8Array(this._directionalValue),
71-
orderedDocumentKey: indexSafeUint8Array(orderedDocumentKey), // this.encodeDirectionalKey(fieldIndex, document.key),
71+
orderedDocumentKey: indexSafeUint8Array(orderedDocumentKey),
7272
documentKey: documentKey.path.toArray()
7373
};
7474
}

packages/firestore/src/local/indexeddb_index_manager.ts

Lines changed: 76 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -298,90 +298,79 @@ export class IndexedDbIndexManager implements IndexManager {
298298
let canServeTarget = true;
299299
const indexes = new Map<Target, FieldIndex | null>();
300300

301-
return indexEntries
302-
.count()
303-
.next(count => {
304-
//console.log(`INDEX ENTRY COUNT: ${count}`);
305-
return PersistencePromise.forEach(
306-
this.getSubTargets(target),
307-
(subTarget: Target) => {
308-
return this.getFieldIndex(transaction, subTarget).next(index => {
309-
canServeTarget &&= !!index;
310-
indexes.set(subTarget, index);
311-
});
312-
}
313-
);
314-
})
315-
.next(() => {
316-
if (!canServeTarget) {
317-
return PersistencePromise.resolve(null as DocumentKey[] | null);
318-
} else {
319-
let existingKeys = documentKeySet();
320-
const result: DocumentKey[] = [];
321-
return PersistencePromise.forEach(indexes, (index, subTarget) => {
322-
logDebug(
323-
LOG_TAG,
324-
`Using index ${fieldIndexToString(
325-
index!
326-
)} to execute ${canonifyTarget(target)}`
327-
);
328-
329-
const arrayValues = targetGetArrayValues(subTarget, index!);
330-
const notInValues = targetGetNotInValues(subTarget, index!);
331-
const lowerBound = targetGetLowerBound(subTarget, index!);
332-
const upperBound = targetGetUpperBound(subTarget, index!);
333-
334-
const lowerBoundEncoded = this.encodeBound(
335-
index!,
336-
subTarget,
337-
lowerBound
338-
);
339-
const upperBoundEncoded = this.encodeBound(
340-
index!,
341-
subTarget,
342-
upperBound
343-
);
344-
const notInEncoded = this.encodeValues(
345-
index!,
346-
subTarget,
347-
notInValues
348-
);
349-
350-
const indexRanges = this.generateIndexRanges(
351-
index!.indexId,
352-
arrayValues,
353-
lowerBoundEncoded,
354-
lowerBound.inclusive,
355-
upperBoundEncoded,
356-
upperBound.inclusive,
357-
notInEncoded
358-
);
359-
return PersistencePromise.forEach(
360-
indexRanges,
361-
(indexRange: IDBKeyRange) => {
362-
// console.log(`indexRange lower: ${JSON.stringify(indexRange.lower)}, upper: ${JSON.stringify(indexRange.upper)}`);
363-
// console.log(`indexRange lower: ${JSON.stringify(indexRange.lower[2])}, upper: ${JSON.stringify(indexRange.upper[2])}`);
364-
// console.log(`indexRange lower: ${JSON.stringify(indexRange.lowerOpen)}, upper: ${JSON.stringify(indexRange.upperOpen)}`);
365-
// console.log(`target.limit: ${target.limit}`);
366-
return indexEntries
367-
.loadFirst(indexRange, target.limit)
368-
.next(entries => {
369-
// console.log(JSON.stringify(entries));
370-
entries.forEach(entry => {
371-
const documentKey = DocumentKey.fromSegments(
372-
entry.documentKey
373-
);
374-
if (!existingKeys.has(documentKey)) {
375-
existingKeys = existingKeys.add(documentKey);
376-
result.push(documentKey);
377-
}
378-
});
301+
return PersistencePromise.forEach(
302+
this.getSubTargets(target),
303+
(subTarget: Target) => {
304+
return this.getFieldIndex(transaction, subTarget).next(index => {
305+
canServeTarget &&= !!index;
306+
indexes.set(subTarget, index);
307+
});
308+
}
309+
).next(() => {
310+
if (!canServeTarget) {
311+
return PersistencePromise.resolve(null as DocumentKey[] | null);
312+
} else {
313+
let existingKeys = documentKeySet();
314+
const result: DocumentKey[] = [];
315+
return PersistencePromise.forEach(indexes, (index, subTarget) => {
316+
logDebug(
317+
LOG_TAG,
318+
`Using index ${fieldIndexToString(
319+
index!
320+
)} to execute ${canonifyTarget(target)}`
321+
);
322+
323+
const arrayValues = targetGetArrayValues(subTarget, index!);
324+
const notInValues = targetGetNotInValues(subTarget, index!);
325+
const lowerBound = targetGetLowerBound(subTarget, index!);
326+
const upperBound = targetGetUpperBound(subTarget, index!);
327+
328+
const lowerBoundEncoded = this.encodeBound(
329+
index!,
330+
subTarget,
331+
lowerBound
332+
);
333+
const upperBoundEncoded = this.encodeBound(
334+
index!,
335+
subTarget,
336+
upperBound
337+
);
338+
const notInEncoded = this.encodeValues(
339+
index!,
340+
subTarget,
341+
notInValues
342+
);
343+
344+
const indexRanges = this.generateIndexRanges(
345+
index!.indexId,
346+
arrayValues,
347+
lowerBoundEncoded,
348+
lowerBound.inclusive,
349+
upperBoundEncoded,
350+
upperBound.inclusive,
351+
notInEncoded
352+
);
353+
return PersistencePromise.forEach(
354+
indexRanges,
355+
(indexRange: IDBKeyRange) => {
356+
return indexEntries
357+
.loadFirst(indexRange, target.limit)
358+
.next(entries => {
359+
entries.forEach(entry => {
360+
const documentKey = DocumentKey.fromSegments(
361+
entry.documentKey
362+
);
363+
if (!existingKeys.has(documentKey)) {
364+
existingKeys = existingKeys.add(documentKey);
365+
result.push(documentKey);
366+
}
379367
});
380-
}
381-
);
382-
}).next(() => result as DocumentKey[] | null);
383-
}
384-
});
368+
});
369+
}
370+
);
371+
}).next(() => result as DocumentKey[] | null);
372+
}
373+
});
385374
}
386375

387376
private getSubTargets(target: Target): Target[] {
@@ -475,8 +464,8 @@ export class IndexedDbIndexManager implements IndexManager {
475464
/** Generates the lower bound for `arrayValue` and `directionalValue`. */
476465
private generateLowerBound(
477466
indexId: number,
478-
arrayValue: Uint8Array | number[],
479-
directionalValue: Uint8Array | number[],
467+
arrayValue: Uint8Array,
468+
directionalValue: Uint8Array,
480469
inclusive: boolean
481470
): IndexEntry {
482471
const entry = new IndexEntry(
@@ -491,8 +480,8 @@ export class IndexedDbIndexManager implements IndexManager {
491480
/** Generates the upper bound for `arrayValue` and `directionalValue`. */
492481
private generateUpperBound(
493482
indexId: number,
494-
arrayValue: Uint8Array | number[],
495-
directionalValue: Uint8Array | number[],
483+
arrayValue: Uint8Array,
484+
directionalValue: Uint8Array,
496485
inclusive: boolean
497486
): IndexEntry {
498487
const entry = new IndexEntry(

0 commit comments

Comments
 (0)