joist-core 2.2.0 → 2.3.0-next.2
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/build/Aliases.d.ts.map +1 -1
- package/build/Aliases.js.map +1 -1
- package/build/BaseEntity.d.ts +2 -0
- package/build/BaseEntity.d.ts.map +1 -1
- package/build/BaseEntity.js +1 -1
- package/build/BaseEntity.js.map +1 -1
- package/build/Entity.d.ts +1 -0
- package/build/Entity.d.ts.map +1 -1
- package/build/EntityFilter.d.ts +29 -10
- package/build/EntityFilter.d.ts.map +1 -1
- package/build/EntityFilter.js +18 -0
- package/build/EntityFilter.js.map +1 -1
- package/build/EntityGraphQLFilter.d.ts +3 -0
- package/build/EntityGraphQLFilter.d.ts.map +1 -1
- package/build/EntityGraphQLFilter.js.map +1 -1
- package/build/EntityManager.d.ts +36 -50
- package/build/EntityManager.d.ts.map +1 -1
- package/build/EntityManager.js +248 -124
- package/build/EntityManager.js.map +1 -1
- package/build/EntityMetadata.d.ts +48 -2
- package/build/EntityMetadata.d.ts.map +1 -1
- package/build/EntityMetadata.js +17 -0
- package/build/EntityMetadata.js.map +1 -1
- package/build/IndexManager.d.ts +5 -5
- package/build/IndexManager.d.ts.map +1 -1
- package/build/IndexManager.js +48 -32
- package/build/IndexManager.js.map +1 -1
- package/build/InstanceData.d.ts +16 -2
- package/build/InstanceData.d.ts.map +1 -1
- package/build/InstanceData.js +37 -4
- package/build/InstanceData.js.map +1 -1
- package/build/IsLoadedCache.d.ts.map +1 -1
- package/build/IsLoadedCache.js +31 -25
- package/build/IsLoadedCache.js.map +1 -1
- package/build/JoinRows.d.ts +54 -12
- package/build/JoinRows.d.ts.map +1 -1
- package/build/JoinRows.js +114 -44
- package/build/JoinRows.js.map +1 -1
- package/build/QueryParser.collectionJoins.js +8 -2
- package/build/QueryParser.collectionJoins.js.map +1 -1
- package/build/QueryParser.d.ts +15 -3
- package/build/QueryParser.d.ts.map +1 -1
- package/build/QueryParser.js +293 -190
- package/build/QueryParser.js.map +1 -1
- package/build/QueryParser.pruning.d.ts.map +1 -1
- package/build/QueryParser.pruning.js +8 -1
- package/build/QueryParser.pruning.js.map +1 -1
- package/build/QueryParser.test.d.ts +2 -0
- package/build/QueryParser.test.d.ts.map +1 -0
- package/build/QueryParser.test.js +27 -0
- package/build/QueryParser.test.js.map +1 -0
- package/build/ReactionsManager.d.ts +2 -1
- package/build/ReactionsManager.d.ts.map +1 -1
- package/build/ReactionsManager.js +53 -49
- package/build/ReactionsManager.js.map +1 -1
- package/build/Todo.d.ts +4 -0
- package/build/Todo.d.ts.map +1 -1
- package/build/Todo.js.map +1 -1
- package/build/batchloaders/BatchLoader.d.ts.map +1 -1
- package/build/batchloaders/BatchLoader.js +6 -1
- package/build/batchloaders/BatchLoader.js.map +1 -1
- package/build/batchloaders/enumCollectionBatchLoader.d.ts +7 -0
- package/build/batchloaders/enumCollectionBatchLoader.d.ts.map +1 -0
- package/build/batchloaders/enumCollectionBatchLoader.js +54 -0
- package/build/batchloaders/enumCollectionBatchLoader.js.map +1 -0
- package/build/batchloaders/manyToManyBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/manyToManyBatchLoader.js +10 -2
- package/build/batchloaders/manyToManyBatchLoader.js.map +1 -1
- package/build/batchloaders/populateBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/populateBatchLoader.js +26 -8
- package/build/batchloaders/populateBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveChildrenBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/recursiveChildrenBatchLoader.js +2 -0
- package/build/batchloaders/recursiveChildrenBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveM2mBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/recursiveM2mBatchLoader.js +1 -3
- package/build/batchloaders/recursiveM2mBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveParentsBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/recursiveParentsBatchLoader.js +2 -0
- package/build/batchloaders/recursiveParentsBatchLoader.js.map +1 -1
- package/build/changes.d.ts +13 -0
- package/build/changes.d.ts.map +1 -1
- package/build/changes.js +49 -0
- package/build/changes.js.map +1 -1
- package/build/configure.d.ts +5 -3
- package/build/configure.d.ts.map +1 -1
- package/build/configure.js +70 -0
- package/build/configure.js.map +1 -1
- package/build/dataloaders/fastWhereFilterHash.d.ts +15 -0
- package/build/dataloaders/fastWhereFilterHash.d.ts.map +1 -0
- package/build/dataloaders/fastWhereFilterHash.js +164 -0
- package/build/dataloaders/fastWhereFilterHash.js.map +1 -0
- package/build/dataloaders/fastWhereFilterHash.test.d.ts +2 -0
- package/build/dataloaders/fastWhereFilterHash.test.d.ts.map +1 -0
- package/build/dataloaders/fastWhereFilterHash.test.js +59 -0
- package/build/dataloaders/fastWhereFilterHash.test.js.map +1 -0
- package/build/dataloaders/findCountDataLoader.d.ts +13 -4
- package/build/dataloaders/findCountDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findCountDataLoader.js +58 -15
- package/build/dataloaders/findCountDataLoader.js.map +1 -1
- package/build/dataloaders/findDataLoader.d.ts +49 -10
- package/build/dataloaders/findDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findDataLoader.js +217 -108
- package/build/dataloaders/findDataLoader.js.map +1 -1
- package/build/dataloaders/findIdsDataLoader.d.ts +1 -2
- package/build/dataloaders/findIdsDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findIdsDataLoader.js +18 -17
- package/build/dataloaders/findIdsDataLoader.js.map +1 -1
- package/build/dataloaders/findOrCreateDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findOrCreateDataLoader.js +3 -3
- package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
- package/build/dataloaders/findPaginatedDataLoader.d.ts +7 -0
- package/build/dataloaders/findPaginatedDataLoader.d.ts.map +1 -0
- package/build/dataloaders/findPaginatedDataLoader.js +84 -0
- package/build/dataloaders/findPaginatedDataLoader.js.map +1 -0
- package/build/dataloaders/manyToManyFindDataLoader.js +7 -1
- package/build/dataloaders/manyToManyFindDataLoader.js.map +1 -1
- package/build/drivers/EntityWriter.js +13 -7
- package/build/drivers/EntityWriter.js.map +1 -1
- package/build/drivers/buildRawQuery.d.ts +6 -4
- package/build/drivers/buildRawQuery.d.ts.map +1 -1
- package/build/drivers/buildRawQuery.js +8 -4
- package/build/drivers/buildRawQuery.js.map +1 -1
- package/build/fields.d.ts +2 -0
- package/build/fields.d.ts.map +1 -1
- package/build/fields.js +18 -6
- package/build/fields.js.map +1 -1
- package/build/index.d.ts +3 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +4 -1
- package/build/index.js.map +1 -1
- package/build/keys.d.ts.map +1 -1
- package/build/keys.js +8 -6
- package/build/keys.js.map +1 -1
- package/build/loadHints.d.ts +13 -4
- package/build/loadHints.d.ts.map +1 -1
- package/build/loadHints.js +63 -9
- package/build/loadHints.js.map +1 -1
- package/build/loadLens.d.ts +11 -0
- package/build/loadLens.d.ts.map +1 -1
- package/build/loadLens.js +43 -10
- package/build/loadLens.js.map +1 -1
- package/build/newEntity.d.ts.map +1 -1
- package/build/newEntity.js +16 -14
- package/build/newEntity.js.map +1 -1
- package/build/newTestInstance.d.ts.map +1 -1
- package/build/newTestInstance.js +3 -0
- package/build/newTestInstance.js.map +1 -1
- package/build/normalizeHints.d.ts +7 -0
- package/build/normalizeHints.d.ts.map +1 -1
- package/build/normalizeHints.js +40 -2
- package/build/normalizeHints.js.map +1 -1
- package/build/preloading/JsonAggregatePreloader.d.ts.map +1 -1
- package/build/preloading/JsonAggregatePreloader.js +91 -9
- package/build/preloading/JsonAggregatePreloader.js.map +1 -1
- package/build/preloading/canPreload.d.ts +2 -2
- package/build/preloading/canPreload.d.ts.map +1 -1
- package/build/preloading/canPreload.js +3 -0
- package/build/preloading/canPreload.js.map +1 -1
- package/build/preloading/partitionHint.d.ts.map +1 -1
- package/build/preloading/partitionHint.js +10 -4
- package/build/preloading/partitionHint.js.map +1 -1
- package/build/reactiveHints.d.ts +2 -2
- package/build/reactiveHints.d.ts.map +1 -1
- package/build/reactiveHints.js +9 -0
- package/build/reactiveHints.js.map +1 -1
- package/build/relations/EnumCollection.d.ts +81 -0
- package/build/relations/EnumCollection.d.ts.map +1 -0
- package/build/relations/EnumCollection.js +211 -0
- package/build/relations/EnumCollection.js.map +1 -0
- package/build/relations/ManyToManyCollection.d.ts +1 -0
- package/build/relations/ManyToManyCollection.d.ts.map +1 -1
- package/build/relations/ManyToManyCollection.js +5 -2
- package/build/relations/ManyToManyCollection.js.map +1 -1
- package/build/relations/ManyToManyLargeCollection.d.ts +3 -2
- package/build/relations/ManyToManyLargeCollection.d.ts.map +1 -1
- package/build/relations/ManyToManyLargeCollection.js +7 -4
- package/build/relations/ManyToManyLargeCollection.js.map +1 -1
- package/build/relations/OneToManyCollection.d.ts.map +1 -1
- package/build/relations/OneToManyCollection.js +2 -2
- package/build/relations/OneToManyCollection.js.map +1 -1
- package/build/relations/OneToManyLargeCollection.d.ts.map +1 -1
- package/build/relations/OneToManyLargeCollection.js +2 -1
- package/build/relations/OneToManyLargeCollection.js.map +1 -1
- package/build/relations/ReactiveManyToMany.d.ts +1 -0
- package/build/relations/ReactiveManyToMany.d.ts.map +1 -1
- package/build/relations/ReactiveManyToMany.js +4 -1
- package/build/relations/ReactiveManyToMany.js.map +1 -1
- package/build/relations/ReactiveManyToManyOtherSide.d.ts +1 -0
- package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +1 -1
- package/build/relations/ReactiveManyToManyOtherSide.js +4 -1
- package/build/relations/ReactiveManyToManyOtherSide.js.map +1 -1
- package/build/relations/RecursiveCollection.d.ts +2 -6
- package/build/relations/RecursiveCollection.d.ts.map +1 -1
- package/build/relations/RecursiveCollection.js +9 -17
- package/build/relations/RecursiveCollection.js.map +1 -1
- package/build/relations/RecursiveCycleError.d.ts +13 -0
- package/build/relations/RecursiveCycleError.d.ts.map +1 -0
- package/build/relations/RecursiveCycleError.js +15 -0
- package/build/relations/RecursiveCycleError.js.map +1 -0
- package/build/relations/hasOneThrough.d.ts.map +1 -1
- package/build/relations/hasOneThrough.js +6 -4
- package/build/relations/hasOneThrough.js.map +1 -1
- package/build/relations/hasProperty.d.ts +2 -1
- package/build/relations/hasProperty.d.ts.map +1 -1
- package/build/relations/hasProperty.js +15 -5
- package/build/relations/hasProperty.js.map +1 -1
- package/build/relations/index.d.ts +1 -0
- package/build/relations/index.d.ts.map +1 -1
- package/build/relations/index.js +5 -2
- package/build/relations/index.js.map +1 -1
- package/build/rules.js +1 -1
- package/build/rules.js.map +1 -1
- package/build/scopes.d.ts +185 -0
- package/build/scopes.d.ts.map +1 -0
- package/build/scopes.js +302 -0
- package/build/scopes.js.map +1 -0
- package/build/temporal.d.ts +32 -2
- package/build/temporal.d.ts.map +1 -1
- package/build/temporal.js +18 -0
- package/build/temporal.js.map +1 -1
- package/build/upsert.d.ts.map +1 -1
- package/build/upsert.js +9 -2
- package/build/upsert.js.map +1 -1
- package/build/utils.d.ts +2 -0
- package/build/utils.d.ts.map +1 -1
- package/build/utils.js +12 -0
- package/build/utils.js.map +1 -1
- package/package.json +8 -10
- package/build/caches.d.ts +0 -6
- package/build/caches.d.ts.map +0 -1
- package/build/caches.js +0 -42
- package/build/caches.js.map +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import DataLoader from "dataloader";
|
|
2
1
|
import { Entity } from "../Entity";
|
|
3
2
|
import { FilterAndSettings } from "../EntityFilter";
|
|
4
3
|
import { EntityManager, MaybeAbstractEntityConstructor } from "../EntityManager";
|
|
@@ -7,18 +6,58 @@ import { ParsedCteClause, ParsedFindQuery } from "../QueryParser";
|
|
|
7
6
|
import { OpColumn } from "../drivers/EntityWriter";
|
|
8
7
|
import { LoadHint } from "../loadHints";
|
|
9
8
|
export declare const findOperation = "find";
|
|
10
|
-
export declare function findDataLoader<T extends Entity>(em: EntityManager, type: MaybeAbstractEntityConstructor<T>, filter: FilterAndSettings<T>, hint: LoadHint<T> | undefined):
|
|
11
|
-
export declare function whereFilterHash(where: FilterAndSettings<any>): any;
|
|
9
|
+
export declare function findDataLoader<T extends Entity>(em: EntityManager, type: MaybeAbstractEntityConstructor<T>, filter: FilterAndSettings<T>, hint: LoadHint<T> | undefined): Promise<T[]>;
|
|
12
10
|
/**
|
|
13
|
-
*
|
|
11
|
+
* Returns a stable cache key from the already-parsed query rather than the raw `where`.
|
|
14
12
|
*
|
|
15
|
-
*
|
|
13
|
+
* A scope `where` is an opaque proxy that `fastWhereFilterHash` can't serialize — but it doesn't need
|
|
14
|
+
* to: by this point the scope's structure and values are already worked into the `ParsedFindQuery`, so
|
|
15
|
+
* hashing that distinguishes e.g. `Author.adult` (age>=18) from `Author.senior` (age>=65) correctly.
|
|
16
16
|
*/
|
|
17
|
-
export declare function
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
export declare function
|
|
17
|
+
export declare function queryFilterHash(entry: {
|
|
18
|
+
query: ParsedFindQuery;
|
|
19
|
+
findSettings: object;
|
|
20
|
+
}): any;
|
|
21
|
+
export declare function whereFilterHash(where: object): any;
|
|
22
|
+
/** Filters pending-delete entities in place to avoid allocating a replacement array for the common find path. */
|
|
23
|
+
export declare function filterDeletedEntities<T extends Entity>(em: EntityManager, entities: T[]): T[];
|
|
24
|
+
/**
|
|
25
|
+
* A single batched arg: the `_find` CTE column to create, plus the index into each entry's `bindings`
|
|
26
|
+
* array that fills it. `bindingIndex` can differ from the column's position because inlined constants
|
|
27
|
+
* are skipped — see {@link collectAndReplaceArgs}.
|
|
28
|
+
*/
|
|
29
|
+
export interface CteArg {
|
|
30
|
+
column: OpColumn;
|
|
31
|
+
bindingIndex: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Rewrites each batched arg in `query` into a `_find.argX` placeholder.
|
|
35
|
+
*
|
|
36
|
+
* Any condition whose value(s) are identical across every batched query is left inline (using
|
|
37
|
+
* query's condition as-is from entity0), so it renders as `col = ?` for better query planning.
|
|
38
|
+
*
|
|
39
|
+
* The returned array has the non-constant CTE columns, one {@link CteArg} per `_find.argX`.
|
|
40
|
+
*
|
|
41
|
+
* Because constants are skipped, the 1st CTE column (i.e. for last name) might actually have a
|
|
42
|
+
* binding index of `1` if we've skipped an early constant column (i.e. first name).
|
|
43
|
+
*
|
|
44
|
+
* @param query the initial query in the batch, that all other queries structurally match
|
|
45
|
+
* @param entries the values (bindings) for each query in the batch
|
|
46
|
+
*/
|
|
47
|
+
export declare function collectAndReplaceArgs(query: ParsedFindQuery, entries: readonly {
|
|
48
|
+
bindings: any[];
|
|
49
|
+
}[]): CteArg[];
|
|
50
|
+
/**
|
|
51
|
+
* Builds the column-major values for the `_find` CTE.
|
|
52
|
+
*
|
|
53
|
+
* Column 0 is the per-entry `tag`; the remaining columns mirror `args` 1:1, each pulling its
|
|
54
|
+
* `bindingIndex` from every entry's `bindings` (so inlined constants are naturally skipped).
|
|
55
|
+
*/
|
|
56
|
+
export declare function createColumnValuesFromPrepared(args: readonly CteArg[], entries: readonly {
|
|
57
|
+
bindings: any[];
|
|
58
|
+
}[]): any[][];
|
|
59
|
+
/** Pushes the arg values of a given query in the cross-query `bindings` array. */
|
|
60
|
+
export declare function collectValues(bindings: any[], query: ParsedFindQuery): void;
|
|
22
61
|
/**
|
|
23
62
|
* Creates a `VALUES (...), (...)` SQL string for use in a CTE, typically for our
|
|
24
63
|
* batch INSERTs/UPDATEs where the CTE is how we inject N rows of data/params into
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/findDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"findDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/findDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAoB,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,cAAc,EAAe,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAEL,eAAe,EACf,eAAe,EAQhB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGnD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAMxC,eAAO,MAAM,aAAa,SAAS,CAAC;AAUpC,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC7C,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAC,EACvC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,GAC5B,OAAO,CAAC,CAAC,EAAE,CAAC,CA2Gd;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAE5F;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAIlD;AAED,iHAAiH;AACjH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAgB7F;AASD;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,QAAQ,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS;IAAE,QAAQ,EAAE,GAAG,EAAE,CAAA;CAAE,EAAE,GAAG,MAAM,EAAE,CAiD/G;AAaD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,SAAS;IAAE,QAAQ,EAAE,GAAG,EAAE,CAAA;CAAE,EAAE,GACtC,GAAG,EAAE,EAAE,CAUT;AAED,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAc3E;AAuHD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,EACjD,IAAI,EAAE,SAAS,GAAG,EAAE,EAEpB,QAAQ,EAAE,SAAS,GAAG,EAAE,GACvB,eAAe,CAYjB;AA+BD,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM,CAUpG"}
|
|
@@ -1,59 +1,62 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.findOperation = void 0;
|
|
7
4
|
exports.findDataLoader = findDataLoader;
|
|
5
|
+
exports.queryFilterHash = queryFilterHash;
|
|
8
6
|
exports.whereFilterHash = whereFilterHash;
|
|
7
|
+
exports.filterDeletedEntities = filterDeletedEntities;
|
|
9
8
|
exports.collectAndReplaceArgs = collectAndReplaceArgs;
|
|
10
|
-
exports.
|
|
9
|
+
exports.createColumnValuesFromPrepared = createColumnValuesFromPrepared;
|
|
10
|
+
exports.collectValues = collectValues;
|
|
11
11
|
exports.buildValuesCte = buildValuesCte;
|
|
12
12
|
exports.getBatchKeyFromGenericStructure = getBatchKeyFromGenericStructure;
|
|
13
|
-
const object_hash_1 = __importDefault(require("object-hash"));
|
|
14
|
-
const Aliases_1 = require("../Aliases");
|
|
15
|
-
const Entity_1 = require("../Entity");
|
|
16
13
|
const EntityGraphQLFilter_1 = require("../EntityGraphQLFilter");
|
|
17
14
|
const EntityManager_1 = require("../EntityManager");
|
|
18
15
|
const EntityMetadata_1 = require("../EntityMetadata");
|
|
19
16
|
const HintTree_1 = require("../HintTree");
|
|
20
17
|
const QueryParser_1 = require("../QueryParser");
|
|
21
18
|
const QueryVisitor_1 = require("../QueryVisitor");
|
|
19
|
+
const fields_1 = require("../fields");
|
|
22
20
|
const keywords_1 = require("../keywords");
|
|
23
|
-
const
|
|
24
|
-
const temporalMappers_1 = require("../temporalMappers");
|
|
21
|
+
const normalizeHints_1 = require("../normalizeHints");
|
|
25
22
|
const unnest_1 = require("../unnest");
|
|
26
23
|
const utils_1 = require("../utils");
|
|
24
|
+
const fastWhereFilterHash_1 = require("./fastWhereFilterHash");
|
|
27
25
|
exports.findOperation = "find";
|
|
28
26
|
function findDataLoader(em, type, filter, hint) {
|
|
29
27
|
const { where, ...opts } = filter;
|
|
30
|
-
if (
|
|
28
|
+
if ("limit" in opts || "offset" in opts) {
|
|
31
29
|
throw new Error("Cannot use limit/offset with findDataLoader");
|
|
32
30
|
}
|
|
33
31
|
const meta = (0, EntityMetadata_1.getMetadata)(type);
|
|
34
32
|
const query = (0, QueryParser_1.parseFindQuery)(meta, where, opts);
|
|
33
|
+
const { checkLimit, findSettings } = em["prepareFind"](meta, exports.findOperation, query, {
|
|
34
|
+
...opts,
|
|
35
|
+
limit: em.entityLimit,
|
|
36
|
+
});
|
|
37
|
+
const bindings = [];
|
|
38
|
+
collectValues(bindings, query);
|
|
39
|
+
const prepared = { filter, query, bindings, findSettings, checkLimit };
|
|
35
40
|
const batchKey = getBatchKeyFromGenericStructure(meta, query);
|
|
36
|
-
return em
|
|
41
|
+
return em
|
|
42
|
+
.getLoader(exports.findOperation,
|
|
37
43
|
// It's unlikely we'll have simultaneous em.finds with the same WHERE clause structure
|
|
38
44
|
// but lots of different load hints, and it'd be complicated to implement the preloading
|
|
39
45
|
// in a way that doesn't naively over-fetch data (which our loadDataLoader does prevent,
|
|
40
46
|
// but it's simpler b/c it's given exact ids to load), so for now just include the load
|
|
41
47
|
// hint in the batch key.
|
|
42
|
-
`${batchKey}-${
|
|
48
|
+
`${batchKey}-${(0, normalizeHints_1.hintKey)(hint)}`, async (entries) => {
|
|
43
49
|
// We're guaranteed that these queries all have the same structure
|
|
44
50
|
// Don't bother with the CTE if there's only 1 query (or each query has exactly the same filter values)
|
|
45
|
-
if (
|
|
46
|
-
const {
|
|
47
|
-
// We have to parseFindQuery queries[0], b/c our query variable may be captured from
|
|
48
|
-
// a prior invocation that instantiated our dataloader instance.
|
|
49
|
-
const query = (0, QueryParser_1.parseFindQuery)(meta, where, opts);
|
|
51
|
+
if (entries.length === 1) {
|
|
52
|
+
const { query, findSettings, checkLimit } = entries[0];
|
|
50
53
|
// Maybe add preload joins
|
|
51
54
|
const { preloader } = (0, EntityManager_1.getEmInternalApi)(em);
|
|
52
55
|
const preloadHydrator = preloader && hint && preloader.addPreloading(meta, (0, HintTree_1.buildHintTree)(hint), query);
|
|
53
|
-
const rows = await em["
|
|
56
|
+
const rows = await em["executePreparedFind"](meta, exports.findOperation, query, findSettings, checkLimit);
|
|
54
57
|
const entities = em.hydrate(type, rows);
|
|
55
58
|
preloadHydrator?.(rows, entities);
|
|
56
|
-
return [entities];
|
|
59
|
+
return [filterDeletedEntities(em, entities)];
|
|
57
60
|
}
|
|
58
61
|
// WITH _find (tag, arg1, arg2) AS (
|
|
59
62
|
// SELECT unnest($0::int[]), unnest($0::varchar[]), unnest($0::varchar[])
|
|
@@ -64,85 +67,87 @@ function findDataLoader(em, type, filter, hint) {
|
|
|
64
67
|
// WHERE a.first_name = _find.arg0 OR a.last_name = _find.arg1
|
|
65
68
|
// GROUP BY a.id
|
|
66
69
|
// Build the list of 'arg1', 'arg2', ... strings
|
|
67
|
-
const {
|
|
68
|
-
const query = (0, QueryParser_1.parseFindQuery)((0, EntityMetadata_1.getMetadata)(type), where, options);
|
|
69
|
-
const argsColumns = collectAndReplaceArgs(query);
|
|
70
|
-
argsColumns.unshift({ columnName: "tag", dbType: "int" });
|
|
71
|
-
query.selects.unshift("array_agg(_find.tag) as _tags");
|
|
72
|
-
// Inject a cross join into the query
|
|
73
|
-
query.tables.unshift({ join: "cross", table: "_find", alias: "_find" });
|
|
74
|
-
query.ctes = [(0, unnest_1.buildUnnestCte)("_find", argsColumns, createColumnValues(meta, argsColumns, queries))];
|
|
75
|
-
// Because we want to use `array_agg(tag)`, add `GROUP BY`s to the values we're selecting
|
|
76
|
-
query.groupBys = query.selects
|
|
77
|
-
.filter((s) => typeof s === "string")
|
|
78
|
-
.filter((s) => !s.includes("array_agg") && !s.includes("CASE") && !s.includes(" as "))
|
|
79
|
-
.map((s) => {
|
|
80
|
-
// Make a liberal assumption that this is a `a.id` or `a_st0.id` string
|
|
81
|
-
const alias = (0, QueryParser_1.parseAlias)(s);
|
|
82
|
-
return { alias, column: "id" };
|
|
83
|
-
});
|
|
84
|
-
// Also because of our `array_agg` group by, add any order bys to the group by
|
|
85
|
-
const [primary] = (0, QueryParser_1.getTables)(query);
|
|
86
|
-
for (const { alias, column } of query.orderBys) {
|
|
87
|
-
if (alias !== primary.alias) {
|
|
88
|
-
query.groupBys.push({ alias, column });
|
|
89
|
-
}
|
|
90
|
-
}
|
|
70
|
+
const { query, findSettings, checkLimit } = entries[0];
|
|
91
71
|
const { preloader } = (0, EntityManager_1.getEmInternalApi)(em);
|
|
92
72
|
const preloadJoins = preloader && hint && preloader.getPreloadJoins(meta, (0, HintTree_1.buildHintTree)(hint), query);
|
|
73
|
+
const args = collectAndReplaceArgs(query, entries);
|
|
74
|
+
const argsColumns = [{ columnName: "tag", dbType: "int" }, ...args.map((a) => a.column)];
|
|
75
|
+
const columnValues = createColumnValuesFromPrepared(args, entries);
|
|
76
|
+
const query2 = {
|
|
77
|
+
...query,
|
|
78
|
+
selects: ["array_agg(_find.tag) as _tags", ...query.selects],
|
|
79
|
+
tables: [{ join: "cross", table: "_find", alias: "_find" }, ...query.tables],
|
|
80
|
+
ctes: [(0, unnest_1.buildUnnestCte)("_find", argsColumns, columnValues), ...(query.ctes ?? [])],
|
|
81
|
+
};
|
|
93
82
|
if (preloadJoins) {
|
|
94
|
-
|
|
83
|
+
query2.selects.push(...preloadJoins.flatMap((j) =>
|
|
95
84
|
// Because we 'group by primary.id' to collapse the "a1 matched multiple finds" into
|
|
96
85
|
// a single row, we also need to pick just the first value of each preload column
|
|
97
86
|
j.selects.map((s) => `(array_agg(${s.value}))[1] AS ${s.as}`)));
|
|
98
|
-
|
|
87
|
+
query2.tables.push(...preloadJoins.map((j) => j.join));
|
|
99
88
|
}
|
|
100
|
-
|
|
89
|
+
// Because we want to use `array_agg(tag)`, add `GROUP BY`s to the values we're selecting
|
|
90
|
+
query2.groupBys = buildGroupBys(query2.selects);
|
|
91
|
+
// Also because of our `array_agg` group by, add any order bys to the group by
|
|
92
|
+
const [primary] = (0, QueryParser_1.getTables)(query2);
|
|
93
|
+
for (const { alias, column } of query2.orderBys) {
|
|
94
|
+
if (alias !== primary.alias) {
|
|
95
|
+
query2.groupBys.push({ alias, column });
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
const rows = await em["executePreparedFind"](meta, exports.findOperation, query2, findSettings, checkLimit);
|
|
101
99
|
const entities = em.hydrate(type, rows);
|
|
102
100
|
preloadJoins?.forEach((j) => j.hydrator(rows, entities));
|
|
103
101
|
// Make an empty array for each batched query, per the dataloader contract
|
|
104
|
-
const results =
|
|
102
|
+
const results = entries.map(() => []);
|
|
105
103
|
// Then put each row into the tagged query it matched
|
|
106
104
|
rows.forEach((row, i) => {
|
|
107
105
|
const entity = entities[i];
|
|
108
|
-
|
|
109
|
-
|
|
106
|
+
if (!entity.isDeletedEntity) {
|
|
107
|
+
for (const tag of row._tags)
|
|
108
|
+
results[tag].push(entity);
|
|
109
|
+
}
|
|
110
110
|
delete row._tags;
|
|
111
111
|
});
|
|
112
112
|
return results;
|
|
113
113
|
},
|
|
114
|
-
// Our filter/order tuple is a complex object, so
|
|
115
|
-
{ cacheKeyFn:
|
|
114
|
+
// Our filter/order tuple is a complex object, so use a stable cache key to ensure caching works.
|
|
115
|
+
{ cacheKeyFn: queryFilterHash })
|
|
116
|
+
.load(prepared);
|
|
116
117
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
return "alias";
|
|
127
|
-
}
|
|
128
|
-
else if (Temporal) {
|
|
129
|
-
if (v instanceof Temporal.ZonedDateTime) {
|
|
130
|
-
return temporalMappers_1.zonedDateTimeMapper.toDb(v);
|
|
131
|
-
}
|
|
132
|
-
else if (v instanceof Temporal.PlainDateTime) {
|
|
133
|
-
return temporalMappers_1.plainDateTimeMapper.toDb(v);
|
|
134
|
-
}
|
|
135
|
-
else if (v instanceof Temporal.PlainDate) {
|
|
136
|
-
return temporalMappers_1.plainDateMapper.toDb(v);
|
|
137
|
-
}
|
|
138
|
-
else if (v instanceof Temporal.PlainTime) {
|
|
139
|
-
return temporalMappers_1.plainTimeMapper.toDb(v);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
return v;
|
|
118
|
+
/**
|
|
119
|
+
* Returns a stable cache key from the already-parsed query rather than the raw `where`.
|
|
120
|
+
*
|
|
121
|
+
* A scope `where` is an opaque proxy that `fastWhereFilterHash` can't serialize — but it doesn't need
|
|
122
|
+
* to: by this point the scope's structure and values are already worked into the `ParsedFindQuery`, so
|
|
123
|
+
* hashing that distinguishes e.g. `Author.adult` (age>=18) from `Author.senior` (age>=65) correctly.
|
|
124
|
+
*/
|
|
125
|
+
function queryFilterHash(entry) {
|
|
126
|
+
return whereFilterHash({ query: entry.query, findSettings: entry.findSettings });
|
|
143
127
|
}
|
|
144
128
|
function whereFilterHash(where) {
|
|
145
|
-
|
|
129
|
+
const key = (0, fastWhereFilterHash_1.fastWhereFilterHash)(where);
|
|
130
|
+
if (key === undefined)
|
|
131
|
+
throw new Error("fastWhereFilterHash could not serialize find filter");
|
|
132
|
+
return key;
|
|
133
|
+
}
|
|
134
|
+
/** Filters pending-delete entities in place to avoid allocating a replacement array for the common find path. */
|
|
135
|
+
function filterDeletedEntities(em, entities) {
|
|
136
|
+
// Most EMs never delete entities, so skip even the findIndex scan until a delete has happened.
|
|
137
|
+
if (!(0, EntityManager_1.getEmInternalApi)(em).hasAnyDeletes())
|
|
138
|
+
return entities;
|
|
139
|
+
const firstDeleted = entities.findIndex((entity) => entity.isDeletedEntity);
|
|
140
|
+
if (firstDeleted === -1)
|
|
141
|
+
return entities;
|
|
142
|
+
let writeIndex = firstDeleted;
|
|
143
|
+
for (let readIndex = firstDeleted + 1; readIndex < entities.length; readIndex++) {
|
|
144
|
+
const entity = entities[readIndex];
|
|
145
|
+
if (!entity.isDeletedEntity) {
|
|
146
|
+
entities[writeIndex++] = entity;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
entities.length = writeIndex;
|
|
150
|
+
return entities;
|
|
146
151
|
}
|
|
147
152
|
class ArgCounter {
|
|
148
153
|
index = 0;
|
|
@@ -151,38 +156,61 @@ class ArgCounter {
|
|
|
151
156
|
}
|
|
152
157
|
}
|
|
153
158
|
/**
|
|
154
|
-
*
|
|
159
|
+
* Rewrites each batched arg in `query` into a `_find.argX` placeholder.
|
|
155
160
|
*
|
|
156
|
-
*
|
|
161
|
+
* Any condition whose value(s) are identical across every batched query is left inline (using
|
|
162
|
+
* query's condition as-is from entity0), so it renders as `col = ?` for better query planning.
|
|
163
|
+
*
|
|
164
|
+
* The returned array has the non-constant CTE columns, one {@link CteArg} per `_find.argX`.
|
|
165
|
+
*
|
|
166
|
+
* Because constants are skipped, the 1st CTE column (i.e. for last name) might actually have a
|
|
167
|
+
* binding index of `1` if we've skipped an early constant column (i.e. first name).
|
|
168
|
+
*
|
|
169
|
+
* @param query the initial query in the batch, that all other queries structurally match
|
|
170
|
+
* @param entries the values (bindings) for each query in the batch
|
|
157
171
|
*/
|
|
158
|
-
function collectAndReplaceArgs(query) {
|
|
172
|
+
function collectAndReplaceArgs(query, entries) {
|
|
159
173
|
const args = [];
|
|
160
174
|
const argsIndex = new ArgCounter();
|
|
175
|
+
// `bindings` were pushed in this same `visitConditions` order, so we can walk the conditions and
|
|
176
|
+
// each entry's `bindings` in lockstep, deciding per condition whether to inline or batch its value(s).
|
|
177
|
+
const constant = computeConstantBindings(entries);
|
|
178
|
+
let bindingIndex = 0;
|
|
161
179
|
(0, QueryVisitor_1.visitConditions)(query, {
|
|
162
180
|
visitCond(c) {
|
|
163
181
|
if ("value" in c.cond) {
|
|
164
182
|
const { kind } = c.cond;
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
183
|
+
// `between` consumes two bindings, everything else (incl. array `in`/`nin`) consumes one.
|
|
184
|
+
const consumed = kind === "between" ? 2 : 1;
|
|
185
|
+
const start = bindingIndex;
|
|
186
|
+
bindingIndex += consumed;
|
|
187
|
+
// If every batched query shares this condition's value(s), leave it as a normal `col = ?`
|
|
188
|
+
// condition (rendered from `entries[0]`'s value) instead of threading it through the CTE.
|
|
189
|
+
let allConstant = true;
|
|
190
|
+
for (let k = 0; k < consumed; k++) {
|
|
191
|
+
if (!constant[start + k]) {
|
|
192
|
+
allConstant = false;
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
174
195
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
196
|
+
if (allConstant)
|
|
197
|
+
return;
|
|
198
|
+
// `arg${args.length}` keeps the CTE column names in step with the `_find.argX` references that
|
|
199
|
+
// `rewriteToRawCondition` emits, since both only advance for the args we actually batch.
|
|
200
|
+
if (kind === "between") {
|
|
201
|
+
args.push({ column: { columnName: `arg${args.length}`, dbType: c.dbType }, bindingIndex: start });
|
|
202
|
+
args.push({ column: { columnName: `arg${args.length}`, dbType: c.dbType }, bindingIndex: start + 1 });
|
|
181
203
|
}
|
|
182
204
|
else {
|
|
183
|
-
|
|
184
|
-
|
|
205
|
+
// Figure out the _find CTE's `unnest($n::${dbType})` so Postgres knows what we're sending in
|
|
206
|
+
const dbType = kind === "in" || kind === "nin"
|
|
207
|
+
? `${c.dbType}[]` // `in`/`nin` compare against an array column
|
|
208
|
+
: kind === "jsonPathExists" || kind === "jsonPathPredicate"
|
|
209
|
+
? "jsonpath" // jsonPath needs `::jsonpath` (not `::jsonb`, which would be an invalid `jsonb @@ jsonb`)
|
|
210
|
+
: c.dbType;
|
|
211
|
+
args.push({ column: { columnName: `arg${args.length}`, dbType }, bindingIndex: start });
|
|
185
212
|
}
|
|
213
|
+
return rewriteToRawCondition(c, argsIndex);
|
|
186
214
|
}
|
|
187
215
|
else if (c.cond.kind === "is-null" || c.cond.kind === "not-null") {
|
|
188
216
|
// leave it alone
|
|
@@ -204,18 +232,20 @@ function rewriteToRawCondition(c, argsIndex) {
|
|
|
204
232
|
bindings: [],
|
|
205
233
|
};
|
|
206
234
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
235
|
+
/**
|
|
236
|
+
* Builds the column-major values for the `_find` CTE.
|
|
237
|
+
*
|
|
238
|
+
* Column 0 is the per-entry `tag`; the remaining columns mirror `args` 1:1, each pulling its
|
|
239
|
+
* `bindingIndex` from every entry's `bindings` (so inlined constants are naturally skipped).
|
|
240
|
+
*/
|
|
241
|
+
function createColumnValuesFromPrepared(args, entries) {
|
|
242
|
+
const columnValues = new Array(args.length + 1);
|
|
243
|
+
for (let i = 0; i < columnValues.length; i++)
|
|
210
244
|
columnValues[i] = [];
|
|
211
|
-
|
|
212
|
-
const { where, ...opts } = query;
|
|
213
|
-
// add this query's `tag` value
|
|
245
|
+
entries.forEach((entry, i) => {
|
|
214
246
|
columnValues[0].push(i);
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
for (let j = 0; j < bindings.length; j++) {
|
|
218
|
-
columnValues[j + 1].push(bindings[j]);
|
|
247
|
+
for (let k = 0; k < args.length; k++) {
|
|
248
|
+
columnValues[k + 1].push(entry.bindings[args[k].bindingIndex]);
|
|
219
249
|
}
|
|
220
250
|
});
|
|
221
251
|
return columnValues;
|
|
@@ -237,6 +267,58 @@ function collectValues(bindings, query) {
|
|
|
237
267
|
},
|
|
238
268
|
});
|
|
239
269
|
}
|
|
270
|
+
/** Returns true for select expressions that do not need to be represented in GROUP BY. */
|
|
271
|
+
function isAggregateSelect(select) {
|
|
272
|
+
return select.toLowerCase().includes("array_agg(");
|
|
273
|
+
}
|
|
274
|
+
/** Builds GROUP BYs for selected values, accounting for whole-row selects that are grouped by primary key. */
|
|
275
|
+
function buildGroupBys(selects) {
|
|
276
|
+
const sqlSelects = selects.map(selectSqlForGroupBy);
|
|
277
|
+
const wholeRowAliases = new Set(sqlSelects
|
|
278
|
+
.filter((select) => !isAggregateSelect(select) && stripSelectAlias(select).endsWith(".*"))
|
|
279
|
+
.map(QueryParser_1.parseAlias));
|
|
280
|
+
return sqlSelects
|
|
281
|
+
.filter((select) => !isAggregateSelect(select))
|
|
282
|
+
.filter((select) => !isCoveredByWholeRowGroupBy(select, wholeRowAliases))
|
|
283
|
+
.map((select) => groupBySelect(select));
|
|
284
|
+
}
|
|
285
|
+
/** Returns a SQL string for group-by analysis, until we support bindings in ParsedGroupBy. */
|
|
286
|
+
function selectSqlForGroupBy(select) {
|
|
287
|
+
if (typeof select === "string") {
|
|
288
|
+
return select;
|
|
289
|
+
}
|
|
290
|
+
throw new Error(`find batching does not support grouped selects with bindings: ${select.sql}`);
|
|
291
|
+
}
|
|
292
|
+
/** Builds a GROUP BY for a selected value so `array_agg(_find.tag)` can coexist with plugin-rewritten selects. */
|
|
293
|
+
function groupBySelect(select) {
|
|
294
|
+
const expression = stripSelectAlias(select);
|
|
295
|
+
if (expression.endsWith(".*")) {
|
|
296
|
+
return { alias: (0, QueryParser_1.parseAlias)(expression), column: "id" };
|
|
297
|
+
}
|
|
298
|
+
return { expression };
|
|
299
|
+
}
|
|
300
|
+
/** Removes a trailing SQL alias from a select expression, i.e. `(a.id) as id` -> `(a.id)`. */
|
|
301
|
+
function stripSelectAlias(select) {
|
|
302
|
+
const match = /^(.*)\s+as\s+[^\s]+$/i.exec(select);
|
|
303
|
+
return match?.[1] ?? select;
|
|
304
|
+
}
|
|
305
|
+
/** Returns true when an expression is functionally covered by an already-grouped whole-row alias. */
|
|
306
|
+
function isCoveredByWholeRowGroupBy(select, wholeRowAliases) {
|
|
307
|
+
const expression = stripSelectAlias(select);
|
|
308
|
+
if (expression.endsWith(".*")) {
|
|
309
|
+
return false;
|
|
310
|
+
}
|
|
311
|
+
const aliases = findSelectedAliases(expression);
|
|
312
|
+
return aliases.length > 0 && aliases.every((alias) => wholeRowAliases.has(alias));
|
|
313
|
+
}
|
|
314
|
+
/** Finds SQL aliases referenced as `alias.column` or `"alias".column`, i.e. `a.first_name` -> `a`. */
|
|
315
|
+
function findSelectedAliases(expression) {
|
|
316
|
+
const aliases = new Set();
|
|
317
|
+
for (const match of expression.matchAll(/(?:"([^"]+)"|([a-zA-Z_][\w]*))\./g)) {
|
|
318
|
+
aliases.add(match[1] ?? match[2]);
|
|
319
|
+
}
|
|
320
|
+
return [...aliases];
|
|
321
|
+
}
|
|
240
322
|
/** Replaces all values with `*` so we can see the generic structure of the query. */
|
|
241
323
|
function stripValues(query) {
|
|
242
324
|
(0, QueryVisitor_1.visitConditions)(query, {
|
|
@@ -316,6 +398,33 @@ bindings) {
|
|
|
316
398
|
},
|
|
317
399
|
};
|
|
318
400
|
}
|
|
401
|
+
/** Returns, per binding slot, whether every batched query shares the same value. */
|
|
402
|
+
function computeConstantBindings(entries) {
|
|
403
|
+
const length = entries[0].bindings.length;
|
|
404
|
+
const constant = new Array(length);
|
|
405
|
+
for (let j = 0; j < length; j++) {
|
|
406
|
+
const first = entries[0].bindings[j];
|
|
407
|
+
let same = true;
|
|
408
|
+
for (let i = 1; i < entries.length; i++) {
|
|
409
|
+
if (!argsEqual(entries[i].bindings[j], first)) {
|
|
410
|
+
same = false;
|
|
411
|
+
break;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
constant[j] = same;
|
|
415
|
+
}
|
|
416
|
+
return constant;
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Deep-equals two find-arg values (scalars, Dates, Temporals, or arrays thereof), reusing the same
|
|
420
|
+
* scalar/array equality `setField` uses for change detection.
|
|
421
|
+
*
|
|
422
|
+
* Only used to decide whether a condition can be inlined, so false negatives are safe (we just fall
|
|
423
|
+
* back to the CTE); we only return true when the values are genuinely equal.
|
|
424
|
+
*/
|
|
425
|
+
function argsEqual(a, b) {
|
|
426
|
+
return (0, fields_1.equal)(a, b) || (Array.isArray(a) && Array.isArray(b) && (0, fields_1.equalArrays)(a, b));
|
|
427
|
+
}
|
|
319
428
|
function getBatchKeyFromGenericStructure(meta, query) {
|
|
320
429
|
// Clone b/c parseFindQuery does not deep copy complex conditions, i.e. `a.firstName.eq(...)`
|
|
321
430
|
const clone = structuredClone(query);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findDataLoader.js","sourceRoot":"","sources":["../../src/dataloaders/findDataLoader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"findDataLoader.js","sourceRoot":"","sources":["../../src/dataloaders/findDataLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import DataLoader from "dataloader";
|
|
2
1
|
import { Entity } from "../Entity";
|
|
3
2
|
import { FilterAndSettings } from "../EntityFilter";
|
|
4
3
|
import { EntityManager, MaybeAbstractEntityConstructor } from "../EntityManager";
|
|
5
4
|
export declare const findIdsOperation = "find-ids";
|
|
6
|
-
export declare function findIdsDataLoader<T extends Entity>(em: EntityManager, type: MaybeAbstractEntityConstructor<T>, filter: FilterAndSettings<T>):
|
|
5
|
+
export declare function findIdsDataLoader<T extends Entity>(em: EntityManager, type: MaybeAbstractEntityConstructor<T>, filter: FilterAndSettings<T>): Promise<string[]>;
|
|
7
6
|
//# sourceMappingURL=findIdsDataLoader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findIdsDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/findIdsDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"findIdsDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/findIdsDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAejF,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAE3C,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAC,EACvC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC,CA4EnB"}
|