joist-core 2.2.0-next.3 → 2.2.0-next.31

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.
Files changed (161) hide show
  1. package/build/BaseEntity.d.ts +2 -0
  2. package/build/BaseEntity.d.ts.map +1 -1
  3. package/build/BaseEntity.js +1 -1
  4. package/build/BaseEntity.js.map +1 -1
  5. package/build/Entity.d.ts +1 -0
  6. package/build/Entity.d.ts.map +1 -1
  7. package/build/EntityManager.d.ts +6 -2
  8. package/build/EntityManager.d.ts.map +1 -1
  9. package/build/EntityManager.js +170 -88
  10. package/build/EntityManager.js.map +1 -1
  11. package/build/EntityMetadata.d.ts +20 -1
  12. package/build/EntityMetadata.d.ts.map +1 -1
  13. package/build/EntityMetadata.js +13 -0
  14. package/build/EntityMetadata.js.map +1 -1
  15. package/build/IndexManager.d.ts +5 -5
  16. package/build/IndexManager.d.ts.map +1 -1
  17. package/build/IndexManager.js +48 -32
  18. package/build/IndexManager.js.map +1 -1
  19. package/build/InstanceData.d.ts +16 -2
  20. package/build/InstanceData.d.ts.map +1 -1
  21. package/build/InstanceData.js +36 -3
  22. package/build/InstanceData.js.map +1 -1
  23. package/build/IsLoadedCache.d.ts.map +1 -1
  24. package/build/IsLoadedCache.js +31 -25
  25. package/build/IsLoadedCache.js.map +1 -1
  26. package/build/JoinRows.js +1 -1
  27. package/build/JoinRows.js.map +1 -1
  28. package/build/QueryParser.collectionJoins.js +8 -2
  29. package/build/QueryParser.collectionJoins.js.map +1 -1
  30. package/build/QueryParser.d.ts +4 -2
  31. package/build/QueryParser.d.ts.map +1 -1
  32. package/build/QueryParser.js +19 -5
  33. package/build/QueryParser.js.map +1 -1
  34. package/build/QueryParser.pruning.d.ts.map +1 -1
  35. package/build/QueryParser.pruning.js +8 -1
  36. package/build/QueryParser.pruning.js.map +1 -1
  37. package/build/QueryParser.test.d.ts +2 -0
  38. package/build/QueryParser.test.d.ts.map +1 -0
  39. package/build/QueryParser.test.js +16 -0
  40. package/build/QueryParser.test.js.map +1 -0
  41. package/build/ReactionsManager.d.ts +2 -1
  42. package/build/ReactionsManager.d.ts.map +1 -1
  43. package/build/ReactionsManager.js +53 -49
  44. package/build/ReactionsManager.js.map +1 -1
  45. package/build/batchloaders/BatchLoader.d.ts.map +1 -1
  46. package/build/batchloaders/BatchLoader.js +6 -1
  47. package/build/batchloaders/BatchLoader.js.map +1 -1
  48. package/build/batchloaders/manyToManyBatchLoader.d.ts.map +1 -1
  49. package/build/batchloaders/manyToManyBatchLoader.js +1 -1
  50. package/build/batchloaders/manyToManyBatchLoader.js.map +1 -1
  51. package/build/batchloaders/populateBatchLoader.d.ts.map +1 -1
  52. package/build/batchloaders/populateBatchLoader.js +26 -8
  53. package/build/batchloaders/populateBatchLoader.js.map +1 -1
  54. package/build/batchloaders/recursiveChildrenBatchLoader.d.ts.map +1 -1
  55. package/build/batchloaders/recursiveChildrenBatchLoader.js +2 -0
  56. package/build/batchloaders/recursiveChildrenBatchLoader.js.map +1 -1
  57. package/build/batchloaders/recursiveM2mBatchLoader.d.ts.map +1 -1
  58. package/build/batchloaders/recursiveM2mBatchLoader.js +1 -3
  59. package/build/batchloaders/recursiveM2mBatchLoader.js.map +1 -1
  60. package/build/batchloaders/recursiveParentsBatchLoader.d.ts.map +1 -1
  61. package/build/batchloaders/recursiveParentsBatchLoader.js +2 -0
  62. package/build/batchloaders/recursiveParentsBatchLoader.js.map +1 -1
  63. package/build/configure.d.ts +3 -3
  64. package/build/configure.d.ts.map +1 -1
  65. package/build/configure.js +65 -0
  66. package/build/configure.js.map +1 -1
  67. package/build/dataloaders/fastWhereFilterHash.d.ts +15 -0
  68. package/build/dataloaders/fastWhereFilterHash.d.ts.map +1 -0
  69. package/build/dataloaders/fastWhereFilterHash.js +164 -0
  70. package/build/dataloaders/fastWhereFilterHash.js.map +1 -0
  71. package/build/dataloaders/fastWhereFilterHash.test.d.ts +2 -0
  72. package/build/dataloaders/fastWhereFilterHash.test.d.ts.map +1 -0
  73. package/build/dataloaders/fastWhereFilterHash.test.js +59 -0
  74. package/build/dataloaders/fastWhereFilterHash.test.js.map +1 -0
  75. package/build/dataloaders/findCountDataLoader.d.ts +1 -2
  76. package/build/dataloaders/findCountDataLoader.d.ts.map +1 -1
  77. package/build/dataloaders/findCountDataLoader.js +48 -13
  78. package/build/dataloaders/findCountDataLoader.js.map +1 -1
  79. package/build/dataloaders/findDataLoader.d.ts +10 -5
  80. package/build/dataloaders/findDataLoader.d.ts.map +1 -1
  81. package/build/dataloaders/findDataLoader.js +109 -82
  82. package/build/dataloaders/findDataLoader.js.map +1 -1
  83. package/build/dataloaders/findIdsDataLoader.d.ts +1 -2
  84. package/build/dataloaders/findIdsDataLoader.d.ts.map +1 -1
  85. package/build/dataloaders/findIdsDataLoader.js +16 -15
  86. package/build/dataloaders/findIdsDataLoader.js.map +1 -1
  87. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +1 -1
  88. package/build/dataloaders/findOrCreateDataLoader.js +3 -3
  89. package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
  90. package/build/dataloaders/findPaginatedDataLoader.d.ts +1 -2
  91. package/build/dataloaders/findPaginatedDataLoader.d.ts.map +1 -1
  92. package/build/dataloaders/findPaginatedDataLoader.js +33 -25
  93. package/build/dataloaders/findPaginatedDataLoader.js.map +1 -1
  94. package/build/drivers/EntityWriter.js +13 -7
  95. package/build/drivers/EntityWriter.js.map +1 -1
  96. package/build/drivers/buildRawQuery.d.ts.map +1 -1
  97. package/build/drivers/buildRawQuery.js +5 -1
  98. package/build/drivers/buildRawQuery.js.map +1 -1
  99. package/build/fields.d.ts.map +1 -1
  100. package/build/fields.js +16 -6
  101. package/build/fields.js.map +1 -1
  102. package/build/keys.d.ts.map +1 -1
  103. package/build/keys.js +8 -6
  104. package/build/keys.js.map +1 -1
  105. package/build/loadHints.d.ts +9 -0
  106. package/build/loadHints.d.ts.map +1 -1
  107. package/build/loadHints.js +63 -9
  108. package/build/loadHints.js.map +1 -1
  109. package/build/loadLens.d.ts +11 -0
  110. package/build/loadLens.d.ts.map +1 -1
  111. package/build/loadLens.js +43 -10
  112. package/build/loadLens.js.map +1 -1
  113. package/build/newEntity.d.ts.map +1 -1
  114. package/build/newEntity.js +16 -14
  115. package/build/newEntity.js.map +1 -1
  116. package/build/normalizeHints.d.ts +7 -0
  117. package/build/normalizeHints.d.ts.map +1 -1
  118. package/build/normalizeHints.js +40 -2
  119. package/build/normalizeHints.js.map +1 -1
  120. package/build/relations/ManyToManyCollection.d.ts.map +1 -1
  121. package/build/relations/ManyToManyCollection.js +2 -2
  122. package/build/relations/ManyToManyCollection.js.map +1 -1
  123. package/build/relations/ManyToManyLargeCollection.d.ts.map +1 -1
  124. package/build/relations/ManyToManyLargeCollection.js +2 -1
  125. package/build/relations/ManyToManyLargeCollection.js.map +1 -1
  126. package/build/relations/OneToManyCollection.d.ts.map +1 -1
  127. package/build/relations/OneToManyCollection.js +2 -2
  128. package/build/relations/OneToManyCollection.js.map +1 -1
  129. package/build/relations/OneToManyLargeCollection.d.ts.map +1 -1
  130. package/build/relations/OneToManyLargeCollection.js +2 -1
  131. package/build/relations/OneToManyLargeCollection.js.map +1 -1
  132. package/build/relations/ReactiveManyToMany.d.ts.map +1 -1
  133. package/build/relations/ReactiveManyToMany.js +1 -1
  134. package/build/relations/ReactiveManyToMany.js.map +1 -1
  135. package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +1 -1
  136. package/build/relations/ReactiveManyToManyOtherSide.js +1 -1
  137. package/build/relations/ReactiveManyToManyOtherSide.js.map +1 -1
  138. package/build/relations/RecursiveCollection.d.ts +2 -6
  139. package/build/relations/RecursiveCollection.d.ts.map +1 -1
  140. package/build/relations/RecursiveCollection.js +9 -17
  141. package/build/relations/RecursiveCollection.js.map +1 -1
  142. package/build/relations/RecursiveCycleError.d.ts +13 -0
  143. package/build/relations/RecursiveCycleError.d.ts.map +1 -0
  144. package/build/relations/RecursiveCycleError.js +15 -0
  145. package/build/relations/RecursiveCycleError.js.map +1 -0
  146. package/build/relations/hasOneThrough.d.ts.map +1 -1
  147. package/build/relations/hasOneThrough.js +6 -4
  148. package/build/relations/hasOneThrough.js.map +1 -1
  149. package/build/relations/hasProperty.d.ts +2 -1
  150. package/build/relations/hasProperty.d.ts.map +1 -1
  151. package/build/relations/hasProperty.js +15 -5
  152. package/build/relations/hasProperty.js.map +1 -1
  153. package/build/utils.d.ts +2 -0
  154. package/build/utils.d.ts.map +1 -1
  155. package/build/utils.js +12 -0
  156. package/build/utils.js.map +1 -1
  157. package/package.json +3 -5
  158. package/build/caches.d.ts +0 -6
  159. package/build/caches.d.ts.map +0 -1
  160. package/build/caches.js +0 -42
  161. package/build/caches.js.map +0 -1
