@aws-amplify/datastore 4.0.10 → 4.0.11-unstableV5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/datastore/datastore.js.map +1 -1
- package/lib/predicates/next.d.ts +58 -1
- package/lib/predicates/next.js +120 -37
- package/lib/predicates/next.js.map +1 -1
- package/lib/storage/adapter/IndexedDBAdapter.d.ts +11 -1
- package/lib/storage/adapter/IndexedDBAdapter.js +243 -114
- package/lib/storage/adapter/IndexedDBAdapter.js.map +1 -1
- package/lib-esm/datastore/datastore.js.map +1 -1
- package/lib-esm/predicates/next.d.ts +58 -1
- package/lib-esm/predicates/next.js +120 -37
- package/lib-esm/predicates/next.js.map +1 -1
- package/lib-esm/storage/adapter/IndexedDBAdapter.d.ts +11 -1
- package/lib-esm/storage/adapter/IndexedDBAdapter.js +243 -114
- package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +1 -1
- package/package.json +8 -8
- package/src/datastore/datastore.ts +0 -1
- package/src/predicates/next.ts +114 -23
- package/src/storage/adapter/IndexedDBAdapter.ts +185 -58
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexedDBAdapter.js","sourceRoot":"","sources":["../../../src/storage/adapter/IndexedDBAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IndexedDBAdapter.js","sourceRoot":"","sources":["../../../src/storage/adapter/IndexedDBAdapter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/datastore",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.11-unstableV5.4+999f4aef5",
|
|
4
4
|
"description": "AppSyncLocal support for aws-amplify",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"module": "./lib-esm/index.js",
|
|
@@ -54,11 +54,11 @@
|
|
|
54
54
|
"ssr"
|
|
55
55
|
],
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@aws-amplify/api": "5.0.
|
|
58
|
-
"@aws-amplify/auth": "5.1.4",
|
|
59
|
-
"@aws-amplify/core": "5.0.
|
|
60
|
-
"@aws-amplify/pubsub": "5.0.
|
|
61
|
-
"amazon-cognito-identity-js": "6.1.
|
|
57
|
+
"@aws-amplify/api": "5.0.11-unstableV5.4+999f4aef5",
|
|
58
|
+
"@aws-amplify/auth": "5.1.5-unstableV5.4+999f4aef5",
|
|
59
|
+
"@aws-amplify/core": "5.0.11-unstableV5.4+999f4aef5",
|
|
60
|
+
"@aws-amplify/pubsub": "5.0.11-unstableV5.4+999f4aef5",
|
|
61
|
+
"amazon-cognito-identity-js": "6.1.3-unstableV5.10+999f4aef5",
|
|
62
62
|
"idb": "5.0.6",
|
|
63
63
|
"immer": "9.0.6",
|
|
64
64
|
"ulid": "2.3.0",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"name": "DataStore (top-level class)",
|
|
72
72
|
"path": "./lib-esm/index.js",
|
|
73
73
|
"import": "{ Amplify, DataStore }",
|
|
74
|
-
"limit": "
|
|
74
|
+
"limit": "152.5 kB"
|
|
75
75
|
}
|
|
76
76
|
],
|
|
77
77
|
"jest": {
|
|
@@ -128,5 +128,5 @@
|
|
|
128
128
|
"lib-esm"
|
|
129
129
|
]
|
|
130
130
|
},
|
|
131
|
-
"gitHead": "
|
|
131
|
+
"gitHead": "999f4aef526aa4c9846a48b8a7b617ed2feccccf"
|
|
132
132
|
}
|
|
@@ -1650,7 +1650,6 @@ class DataStore {
|
|
|
1650
1650
|
for (const relationship of nonHasManyRelationships) {
|
|
1651
1651
|
const queryObject = relationship.createRemoteQueryObject(model);
|
|
1652
1652
|
if (queryObject !== null) {
|
|
1653
|
-
// console.log({ queryObject });
|
|
1654
1653
|
const related = await s.query(
|
|
1655
1654
|
relationship.remoteModelConstructor,
|
|
1656
1655
|
ModelPredicateCreator.createFromFlatEqualities(
|
package/src/predicates/next.ts
CHANGED
|
@@ -321,7 +321,15 @@ export class GroupCondition {
|
|
|
321
321
|
/**
|
|
322
322
|
*
|
|
323
323
|
*/
|
|
324
|
-
public operands: UntypedCondition[]
|
|
324
|
+
public operands: UntypedCondition[],
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* Whether this GroupCondition is the result of an optimize call.
|
|
328
|
+
*
|
|
329
|
+
* This is used to guard against infinitely fetch -> optimize -> fetch
|
|
330
|
+
* recursion.
|
|
331
|
+
*/
|
|
332
|
+
public isOptimized: boolean = false
|
|
325
333
|
) {}
|
|
326
334
|
|
|
327
335
|
/**
|
|
@@ -351,6 +359,82 @@ export class GroupCondition {
|
|
|
351
359
|
return [copied, extractedCopy];
|
|
352
360
|
}
|
|
353
361
|
|
|
362
|
+
/**
|
|
363
|
+
* Returns a version of the predicate tree with unnecessary logical groups
|
|
364
|
+
* condensed and merged together. This is intended to create a dense tree
|
|
365
|
+
* with leaf nodes (`FieldCondition`'s) aggregated under as few group conditions
|
|
366
|
+
* as possible for the most efficient fetching possible -- it allows `fetch()`.
|
|
367
|
+
*
|
|
368
|
+
* E.g. a grouping like this:
|
|
369
|
+
*
|
|
370
|
+
* ```yaml
|
|
371
|
+
* and:
|
|
372
|
+
* and:
|
|
373
|
+
* id:
|
|
374
|
+
* eq: "abc"
|
|
375
|
+
* and:
|
|
376
|
+
* name:
|
|
377
|
+
* eq: "xyz"
|
|
378
|
+
* ```
|
|
379
|
+
*
|
|
380
|
+
* Will become this:
|
|
381
|
+
*
|
|
382
|
+
* ```yaml
|
|
383
|
+
* and:
|
|
384
|
+
* id:
|
|
385
|
+
* eq: "abc"
|
|
386
|
+
* name:
|
|
387
|
+
* eq: "xyz"
|
|
388
|
+
* ```
|
|
389
|
+
*
|
|
390
|
+
* This allows `fetch()` to pass both the `id` and `name` conditions to the adapter
|
|
391
|
+
* together, which can then decide what index to use based on both fields together.
|
|
392
|
+
*
|
|
393
|
+
* @param preserveNode Whether to preserve the current node and to explicitly not eliminate
|
|
394
|
+
* it during optimization. Used internally to preserve the root node and children of
|
|
395
|
+
* `not` groups. `not` groups will always have a single child, so there's nothing to
|
|
396
|
+
* optimize below a `not` (for now), and it makes the query logic simpler later.
|
|
397
|
+
*/
|
|
398
|
+
optimized(preserveNode = true): UntypedCondition {
|
|
399
|
+
const operands = this.operands.map(o =>
|
|
400
|
+
o instanceof GroupCondition ? o.optimized(this.operator === 'not') : o
|
|
401
|
+
);
|
|
402
|
+
|
|
403
|
+
// we're only collapsing and/or groups that contains a single child for now,
|
|
404
|
+
// because they're much more common and much more trivial to collapse. basically,
|
|
405
|
+
// an `and`/`or` that contains a single child doesn't require the layer of
|
|
406
|
+
// logical grouping.
|
|
407
|
+
if (
|
|
408
|
+
!preserveNode &&
|
|
409
|
+
['and', 'or'].includes(this.operator) &&
|
|
410
|
+
!this.field &&
|
|
411
|
+
operands.length === 1
|
|
412
|
+
) {
|
|
413
|
+
const operand = operands[0];
|
|
414
|
+
if (operand instanceof FieldCondition) {
|
|
415
|
+
// between conditions should NOT be passed up the chain. if they
|
|
416
|
+
// need to be *negated* later, it is important that they be properly
|
|
417
|
+
// contained in an AND group. when de morgan's law is applied, the
|
|
418
|
+
// conditions are reversed and the AND group flips to an OR. this
|
|
419
|
+
// doesn't work right if the a `between` doesn't live in an AND group.
|
|
420
|
+
if (operand.operator !== 'between') {
|
|
421
|
+
return operand;
|
|
422
|
+
}
|
|
423
|
+
} else {
|
|
424
|
+
return operand;
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
return new GroupCondition(
|
|
429
|
+
this.model,
|
|
430
|
+
this.field,
|
|
431
|
+
this.relationshipType,
|
|
432
|
+
this.operator,
|
|
433
|
+
operands,
|
|
434
|
+
true
|
|
435
|
+
);
|
|
436
|
+
}
|
|
437
|
+
|
|
354
438
|
/**
|
|
355
439
|
* Fetches matching records from a given storage adapter using legacy predicates (for now).
|
|
356
440
|
* @param storage The storage adapter this predicate will query against.
|
|
@@ -364,6 +448,10 @@ export class GroupCondition {
|
|
|
364
448
|
breadcrumb: string[] = [],
|
|
365
449
|
negate = false
|
|
366
450
|
): Promise<Record<string, any>[]> {
|
|
451
|
+
if (!this.isOptimized) {
|
|
452
|
+
return this.optimized().fetch(storage);
|
|
453
|
+
}
|
|
454
|
+
|
|
367
455
|
const resultGroups: Array<Record<string, any>[]> = [];
|
|
368
456
|
|
|
369
457
|
const operator = (negate ? negations[this.operator] : this.operator) as
|
|
@@ -433,35 +521,26 @@ export class GroupCondition {
|
|
|
433
521
|
|
|
434
522
|
const relationship = ModelRelationship.from(this.model, g.field);
|
|
435
523
|
|
|
524
|
+
type JoinCondition = { [x: string]: { eq: any } };
|
|
436
525
|
if (relationship) {
|
|
437
|
-
const
|
|
438
|
-
p: RecursiveModelPredicate<any>
|
|
439
|
-
) => RecursiveModelPredicate<any>)[] = [];
|
|
526
|
+
const allJoinConditions: { and: JoinCondition[] }[] = [];
|
|
440
527
|
for (const relative of relatives) {
|
|
441
|
-
const
|
|
442
|
-
|
|
528
|
+
const relativeConditions: JoinCondition[] = [];
|
|
443
529
|
for (let i = 0; i < relationship.localJoinFields.length; i++) {
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
);
|
|
530
|
+
relativeConditions.push({
|
|
531
|
+
[relationship.localJoinFields[i]]: {
|
|
532
|
+
eq: relative[relationship.remoteJoinFields[i]],
|
|
533
|
+
},
|
|
534
|
+
});
|
|
450
535
|
}
|
|
451
|
-
|
|
452
|
-
const predicate = p =>
|
|
453
|
-
applyConditionsToV1Predicate(
|
|
454
|
-
p,
|
|
455
|
-
individualRowJoinConditions,
|
|
456
|
-
false
|
|
457
|
-
);
|
|
458
|
-
relativesPredicates.push(predicate as any);
|
|
536
|
+
allJoinConditions.push({ and: relativeConditions });
|
|
459
537
|
}
|
|
460
538
|
|
|
461
|
-
const predicate = FlatModelPredicateCreator.
|
|
539
|
+
const predicate = FlatModelPredicateCreator.createFromAST(
|
|
462
540
|
this.model.schema,
|
|
463
|
-
|
|
464
|
-
|
|
541
|
+
{
|
|
542
|
+
or: allJoinConditions,
|
|
543
|
+
}
|
|
465
544
|
);
|
|
466
545
|
|
|
467
546
|
resultGroups.push(
|
|
@@ -486,6 +565,7 @@ export class GroupCondition {
|
|
|
486
565
|
applyConditionsToV1Predicate(c, conditions, negateChildren)
|
|
487
566
|
)
|
|
488
567
|
);
|
|
568
|
+
|
|
489
569
|
resultGroups.push(
|
|
490
570
|
await storage.query(this.model.builder, predicate as any)
|
|
491
571
|
);
|
|
@@ -613,6 +693,16 @@ export class GroupCondition {
|
|
|
613
693
|
this.toAST()
|
|
614
694
|
) as unknown as StoragePredicate<T>;
|
|
615
695
|
}
|
|
696
|
+
|
|
697
|
+
/**
|
|
698
|
+
* A JSON representation that's good for debugging.
|
|
699
|
+
*/
|
|
700
|
+
toJSON() {
|
|
701
|
+
return {
|
|
702
|
+
...this,
|
|
703
|
+
model: this.model.schema.name,
|
|
704
|
+
};
|
|
705
|
+
}
|
|
616
706
|
}
|
|
617
707
|
|
|
618
708
|
/**
|
|
@@ -665,6 +755,7 @@ export function recursivePredicateFor<T extends PersistentModel>(
|
|
|
665
755
|
// next steps will be to add or(), and(), not(), and field.op() methods.
|
|
666
756
|
const link = {} as any;
|
|
667
757
|
|
|
758
|
+
// so it can be looked up later with in the internals when processing conditions.
|
|
668
759
|
registerPredicateInternals(baseCondition, link);
|
|
669
760
|
|
|
670
761
|
const copyLink = () => {
|
|
@@ -37,6 +37,29 @@ import { Adapter } from './index';
|
|
|
37
37
|
|
|
38
38
|
const logger = new Logger('DataStore');
|
|
39
39
|
|
|
40
|
+
/**
|
|
41
|
+
* The point after which queries composed of multiple simple OR conditions
|
|
42
|
+
* should scan-and-filter instead of individual queries for each condition.
|
|
43
|
+
*
|
|
44
|
+
* At some point, this should be configurable and/or dynamic based on table
|
|
45
|
+
* size and possibly even on observed average seek latency. For now, it's
|
|
46
|
+
* based on an manual "binary search" for the breakpoint as measured in the
|
|
47
|
+
* unit test suite. This isn't necessarily optimal. But, it's at least derived
|
|
48
|
+
* empirically, rather than theoretically and without any verification!
|
|
49
|
+
*
|
|
50
|
+
* REMEMBER! If you run more realistic benchmarks and update this value, update
|
|
51
|
+
* this comment so the validity and accuracy of future query tuning exercises
|
|
52
|
+
* can be compared to the methods used to derive the current value. E.g.,
|
|
53
|
+
*
|
|
54
|
+
* 1. In browser benchmark > unit test benchmark
|
|
55
|
+
* 2. Multi-browser benchmark > single browser benchmark
|
|
56
|
+
* 3. Benchmarks of various table sizes > static table size benchmark
|
|
57
|
+
*
|
|
58
|
+
* etc...
|
|
59
|
+
*
|
|
60
|
+
*/
|
|
61
|
+
const MULTI_OR_CONDITION_SCAN_BREAKPOINT = 7;
|
|
62
|
+
|
|
40
63
|
const DB_NAME = 'amplify-datastore';
|
|
41
64
|
class IndexedDBAdapter implements Adapter {
|
|
42
65
|
private schema!: InternalSchema;
|
|
@@ -481,23 +504,65 @@ class IndexedDBAdapter implements Adapter {
|
|
|
481
504
|
return keyValues.length === keyPath.length ? keyValues : undefined;
|
|
482
505
|
}
|
|
483
506
|
|
|
484
|
-
|
|
507
|
+
/**
|
|
508
|
+
* Tries to generate an index fetcher for the given predicates. Assumes
|
|
509
|
+
* that the given predicate conditions are contained by an AND group and
|
|
510
|
+
* should therefore all match a single record.
|
|
511
|
+
*
|
|
512
|
+
* @param storeName The table to query.
|
|
513
|
+
* @param predicates The predicates to try to AND together.
|
|
514
|
+
* @param transaction
|
|
515
|
+
*/
|
|
516
|
+
private matchingIndexQueries<T extends PersistentModel>(
|
|
485
517
|
storeName: string,
|
|
486
|
-
|
|
518
|
+
predicates: PredicateObject<T>[],
|
|
487
519
|
transaction: idb.IDBPTransaction<unknown, [string]>
|
|
488
520
|
) {
|
|
521
|
+
// could be expanded later to include `exec()` and a `cardinality` estimate?
|
|
522
|
+
const queries: (() => Promise<T[]>)[] = [];
|
|
523
|
+
|
|
524
|
+
const predicateIndex = new Map<string, PredicateObject<T>>();
|
|
525
|
+
for (const predicate of predicates) {
|
|
526
|
+
predicateIndex.set(String(predicate.field), predicate);
|
|
527
|
+
}
|
|
528
|
+
|
|
489
529
|
const store = transaction.objectStore(storeName);
|
|
490
530
|
for (const name of store.indexNames) {
|
|
491
531
|
const idx = store.index(name);
|
|
492
|
-
|
|
493
|
-
|
|
532
|
+
const keypath = Array.isArray(idx.keyPath) ? idx.keyPath : [idx.keyPath];
|
|
533
|
+
const matchingPredicateValues: string[] = [];
|
|
534
|
+
|
|
535
|
+
for (const field of keypath) {
|
|
536
|
+
const p = predicateIndex.get(field);
|
|
537
|
+
if (p) {
|
|
538
|
+
matchingPredicateValues.push(String(p.operand));
|
|
539
|
+
} else {
|
|
540
|
+
break;
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
// if we have a matching predicate field for each component of this index,
|
|
545
|
+
// we can build a query for it. otherwise, we can't.
|
|
546
|
+
if (matchingPredicateValues.length === keypath.length) {
|
|
547
|
+
// re-create a transaction, because the transaction used to fetch the
|
|
548
|
+
// indexes may no longer be active.
|
|
549
|
+
queries.push(() =>
|
|
550
|
+
this.db
|
|
551
|
+
.transaction(storeName)
|
|
552
|
+
.objectStore(storeName)
|
|
553
|
+
.index(name)
|
|
554
|
+
.getAll(this.canonicalKeyPath(matchingPredicateValues))
|
|
555
|
+
);
|
|
494
556
|
}
|
|
495
557
|
}
|
|
558
|
+
|
|
559
|
+
return queries;
|
|
496
560
|
}
|
|
497
561
|
|
|
498
|
-
private async
|
|
562
|
+
private async baseQueryIndex<T extends PersistentModel>(
|
|
499
563
|
storeName: string,
|
|
500
|
-
predicates: PredicatesGroup<T
|
|
564
|
+
predicates: PredicatesGroup<T>,
|
|
565
|
+
transaction?: idb.IDBPTransaction<unknown, [string]> | undefined
|
|
501
566
|
) {
|
|
502
567
|
let { predicates: predicateObjs, type } = predicates;
|
|
503
568
|
|
|
@@ -505,82 +570,144 @@ class IndexedDBAdapter implements Adapter {
|
|
|
505
570
|
// one level down: `{and: {or: {and: { <the predicates we want> }}}}`
|
|
506
571
|
// so, we unpack and/or groups until we find a group with more than 1
|
|
507
572
|
// child OR a child that is not a group (and is therefore a predicate "object").
|
|
508
|
-
while (
|
|
573
|
+
while (
|
|
574
|
+
predicateObjs.length === 1 &&
|
|
575
|
+
isPredicateGroup(predicateObjs[0]) &&
|
|
576
|
+
(predicateObjs[0] as PredicatesGroup<T>).type !== 'not'
|
|
577
|
+
) {
|
|
509
578
|
type = (predicateObjs[0] as PredicatesGroup<T>).type;
|
|
510
579
|
predicateObjs = (predicateObjs[0] as PredicatesGroup<T>).predicates;
|
|
511
580
|
}
|
|
512
581
|
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
// AFAIK, this will always be a homogenous group of predicate objects at this point.
|
|
517
|
-
// but, if that ever changes, this pulls out just the predicates from the list that
|
|
518
|
-
// are field-level predicate objects we can potentially smash against an index.
|
|
519
|
-
const fieldPredicates = predicateObjs.filter(p =>
|
|
520
|
-
isPredicateObj(p)
|
|
582
|
+
const fieldPredicates = predicateObjs.filter(
|
|
583
|
+
p => isPredicateObj(p) && p.operator === 'eq'
|
|
521
584
|
) as PredicateObject<T>[];
|
|
522
585
|
|
|
523
586
|
// several sub-queries could occur here. explicitly start a txn here to avoid
|
|
524
587
|
// opening/closing multiple txns.
|
|
525
|
-
const txn = this.db.transaction(storeName);
|
|
588
|
+
const txn = transaction || this.db.transaction(storeName);
|
|
589
|
+
|
|
590
|
+
let result = {} as {
|
|
591
|
+
groupType: typeof type | null;
|
|
592
|
+
indexedQueries: (() => Promise<T[]>)[];
|
|
593
|
+
};
|
|
526
594
|
|
|
527
|
-
//
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
595
|
+
// `or` conditions, if usable, need to generate multiple queries. this is unlike
|
|
596
|
+
// `and` conditions, which should just be combined.
|
|
597
|
+
if (type === 'or') {
|
|
598
|
+
/**
|
|
599
|
+
* Base queries for each child group.
|
|
600
|
+
*
|
|
601
|
+
* For each child group, if it's an AND condition that results in a single
|
|
602
|
+
* subordinate "base query", we can use it. if it's any more complicated
|
|
603
|
+
* than that, it's not a simple join condition we want to use.
|
|
604
|
+
*/
|
|
605
|
+
const groupQueries = await Promise.all(
|
|
606
|
+
predicateObjs
|
|
607
|
+
.filter(o => isPredicateGroup(o) && o.type === 'and')
|
|
608
|
+
.map(o =>
|
|
609
|
+
this.baseQueryIndex(storeName, o as PredicatesGroup<T>, txn)
|
|
610
|
+
)
|
|
611
|
+
).then(queries =>
|
|
612
|
+
queries
|
|
613
|
+
.filter(q => q.indexedQueries.length === 1)
|
|
614
|
+
.map(i => i.indexedQueries)
|
|
615
|
+
);
|
|
616
|
+
|
|
617
|
+
/**
|
|
618
|
+
* Base queries for each simple child "object" (field condition).
|
|
619
|
+
*/
|
|
620
|
+
const objectQueries = predicateObjs
|
|
621
|
+
.filter(o => isPredicateObj(o))
|
|
622
|
+
.map(o =>
|
|
623
|
+
this.matchingIndexQueries(storeName, [o as PredicateObject<T>], txn)
|
|
624
|
+
);
|
|
625
|
+
|
|
626
|
+
const indexedQueries = [...groupQueries, ...objectQueries]
|
|
627
|
+
.map(q => q[0])
|
|
628
|
+
.filter(i => i);
|
|
629
|
+
|
|
630
|
+
// if, after hunting for base queries, we don't have exactly 1 base query
|
|
631
|
+
// for each child group + object, stop trying to optimize. we're not dealing
|
|
632
|
+
// with a simple query that fits the intended optimization path.
|
|
633
|
+
if (predicateObjs.length > indexedQueries.length) {
|
|
634
|
+
result = {
|
|
635
|
+
groupType: null,
|
|
636
|
+
indexedQueries: [] as (() => Promise<T[]>)[],
|
|
637
|
+
};
|
|
638
|
+
} else {
|
|
639
|
+
result = {
|
|
640
|
+
groupType: 'or',
|
|
641
|
+
indexedQueries,
|
|
642
|
+
};
|
|
643
|
+
}
|
|
644
|
+
} else if (type === 'and') {
|
|
645
|
+
// our potential indexes or lacks thereof.
|
|
646
|
+
// note that we're only optimizing for `eq` right now.
|
|
647
|
+
result = {
|
|
648
|
+
groupType: type,
|
|
649
|
+
indexedQueries: this.matchingIndexQueries(
|
|
650
|
+
storeName,
|
|
651
|
+
fieldPredicates,
|
|
652
|
+
txn
|
|
653
|
+
),
|
|
532
654
|
};
|
|
533
|
-
}
|
|
655
|
+
} else {
|
|
656
|
+
result = {
|
|
657
|
+
groupType: null,
|
|
658
|
+
indexedQueries: [],
|
|
659
|
+
};
|
|
660
|
+
}
|
|
534
661
|
|
|
535
662
|
// Explicitly wait for txns from index queries to complete before proceding.
|
|
536
663
|
// This helps ensure IndexedDB is in a stable, ready state. Else, subseqeuent
|
|
537
664
|
// qeuries can sometimes appear to deadlock (at least in FakeIndexedDB).
|
|
538
|
-
|
|
665
|
+
// (Unless we were *given* the transaction -- we'll assume the parent handles it.)
|
|
666
|
+
if (!transaction) await txn.done;
|
|
667
|
+
|
|
668
|
+
return result;
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
private async filterOnPredicate<T extends PersistentModel>(
|
|
672
|
+
storeName: string,
|
|
673
|
+
predicates: PredicatesGroup<T>
|
|
674
|
+
) {
|
|
675
|
+
const { predicates: predicateObjs, type } = predicates;
|
|
676
|
+
|
|
677
|
+
const { groupType, indexedQueries } = await this.baseQueryIndex(
|
|
678
|
+
storeName,
|
|
679
|
+
predicates
|
|
680
|
+
);
|
|
681
|
+
|
|
682
|
+
// where we'll accumulate candidate results, which will be filtered at the end.
|
|
683
|
+
let candidateResults: T[];
|
|
539
684
|
|
|
540
685
|
// semi-naive implementation:
|
|
541
|
-
if (
|
|
686
|
+
if (groupType === 'and' && indexedQueries.length > 0) {
|
|
542
687
|
// each condition must be satsified, we can form a base set with any
|
|
543
688
|
// ONE of those conditions and then filter.
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
candidateResults = <T[]>(
|
|
551
|
-
await predicateIndex.index!.getAll(predicateIndex.predicate.operand)
|
|
552
|
-
);
|
|
553
|
-
} else {
|
|
554
|
-
// no usable indexes
|
|
555
|
-
candidateResults = <T[]>await this.getAll(storeName);
|
|
556
|
-
}
|
|
557
|
-
} else if (type === 'or') {
|
|
689
|
+
candidateResults = await indexedQueries[0]();
|
|
690
|
+
} else if (
|
|
691
|
+
groupType === 'or' &&
|
|
692
|
+
indexedQueries.length > 0 &&
|
|
693
|
+
indexedQueries.length <= MULTI_OR_CONDITION_SCAN_BREAKPOINT
|
|
694
|
+
) {
|
|
558
695
|
// NOTE: each condition implies a potentially distinct set. we only benefit
|
|
559
696
|
// from using indexes here if EVERY condition uses an index. if any one
|
|
560
697
|
// index requires a table scan, we gain nothing from the indexes.
|
|
561
698
|
// NOTE: results must be DISTINCT-ified if we leverage indexes.
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
const resultGroup = <T[]>(
|
|
569
|
-
await predicateIndex.index!.getAll(predicateIndex.predicate.operand)
|
|
570
|
-
);
|
|
571
|
-
for (const item of resultGroup) {
|
|
572
|
-
// TODO: custom PK
|
|
573
|
-
distinctResults.set(item.id, item);
|
|
574
|
-
}
|
|
699
|
+
const distinctResults = new Map<string, T>();
|
|
700
|
+
for (const query of indexedQueries) {
|
|
701
|
+
const resultGroup = await query();
|
|
702
|
+
for (const item of resultGroup) {
|
|
703
|
+
const distinctificationString = JSON.stringify(item);
|
|
704
|
+
distinctResults.set(distinctificationString, item);
|
|
575
705
|
}
|
|
576
|
-
|
|
577
|
-
// we could conceivably check for special conditions and return early here.
|
|
578
|
-
// but, this is simpler and has not yet had a measurable performance impact.
|
|
579
|
-
candidateResults = Array.from(distinctResults.values());
|
|
580
|
-
} else {
|
|
581
|
-
// either no usable indexes or not all conditions can use one.
|
|
582
|
-
candidateResults = <T[]>await this.getAll(storeName);
|
|
583
706
|
}
|
|
707
|
+
|
|
708
|
+
// we could conceivably check for special conditions and return early here.
|
|
709
|
+
// but, this is simpler and has not yet had a measurable performance impact.
|
|
710
|
+
candidateResults = Array.from(distinctResults.values());
|
|
584
711
|
} else {
|
|
585
712
|
// nothing intelligent we can do with `not` groups unless or until we start
|
|
586
713
|
// smashing comparison operators against indexes -- at which point we could
|