@@ -1,30 +1,25 @@
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;
8
5
  exports.whereFilterHash = whereFilterHash;
6
+ exports.filterDeletedEntities = filterDeletedEntities;
9
7
  exports.collectAndReplaceArgs = collectAndReplaceArgs;
10
- exports.createColumnValues = createColumnValues;
8
+ exports.createColumnValuesFromPrepared = createColumnValuesFromPrepared;
9
+ exports.collectValues = collectValues;
11
10
  exports.buildValuesCte = buildValuesCte;
12
11
  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
12
  const EntityGraphQLFilter_1 = require("../EntityGraphQLFilter");
17
13
  const EntityManager_1 = require("../EntityManager");
18
14
  const EntityMetadata_1 = require("../EntityMetadata");
19
15
  const HintTree_1 = require("../HintTree");
20
16
  const QueryParser_1 = require("../QueryParser");
21
- const QueryParser_collectionJoins_1 = require("../QueryParser.collectionJoins");
22
17
  const QueryVisitor_1 = require("../QueryVisitor");
23
18
  const keywords_1 = require("../keywords");
24
- const temporal_1 = require("../temporal");
25
- const temporalMappers_1 = require("../temporalMappers");
19
+ const normalizeHints_1 = require("../normalizeHints");
26
20
  const unnest_1 = require("../unnest");
27
21
  const utils_1 = require("../utils");
22
+ const fastWhereFilterHash_1 = require("./fastWhereFilterHash");
28
23
  exports.findOperation = "find";
29
24
  function findDataLoader(em, type, filter, hint) {
30
25
  const { where, ...opts } = filter;
@@ -33,28 +28,33 @@ function findDataLoader(em, type, filter, hint) {
33
28
  }
34
29
  const meta = (0, EntityMetadata_1.getMetadata)(type);
35
30
  const query = (0, QueryParser_1.parseFindQuery)(meta, where, opts);
31
+ const { checkLimit, findSettings } = em["prepareFind"](meta, exports.findOperation, query, {
32
+ ...opts,
33
+ limit: em.entityLimit,
34
+ });
35
+ const bindings = [];
36
+ collectValues(bindings, query);
37
+ const prepared = { filter, query, bindings, findSettings, checkLimit };
36
38
  const batchKey = getBatchKeyFromGenericStructure(meta, query);
37
- return em.getLoader(exports.findOperation,
39
+ return em
40
+ .getLoader(exports.findOperation,
38
41
  // It's unlikely we'll have simultaneous em.finds with the same WHERE clause structure
39
42
  // but lots of different load hints, and it'd be complicated to implement the preloading
40
43
  // in a way that doesn't naively over-fetch data (which our loadDataLoader does prevent,
41
44
  // but it's simpler b/c it's given exact ids to load), so for now just include the load
42
45
  // hint in the batch key.
43
- `${batchKey}-${JSON.stringify(hint)}`, async (queries) => {
46
+ `${batchKey}-${(0, normalizeHints_1.hintKey)(hint)}`, async (entries) => {
44
47
  // We're guaranteed that these queries all have the same structure
45
48
  // Don't bother with the CTE if there's only 1 query (or each query has exactly the same filter values)
46
- if (queries.length === 1) {
47
- const { where, ...opts } = queries[0];
48
- // We have to parseFindQuery queries[0], b/c our query variable may be captured from
49
- // a prior invocation that instantiated our dataloader instance.
50
- const query = (0, QueryParser_1.parseFindQuery)(meta, where, opts);
49
+ if (entries.length === 1) {
50
+ const { query, findSettings, checkLimit } = entries[0];
51
51
  // Maybe add preload joins
52
52
  const { preloader } = (0, EntityManager_1.getEmInternalApi)(em);
53
53
  const preloadHydrator = preloader && hint && preloader.addPreloading(meta, (0, HintTree_1.buildHintTree)(hint), query);
54
- const rows = await em["executeFind"](meta, exports.findOperation, query, opts);
54
+ const rows = await em["executePreparedFind"](meta, exports.findOperation, query, findSettings, checkLimit);
55
55
  const entities = em.hydrate(type, rows);
56
56
  preloadHydrator?.(rows, entities);
57
- return [entities];
57
+ return [filterDeletedEntities(em, entities)];
58
58
  }
59
59
  // WITH _find (tag, arg1, arg2) AS (
60
60
  // SELECT unnest($0::int[]), unnest($0::varchar[]), unnest($0::varchar[])
@@ -65,25 +65,17 @@ function findDataLoader(em, type, filter, hint) {
65
65
  // WHERE a.first_name = _find.arg0 OR a.last_name = _find.arg1
66
66
  // GROUP BY a.id
67
67
  // Build the list of 'arg1', 'arg2', ... strings
68
- const { where, ...options } = queries[0];
69
- const query = (0, QueryParser_1.parseFindQuery)((0, EntityMetadata_1.getMetadata)(type), where, options);
68
+ const { query, findSettings, checkLimit } = entries[0];
70
69
  const { preloader } = (0, EntityManager_1.getEmInternalApi)(em);
71
70
  const preloadJoins = preloader && hint && preloader.getPreloadJoins(meta, (0, HintTree_1.buildHintTree)(hint), query);
72
- // Let plugins see the pre-batched query AST
73
- const { checkLimit, findSettings } = em["prepareFind"](meta, exports.findOperation, query, {
74
- ...options,
75
- limit: em.entityLimit,
76
- });
77
71
  const argsColumns = collectAndReplaceArgs(query);
78
72
  argsColumns.unshift({ columnName: "tag", dbType: "int" });
73
+ const columnValues = createColumnValuesFromPrepared(argsColumns, entries);
79
74
  const query2 = {
80
75
  ...query,
81
76
  selects: ["array_agg(_find.tag) as _tags", ...query.selects],
82
77
  tables: [{ join: "cross", table: "_find", alias: "_find" }, ...query.tables],
83
- ctes: [
84
- (0, unnest_1.buildUnnestCte)("_find", argsColumns, createColumnValues(meta, argsColumns, queries, findSettings)),
85
- ...(query.ctes ?? []),
86
- ],
78
+ ctes: [(0, unnest_1.buildUnnestCte)("_find", argsColumns, columnValues), ...(query.ctes ?? [])],
87
79
  };
88
80
  if (preloadJoins) {
89
81
  query2.selects.push(...preloadJoins.flatMap((j) =>
@@ -93,14 +85,7 @@ function findDataLoader(em, type, filter, hint) {
93
85
  query2.tables.push(...preloadJoins.map((j) => j.join));
94
86
  }
95
87
  // Because we want to use `array_agg(tag)`, add `GROUP BY`s to the values we're selecting
96
- query2.groupBys = query2.selects
97
- .filter((s) => typeof s === "string")
98
- .filter((s) => !s.includes("array_agg") && !s.includes("CASE") && !s.includes(" as "))
99
- .map((s) => {
100
- // Make a liberal assumption that this is a `a.id` or `a_st0.id` string
101
- const alias = (0, QueryParser_1.parseAlias)(s);
102
- return { alias, column: "id" };
103
- });
88
+ query2.groupBys = buildGroupBys(query2.selects);
104
89
  // Also because of our `array_agg` group by, add any order bys to the group by
105
90
  const [primary] = (0, QueryParser_1.getTables)(query2);
106
91
  for (const { alias, column } of query2.orderBys) {
@@ -112,48 +97,45 @@ function findDataLoader(em, type, filter, hint) {
112
97
  const entities = em.hydrate(type, rows);
113
98
  preloadJoins?.forEach((j) => j.hydrator(rows, entities));
114
99
  // Make an empty array for each batched query, per the dataloader contract
115
- const results = queries.map(() => []);
100
+ const results = entries.map(() => []);
116
101
  // Then put each row into the tagged query it matched
117
102
  rows.forEach((row, i) => {
118
103
  const entity = entities[i];
119
- for (const tag of row._tags)
120
- results[tag].push(entity);
104
+ if (!entity.isDeletedEntity) {
105
+ for (const tag of row._tags)
106
+ results[tag].push(entity);
107
+ }
121
108
  delete row._tags;
122
109
  });
123
110
  return results;
124
111
  },
125
- // Our filter/order tuple is a complex object, so object-hash it to ensure caching works
126
- { cacheKeyFn: whereFilterHash });
112
+ // Our filter/order tuple is a complex object, so use a stable cache key to ensure caching works.
113
+ { cacheKeyFn: (entry) => whereFilterHash(entry.filter) })
114
+ .load(prepared);
127
115
  }
128
- const Temporal = (0, temporal_1.maybeRequireTemporal)()?.Temporal;
129
- // If a where clause includes an entity, object-hash cannot hash it, so just use the id.
130
- function replacer(v) {
131
- if ((0, Entity_1.isEntity)(v)) {
132
- // Use toString() instead of id so that new entities are kept separate, i.e. `Author#2`
133
- return v.toString();
134
- }
135
- else if ((0, Aliases_1.isAlias)(v)) {
136
- // Strip out `{ as: ...alias proxy... }` from the `em.find` inline conditions
137
- return "alias";
138
- }
139
- else if (Temporal) {
140
- if (v instanceof Temporal.ZonedDateTime) {
141
- return temporalMappers_1.zonedDateTimeMapper.toDb(v);
142
- }
143
- else if (v instanceof Temporal.PlainDateTime) {
144
- return temporalMappers_1.plainDateTimeMapper.toDb(v);
145
- }
146
- else if (v instanceof Temporal.PlainDate) {
147
- return temporalMappers_1.plainDateMapper.toDb(v);
148
- }
149
- else if (v instanceof Temporal.PlainTime) {
150
- return temporalMappers_1.plainTimeMapper.toDb(v);
116
+ function whereFilterHash(where) {
117
+ const key = (0, fastWhereFilterHash_1.fastWhereFilterHash)(where);
118
+ if (key === undefined)
119
+ throw new Error("fastWhereFilterHash could not serialize find filter");
120
+ return key;
121
+ }
122
+ /** Filters pending-delete entities in place to avoid allocating a replacement array for the common find path. */
123
+ function filterDeletedEntities(em, entities) {
124
+ // Most EMs never delete entities, so skip even the findIndex scan until a delete has happened.
125
+ if (!(0, EntityManager_1.getEmInternalApi)(em).hasAnyDeletes())
126
+ return entities;
127
+ const firstDeleted = entities.findIndex((entity) => entity.isDeletedEntity);
128
+ if (firstDeleted === -1)
129
+ return entities;
130
+ let writeIndex = firstDeleted;
131
+ for (let readIndex = firstDeleted + 1; readIndex < entities.length; readIndex++) {
132
+ const entity = entities[readIndex];
133
+ if (!entity.isDeletedEntity) {
134
+ entities[writeIndex++] = entity;
151
135
  }
152
136
  }
153
- return v;
154
- }
155
- function whereFilterHash(where) {
156
- return (0, object_hash_1.default)(where, { replacer, algorithm: "md5" });
137
+ entities.length = writeIndex;
138
+ return entities;
157
139
  }
158
140
  class ArgCounter {
159
141
  index = 0;
@@ -215,22 +197,15 @@ function rewriteToRawCondition(c, argsIndex) {
215
197
  bindings: [],
216
198
  };
217
199
  }
218
- function createColumnValues(meta, columns, queries, optimizeOptions = {}) {
200
+ /** Builds `_find` column values from already prepared queries. */
201
+ function createColumnValuesFromPrepared(columns, entries) {
219
202
  const columnValues = Array(columns.length);
220
203
  for (let i = 0; i < columns.length; i++)
221
204
  columnValues[i] = [];
222
- queries.forEach((filter, i) => {
223
- const { where, ...opts } = filter;
224
- // add this query's `tag` value
205
+ entries.forEach((entry, i) => {
225
206
  columnValues[0].push(i);
226
- const bindings = [];
227
- const parsed = (0, QueryParser_1.parseFindQuery)(meta, where, opts);
228
- // Make sure to call `optimizeCollectionJoins` so that our arg order matches conditions
229
- // that might have been moved into an EXISTS subquery.
230
- (0, QueryParser_collectionJoins_1.optimizeCollectionJoins)(parsed, optimizeOptions);
231
- collectValues(bindings, parsed);
232
- for (let j = 0; j < bindings.length; j++) {
233
- columnValues[j + 1].push(bindings[j]);
207
+ for (let j = 0; j < entry.bindings.length; j++) {
208
+ columnValues[j + 1].push(entry.bindings[j]);
234
209
  }
235
210
  });
236
211
  return columnValues;
@@ -252,6 +227,58 @@ function collectValues(bindings, query) {
252
227
  },
253
228
  });
254
229
  }
230
+ /** Returns true for select expressions that do not need to be represented in GROUP BY. */
231
+ function isAggregateSelect(select) {
232
+ return select.toLowerCase().includes("array_agg(");
233
+ }
234
+ /** Builds GROUP BYs for selected values, accounting for whole-row selects that are grouped by primary key. */
235
+ function buildGroupBys(selects) {
236
+ const sqlSelects = selects.map(selectSqlForGroupBy);
237
+ const wholeRowAliases = new Set(sqlSelects
238
+ .filter((select) => !isAggregateSelect(select) && stripSelectAlias(select).endsWith(".*"))
239
+ .map(QueryParser_1.parseAlias));
240
+ return sqlSelects
241
+ .filter((select) => !isAggregateSelect(select))
242
+ .filter((select) => !isCoveredByWholeRowGroupBy(select, wholeRowAliases))
243
+ .map((select) => groupBySelect(select));
244
+ }
245
+ /** Returns a SQL string for group-by analysis, until we support bindings in ParsedGroupBy. */
246
+ function selectSqlForGroupBy(select) {
247
+ if (typeof select === "string") {
248
+ return select;
249
+ }
250
+ throw new Error(`find batching does not support grouped selects with bindings: ${select.sql}`);
251
+ }
252
+ /** Builds a GROUP BY for a selected value so `array_agg(_find.tag)` can coexist with plugin-rewritten selects. */
253
+ function groupBySelect(select) {
254
+ const expression = stripSelectAlias(select);
255
+ if (expression.endsWith(".*")) {
256
+ return { alias: (0, QueryParser_1.parseAlias)(expression), column: "id" };
257
+ }
258
+ return { expression };
259
+ }
260
+ /** Removes a trailing SQL alias from a select expression, i.e. `(a.id) as id` -> `(a.id)`. */
261
+ function stripSelectAlias(select) {
262
+ const match = /^(.*)\s+as\s+[^\s]+$/i.exec(select);
263
+ return match?.[1] ?? select;
264
+ }
265
+ /** Returns true when an expression is functionally covered by an already-grouped whole-row alias. */
266
+ function isCoveredByWholeRowGroupBy(select, wholeRowAliases) {
267
+ const expression = stripSelectAlias(select);
268
+ if (expression.endsWith(".*")) {
269
+ return false;
270
+ }
271
+ const aliases = findSelectedAliases(expression);
272
+ return aliases.length > 0 && aliases.every((alias) => wholeRowAliases.has(alias));
273
+ }
274
+ /** Finds SQL aliases referenced as `alias.column` or `"alias".column`, i.e. `a.first_name` -> `a`. */
275
+ function findSelectedAliases(expression) {
276
+ const aliases = new Set();
277
+ for (const match of expression.matchAll(/(?:"([^"]+)"|([a-zA-Z_][\w]*))\./g)) {
278
+ aliases.add(match[1] ?? match[2]);
279
+ }
280
+ return [...aliases];
281
+ }
255
282
  /** Replaces all values with `*` so we can see the generic structure of the query. */
256
283
  function stripValues(query) {
257
284
  (0, QueryVisitor_1.visitConditions)(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>): DataLoader<FilterAndSettings<T>, string[]>;
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,UAAU,MAAM,YAAY,CAAC;AACpC,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;AAcjF,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,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CA2E5C"}
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"}
@@ -17,19 +17,21 @@ function findIdsDataLoader(em, type, filter) {
17
17
  }
18
18
  const meta = (0, EntityMetadata_1.getMetadata)(type);
19
19
  const query = (0, QueryParser_1.parseFindQuery)(meta, where, opts);
20
+ const { findSettings } = em["prepareFind"](meta, exports.findIdsOperation, query, { ...opts, limit: undefined });
21
+ const bindings = [];
22
+ (0, findDataLoader_1.collectValues)(bindings, query);
23
+ const prepared = { filter, query, bindings, findSettings };
20
24
  const batchKey = (0, findDataLoader_1.getBatchKeyFromGenericStructure)(meta, query);
21
- return em.getLoader(exports.findIdsOperation, batchKey, async (queries) => {
25
+ return em
26
+ .getLoader(exports.findIdsOperation, batchKey, async (entries) => {
22
27
  // We're guaranteed that these queries all have the same structure
23
28
  // Don't bother with the CTE if there's only 1 query (or each query has exactly the same filter values)
24
- if (queries.length === 1) {
25
- const { where, ...options } = queries[0];
26
- const meta = (0, EntityMetadata_1.getMetadata)(type);
27
- const query = (0, QueryParser_1.parseFindQuery)(meta, where, options);
29
+ if (entries.length === 1) {
30
+ const { query, findSettings } = entries[0];
28
31
  const primary = query.tables.find((t) => t.join === "primary") ?? (0, utils_1.fail)("No primary");
29
32
  query.selects = [`${(0, keywords_1.kq)(primary.alias)}.id as id`];
30
33
  query.orderBys = [{ alias: primary.alias, column: "id", order: "ASC" }];
31
- // explicitly pass limit: undefined to avoid executeFind applying the default entityLimit
32
- const rows = await em["executeFind"](meta, exports.findIdsOperation, query, { ...options, limit: undefined });
34
+ const rows = await em["executePreparedFind"](meta, exports.findIdsOperation, query, findSettings, false);
33
35
  return [rows.map((row) => (0, keys_1.keyToTaggedId)(meta, row.id))];
34
36
  }
35
37
  // WITH _find (tag, arg1, arg2) AS (
@@ -42,8 +44,7 @@ function findIdsDataLoader(em, type, filter) {
42
44
  // FROM author a WHERE a.first_name = _find.arg1 OR a.last_name = _find.arg2
43
45
  // ) _data
44
46
  // Build the list of 'arg1', 'arg2', ... strings
45
- const { where, ...options } = queries[0];
46
- const query = (0, QueryParser_1.parseFindQuery)((0, EntityMetadata_1.getMetadata)(type), where, options);
47
+ const { query, findSettings } = entries[0];
47
48
  const argsColumns = (0, findDataLoader_1.collectAndReplaceArgs)(query);
48
49
  argsColumns.unshift({ columnName: "tag", dbType: "int" });
49
50
  // We're not returning the entities, just selecting their IDs
@@ -57,20 +58,20 @@ function findIdsDataLoader(em, type, filter) {
57
58
  { join: "lateral", query, table: meta.tableName, alias: "_data", fromAlias: "_f" },
58
59
  ],
59
60
  // For each unique query, capture its filter values in `bindings` to populate the CTE _find table
60
- ctes: [(0, unnest_1.buildUnnestCte)("_find", argsColumns, (0, findDataLoader_1.createColumnValues)(meta, argsColumns, queries))],
61
+ ctes: [(0, unnest_1.buildUnnestCte)("_find", argsColumns, (0, findDataLoader_1.createColumnValuesFromPrepared)(argsColumns, entries))],
61
62
  orderBys: [],
62
63
  };
63
- // explicitly pass limit: undefined to avoid executeFind applying the default entityLimit
64
- const rows = await em["executeFind"](meta, exports.findIdsOperation, query2, { ...options, limit: undefined });
64
+ const rows = await em["executePreparedFind"](meta, exports.findIdsOperation, query2, findSettings, false);
65
65
  // Make an empty array for each batched query, per the dataloader contract
66
- const results = queries.map(() => []);
66
+ const results = entries.map(() => []);
67
67
  // Then put each row's ID into the tagged query it matched
68
68
  for (const row of rows) {
69
69
  results[row.tag].push((0, keys_1.keyToTaggedId)(meta, row.id));
70
70
  }
71
71
  return results;
72
72
  },
73
- // Our filter/order tuple is a complex object, so object-hash it to ensure caching works
74
- { cacheKeyFn: findDataLoader_1.whereFilterHash });
73
+ // Our filter/order tuple is a complex object, so use a stable cache key to ensure caching works.
74
+ { cacheKeyFn: (entry) => (0, findDataLoader_1.whereFilterHash)(entry.filter) })
75
+ .load(prepared);
75
76
  }
76
77
  //# sourceMappingURL=findIdsDataLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"findIdsDataLoader.js","sourceRoot":"","sources":["../../src/dataloaders/findIdsDataLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findIdsDataLoader.js","sourceRoot":"","sources":["../../src/dataloaders/findIdsDataLoader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"findOrCreateDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/findOrCreateDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAY,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAA4B,MAAM,kBAAkB,CAAC;AAI9F,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIpC,UAAU,eAAe,CAAC,CAAC,SAAS,MAAM;IACxC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CACxC;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EACrD,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACzB,WAAW,EAAE,SAAS,GAAG,SAAS,GACjC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAgGnC;AAED,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAgC5F"}
1
+ {"version":3,"file":"findOrCreateDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/findOrCreateDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAY,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAA4B,MAAM,kBAAkB,CAAC;AAI9F,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIpC,UAAU,eAAe,CAAC,CAAC,SAAS,MAAM;IACxC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CACxC;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EACrD,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACzB,WAAW,EAAE,SAAS,GAAG,SAAS,GACjC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CA8FnC;AAED,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAgC5F"}
@@ -66,11 +66,11 @@ function findOrCreateDataLoader(em, type, where, softDeletes) {
66
66
  return keys.map(() => entity);
67
67
  }
68
68
  // If we didn't find it in the EM, do the db query/em.create
69
- const entities = (await em.find(type,
69
+ const entities = await em.find(type,
70
70
  // Convert `publisher: undefined` --> `publisher: null`, and we need to make a copy anyway
71
71
  Object.fromEntries(Object.entries(where).map(([k, v]) => [k, v === undefined ? null : v])),
72
72
  // Always include soft-deleted rows so findOrCreate can resurrect them instead of creating duplicates.
73
- { softDeletes: "include" })).filter((e) => !e.isDeletedEntity);
73
+ { softDeletes: "include" });
74
74
  let entity;
75
75
  if (entities.length > 1) {
76
76
  throw new EntityManager_1.TooManyError(`Found more than one existing ${type.name} with ${whereAsString(where)}`);
@@ -87,7 +87,7 @@ function findOrCreateDataLoader(em, type, where, softDeletes) {
87
87
  }
88
88
  return keys.map(() => entity);
89
89
  },
90
- // Our filter tuple is a complex object, so object-hash it to ensure caching works
90
+ // Our filter tuple is a complex object, so use a stable cache key to ensure caching works.
91
91
  { cacheKeyFn: findDataLoader_1.whereFilterHash });
92
92
  }
93
93
  /** A simple in-memory match of `entity` against a mini/flat "WHERE clause" of `opts`. */
@@ -1 +1 @@
1
- {"version":3,"file":"findOrCreateDataLoader.js","sourceRoot":"","sources":["../../src/dataloaders/findOrCreateDataLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findOrCreateDataLoader.js","sourceRoot":"","sources":["../../src/dataloaders/findOrCreateDataLoader.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
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
  import { LoadHint } from "../loadHints";
6
5
  /** Returns a dataloader that batches paginated finds by applying pagination inside each lateral subquery. */
7
- export declare function findPaginatedDataLoader<T extends Entity>(em: EntityManager, type: MaybeAbstractEntityConstructor<T>, filter: FilterAndSettings<T>, hint: LoadHint<T> | undefined): DataLoader<FilterAndSettings<T>, T[]>;
6
+ export declare function findPaginatedDataLoader<T extends Entity>(em: EntityManager, type: MaybeAbstractEntityConstructor<T>, filter: FilterAndSettings<T>, hint: LoadHint<T> | undefined): Promise<T[]>;
8
7
  //# sourceMappingURL=findPaginatedDataLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"findPaginatedDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/findPaginatedDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAoB,MAAM,kBAAkB,CAAC;AAGnG,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAWxC,6GAA6G;AAC7G,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EACtD,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,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAgFvC"}
1
+ {"version":3,"file":"findPaginatedDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/findPaginatedDataLoader.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,EAAoB,MAAM,kBAAkB,CAAC;AAGnG,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAuBxC,6GAA6G;AAC7G,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EACtD,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,CAuFd"}