linkgress-orm 0.4.75 → 0.4.78

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 (44) hide show
  1. package/dist/config/linkgress-config.d.ts +23 -0
  2. package/dist/config/linkgress-config.d.ts.map +1 -1
  3. package/dist/config/linkgress-config.js +29 -0
  4. package/dist/config/linkgress-config.js.map +1 -1
  5. package/dist/entity/db-context.d.ts +9 -0
  6. package/dist/entity/db-context.d.ts.map +1 -1
  7. package/dist/entity/db-context.js +76 -65
  8. package/dist/entity/db-context.js.map +1 -1
  9. package/dist/entity/entity-builder.d.ts.map +1 -1
  10. package/dist/entity/entity-builder.js +12 -1
  11. package/dist/entity/entity-builder.js.map +1 -1
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +6 -4
  15. package/dist/index.js.map +1 -1
  16. package/dist/query/collection-strategy.interface.d.ts +14 -0
  17. package/dist/query/collection-strategy.interface.d.ts.map +1 -1
  18. package/dist/query/conditions.d.ts +36 -0
  19. package/dist/query/conditions.d.ts.map +1 -1
  20. package/dist/query/conditions.js +78 -10
  21. package/dist/query/conditions.js.map +1 -1
  22. package/dist/query/lateral-sql-cache.d.ts +53 -0
  23. package/dist/query/lateral-sql-cache.d.ts.map +1 -0
  24. package/dist/query/lateral-sql-cache.js +63 -0
  25. package/dist/query/lateral-sql-cache.js.map +1 -0
  26. package/dist/query/query-builder.d.ts +18 -1
  27. package/dist/query/query-builder.d.ts.map +1 -1
  28. package/dist/query/query-builder.js +209 -64
  29. package/dist/query/query-builder.js.map +1 -1
  30. package/dist/query/query-utils.d.ts +1 -0
  31. package/dist/query/query-utils.d.ts.map +1 -1
  32. package/dist/query/query-utils.js +20 -0
  33. package/dist/query/query-utils.js.map +1 -1
  34. package/dist/query/strategies/cte-collection-strategy.d.ts.map +1 -1
  35. package/dist/query/strategies/cte-collection-strategy.js +105 -104
  36. package/dist/query/strategies/cte-collection-strategy.js.map +1 -1
  37. package/dist/query/strategies/lateral-collection-strategy.d.ts +28 -3
  38. package/dist/query/strategies/lateral-collection-strategy.d.ts.map +1 -1
  39. package/dist/query/strategies/lateral-collection-strategy.js +227 -230
  40. package/dist/query/strategies/lateral-collection-strategy.js.map +1 -1
  41. package/dist/query/strategies/temptable-collection-strategy.d.ts.map +1 -1
  42. package/dist/query/strategies/temptable-collection-strategy.js +85 -84
  43. package/dist/query/strategies/temptable-collection-strategy.js.map +1 -1
  44. package/package.json +80 -80
@@ -42,4 +42,5 @@ export declare function getQualifiedFieldName(fieldRef: any): string;
42
42
  * Get table alias from field ref
43
43
  */
44
44
  export declare function getTableAlias(fieldRef: any): string | undefined;
45
+ export declare function collectionMarkerPattern(targetTable: string, withDot: boolean): RegExp;
45
46
  //# sourceMappingURL=query-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-utils.d.ts","sourceRoot":"","sources":["../../src/query/query-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1E;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAO5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAM7H;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,GAAG;IAAE,aAAa,EAAE,IAAI,CAAA;CAAE,CAE/F;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,aAAa,EAAE,YAAY,EAAE,EAC7B,YAAY,GAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,MAA4B,EAC7D,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,MAAM,GAAG,SAAS,GAC/C,IAAI,CA2CN;AASD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,CAI3D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAE/D"}
1
+ {"version":3,"file":"query-utils.d.ts","sourceRoot":"","sources":["../../src/query/query-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1E;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAO5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAM7H;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,GAAG;IAAE,aAAa,EAAE,IAAI,CAAA;CAAE,CAE/F;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,aAAa,EAAE,YAAY,EAAE,EAC7B,YAAY,GAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,MAA4B,EAC7D,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,MAAM,GAAG,SAAS,GAC/C,IAAI,CA2CN;AASD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,CAI3D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAE/D;AAaD,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAQrF"}
@@ -6,6 +6,7 @@ exports.isAggregateFieldRef = isAggregateFieldRef;
6
6
  exports.parseOrderBy = parseOrderBy;
7
7
  exports.getQualifiedFieldName = getQualifiedFieldName;
8
8
  exports.getTableAlias = getTableAlias;
9
+ exports.collectionMarkerPattern = collectionMarkerPattern;
9
10
  /**
10
11
  * Type guard to check if a value is a FieldRef
11
12
  */
@@ -100,4 +101,23 @@ function getQualifiedFieldName(fieldRef) {
100
101
  function getTableAlias(fieldRef) {
101
102
  return fieldRef.__tableAlias;
102
103
  }
104
+ /**
105
+ * Cached `"__collection_<table>__"` marker matchers. Collection mock items stamp their column
106
+ * refs with this marker alias (see `CollectionQueryBuilder.createMockItem`) and every strategy
107
+ * rewrites it back to the real inner alias while building SQL — for every field expression,
108
+ * WHERE and ORDER BY of every collection, on every build. Constructing the RegExp per call was
109
+ * measurable on wide projections; the pattern is a pure function of the table name, so it is
110
+ * built once. `withDot` selects the `"marker".` form (lateral strategy: only qualified column
111
+ * references) versus the bare `"marker"` form (CTE / temp-table strategies and filter joins).
112
+ */
113
+ const collectionMarkerPatterns = new Map();
114
+ function collectionMarkerPattern(targetTable, withDot) {
115
+ const key = withDot ? `${targetTable}.` : targetTable;
116
+ let pattern = collectionMarkerPatterns.get(key);
117
+ if (!pattern) {
118
+ pattern = new RegExp(`"__collection_${targetTable}__"${withDot ? '\\.' : ''}`, 'g');
119
+ collectionMarkerPatterns.set(key, pattern);
120
+ }
121
+ return pattern;
122
+ }
103
123
  //# sourceMappingURL=query-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-utils.js","sourceRoot":"","sources":["../../src/query/query-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-utils.js","sourceRoot":"","sources":["../../src/query/query-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cte-collection-strategy.d.ts","sourceRoot":"","sources":["../../../src/query/strategies/cte-collection-strategy.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAG5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,qBAAsB,YAAW,mBAAmB;IAC/D,OAAO,IAAI,sBAAsB;IAIjC,iBAAiB,IAAI,OAAO;IAK5B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,iBAAiB;IAgBzB,gBAAgB,CACd,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,YAAY,GACpB,2BAA2B;IAqD9B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAezB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAyG7B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,0BAA0B;IAuGlC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,kCAAkC;IAmF1C;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAsF7B;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAgE1C;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA+D9B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;CAwC/B"}
1
+ {"version":3,"file":"cte-collection-strategy.d.ts","sourceRoot":"","sources":["../../../src/query/strategies/cte-collection-strategy.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAG5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,qBAAsB,YAAW,mBAAmB;IAC/D,OAAO,IAAI,sBAAsB;IAIjC,iBAAiB,IAAI,OAAO;IAK5B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,iBAAiB;IAgBzB,gBAAgB,CACd,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,YAAY,GACpB,2BAA2B;IAqD9B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAezB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAyG7B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,0BAA0B;IAuGlC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,kCAAkC;IAmF1C;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAsF7B;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAgE1C;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA+D9B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;CAwC/B"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CteCollectionStrategy = void 0;
4
+ const query_utils_1 = require("../query-utils");
4
5
  const join_utils_1 = require("../join-utils");
5
6
  /**
6
7
  * CTE-based collection strategy
@@ -214,7 +215,7 @@ class CteCollectionStrategy {
214
215
  const rewriteCollectionMarker = (expr) => {
215
216
  if (!expr)
216
217
  return expr;
217
- const markerPattern = new RegExp(`"__collection_${targetTable}__"`, 'g');
218
+ const markerPattern = (0, query_utils_1.collectionMarkerPattern)(targetTable, false);
218
219
  return expr.replace(markerPattern, `"${targetTable}"`);
219
220
  };
220
221
  // Collect all leaf fields for the SELECT clause
@@ -266,21 +267,21 @@ class CteCollectionStrategy {
266
267
  const orderBySQL = orderByClause ? `ORDER BY ${orderByClause}` : '';
267
268
  // Build the json_agg ORDER BY clause (uses aliases since it operates on subquery output)
268
269
  const jsonAggOrderBy = orderByClauseAlias ? ` ORDER BY ${orderByClauseAlias}` : '';
269
- const cteSQL = `
270
- SELECT
271
- "__fk_${foreignKey}" as parent_id,
272
- json_agg(
273
- ${jsonbObjectExpr}${jsonAggOrderBy}
274
- ) as data
275
- FROM (
276
- SELECT ${distinctClause}${allSelectFields.join(', ')}
277
- FROM "${targetTable}"
278
- ${navJoinsSQL}
279
- ${nestedCteJoinsSQL}
280
- ${whereSQL}
281
- ${orderBySQL}
282
- ) sub
283
- GROUP BY "__fk_${foreignKey}"
270
+ const cteSQL = `
271
+ SELECT
272
+ "__fk_${foreignKey}" as parent_id,
273
+ json_agg(
274
+ ${jsonbObjectExpr}${jsonAggOrderBy}
275
+ ) as data
276
+ FROM (
277
+ SELECT ${distinctClause}${allSelectFields.join(', ')}
278
+ FROM "${targetTable}"
279
+ ${navJoinsSQL}
280
+ ${nestedCteJoinsSQL}
281
+ ${whereSQL}
282
+ ${orderBySQL}
283
+ ) sub
284
+ GROUP BY "__fk_${foreignKey}"
284
285
  `.trim();
285
286
  return cteSQL;
286
287
  }
@@ -309,7 +310,7 @@ GROUP BY "__fk_${foreignKey}"
309
310
  const rewriteCollectionMarker = (expr) => {
310
311
  if (!expr)
311
312
  return expr;
312
- const markerPattern = new RegExp(`"__collection_${targetTable}__"`, 'g');
313
+ const markerPattern = (0, query_utils_1.collectionMarkerPattern)(targetTable, false);
313
314
  return expr.replace(markerPattern, `"${targetTable}"`);
314
315
  };
315
316
  // Collect all leaf fields for the SELECT clause
@@ -368,21 +369,21 @@ GROUP BY "__fk_${foreignKey}"
368
369
  }
369
370
  // Build ORDER BY for ROW_NUMBER() - use the alias clause (property names) since we're referencing aliased columns from inner_sub
370
371
  const rowNumberOrderBy = orderByClauseAlias || `"__fk_${foreignKey}"`;
371
- const cteSQL = `
372
- SELECT
373
- "__fk_${foreignKey}" as parent_id,
374
- ${jsonbObjectExpr} as data
375
- FROM (
376
- SELECT *, ROW_NUMBER() OVER (PARTITION BY "__fk_${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
377
- FROM (
378
- SELECT ${distinctClause}${innerSelectFields.join(', ')}
379
- FROM "${targetTable}"
380
- ${navJoinsSQL}
381
- ${nestedCteJoinsSQL}
382
- ${whereSQL}
383
- ) inner_sub
384
- ) sub
385
- WHERE "__rn" = 1
372
+ const cteSQL = `
373
+ SELECT
374
+ "__fk_${foreignKey}" as parent_id,
375
+ ${jsonbObjectExpr} as data
376
+ FROM (
377
+ SELECT *, ROW_NUMBER() OVER (PARTITION BY "__fk_${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
378
+ FROM (
379
+ SELECT ${distinctClause}${innerSelectFields.join(', ')}
380
+ FROM "${targetTable}"
381
+ ${navJoinsSQL}
382
+ ${nestedCteJoinsSQL}
383
+ ${whereSQL}
384
+ ) inner_sub
385
+ ) sub
386
+ WHERE "__rn" = 1
386
387
  `.trim();
387
388
  return cteSQL;
388
389
  }
@@ -404,7 +405,7 @@ WHERE "__rn" = 1
404
405
  const { targetTable, foreignKey, orderByClause, limitValue, offsetValue, foreignKeyTableAlias } = config;
405
406
  // Helper to rewrite the collection marker alias to the actual table name
406
407
  const rewriteCollectionMarker = (expr) => {
407
- const markerPattern = new RegExp(`"__collection_${targetTable}__"`, 'g');
408
+ const markerPattern = (0, query_utils_1.collectionMarkerPattern)(targetTable, false);
408
409
  return expr.replace(markerPattern, `"${targetTable}"`);
409
410
  };
410
411
  // CTE strategy uses selectorNavigationJoins for joins within the collection's selector.
@@ -446,24 +447,24 @@ WHERE "__rn" = 1
446
447
  // Only OFFSET (no LIMIT)
447
448
  rowNumberFilter = `WHERE "__rn" > ${offset}`;
448
449
  }
449
- const cteSQL = `
450
- SELECT
451
- "__fk_${foreignKey}" as parent_id,
452
- json_agg(
453
- ${jsonbObjectExpr}
454
- ) as data
455
- FROM (
456
- SELECT *, ROW_NUMBER() OVER (PARTITION BY "__fk_${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
457
- FROM (
458
- SELECT ${distinctClause}${innerSelectFields.join(', ')}
459
- FROM "${targetTable}"
460
- ${navJoinsSQL}
461
- ${nestedCteJoinsSQL}
462
- ${whereSQL}
463
- ) inner_sub
464
- ) sub
465
- ${rowNumberFilter}
466
- GROUP BY "__fk_${foreignKey}"
450
+ const cteSQL = `
451
+ SELECT
452
+ "__fk_${foreignKey}" as parent_id,
453
+ json_agg(
454
+ ${jsonbObjectExpr}
455
+ ) as data
456
+ FROM (
457
+ SELECT *, ROW_NUMBER() OVER (PARTITION BY "__fk_${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
458
+ FROM (
459
+ SELECT ${distinctClause}${innerSelectFields.join(', ')}
460
+ FROM "${targetTable}"
461
+ ${navJoinsSQL}
462
+ ${nestedCteJoinsSQL}
463
+ ${whereSQL}
464
+ ) inner_sub
465
+ ) sub
466
+ ${rowNumberFilter}
467
+ GROUP BY "__fk_${foreignKey}"
467
468
  `.trim();
468
469
  return cteSQL;
469
470
  }
@@ -482,7 +483,7 @@ GROUP BY "__fk_${foreignKey}"
482
483
  const rewriteCollectionMarker = (expr) => {
483
484
  if (!expr)
484
485
  return expr;
485
- const markerPattern = new RegExp(`"__collection_${targetTable}__"`, 'g');
486
+ const markerPattern = (0, query_utils_1.collectionMarkerPattern)(targetTable, false);
486
487
  return expr.replace(markerPattern, `"${targetTable}"`);
487
488
  };
488
489
  // Build WHERE clause (rewrite collection markers; AND with any literal
@@ -524,23 +525,23 @@ GROUP BY "__fk_${foreignKey}"
524
525
  const fkExpression = (foreignKeyTableAlias || hasNavigationJoins)
525
526
  ? `"${fkTable}"."${foreignKey}"`
526
527
  : `"${foreignKey}"`;
527
- const cteSQL = `
528
- SELECT
529
- "__fk_${foreignKey}" as parent_id,
530
- ${config.useJsonArrayAggregation ? 'json_agg' : 'array_agg'}(
531
- "${arrayField}"${arrayAggOrderBy}
532
- ) as data
533
- FROM (
534
- SELECT ${distinctClause}"__fk_${foreignKey}", "${arrayField}"
535
- FROM (
536
- SELECT ${fkExpression} as "__fk_${foreignKey}", ${fieldExpression} as "${arrayField}"
537
- FROM "${targetTable}"
538
- ${navJoinsSQL}
539
- ${whereSQL}
540
- ${orderBySQL}
541
- ) inner_sub
542
- ) sub
543
- GROUP BY "__fk_${foreignKey}"
528
+ const cteSQL = `
529
+ SELECT
530
+ "__fk_${foreignKey}" as parent_id,
531
+ ${config.useJsonArrayAggregation ? 'json_agg' : 'array_agg'}(
532
+ "${arrayField}"${arrayAggOrderBy}
533
+ ) as data
534
+ FROM (
535
+ SELECT ${distinctClause}"__fk_${foreignKey}", "${arrayField}"
536
+ FROM (
537
+ SELECT ${fkExpression} as "__fk_${foreignKey}", ${fieldExpression} as "${arrayField}"
538
+ FROM "${targetTable}"
539
+ ${navJoinsSQL}
540
+ ${whereSQL}
541
+ ${orderBySQL}
542
+ ) inner_sub
543
+ ) sub
544
+ GROUP BY "__fk_${foreignKey}"
544
545
  `.trim();
545
546
  return cteSQL;
546
547
  }
@@ -580,23 +581,23 @@ GROUP BY "__fk_${foreignKey}"
580
581
  else {
581
582
  rowNumberFilter = `WHERE "__rn" > ${offset}`;
582
583
  }
583
- const cteSQL = `
584
- SELECT
585
- "__fk_${foreignKey}" as parent_id,
586
- array_agg(
587
- "${arrayField}"
588
- ) as data
589
- FROM (
590
- SELECT *, ROW_NUMBER() OVER (PARTITION BY "__fk_${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
591
- FROM (
592
- SELECT ${distinctClause}${fkExpression} as "__fk_${foreignKey}", ${fieldExpression} as "${arrayField}"
593
- FROM "${targetTable}"
594
- ${navJoinsSQL}
595
- ${whereSQL}
596
- ) inner_sub
597
- ) sub
598
- ${rowNumberFilter}
599
- GROUP BY "__fk_${foreignKey}"
584
+ const cteSQL = `
585
+ SELECT
586
+ "__fk_${foreignKey}" as parent_id,
587
+ array_agg(
588
+ "${arrayField}"
589
+ ) as data
590
+ FROM (
591
+ SELECT *, ROW_NUMBER() OVER (PARTITION BY "__fk_${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
592
+ FROM (
593
+ SELECT ${distinctClause}${fkExpression} as "__fk_${foreignKey}", ${fieldExpression} as "${arrayField}"
594
+ FROM "${targetTable}"
595
+ ${navJoinsSQL}
596
+ ${whereSQL}
597
+ ) inner_sub
598
+ ) sub
599
+ ${rowNumberFilter}
600
+ GROUP BY "__fk_${foreignKey}"
600
601
  `.trim();
601
602
  return cteSQL;
602
603
  }
@@ -610,7 +611,7 @@ GROUP BY "__fk_${foreignKey}"
610
611
  const rewriteCollectionMarker = (expr) => {
611
612
  if (!expr)
612
613
  return expr;
613
- const markerPattern = new RegExp(`"__collection_${targetTable}__"`, 'g');
614
+ const markerPattern = (0, query_utils_1.collectionMarkerPattern)(targetTable, false);
614
615
  return expr.replace(markerPattern, `"${targetTable}"`);
615
616
  };
616
617
  // Build WHERE clause (rewrite collection markers; AND with any literal
@@ -646,14 +647,14 @@ GROUP BY "__fk_${foreignKey}"
646
647
  default:
647
648
  throw new Error(`Unknown aggregation type: ${aggregationType}`);
648
649
  }
649
- const cteSQL = `
650
- SELECT
651
- ${fkRef} as parent_id,
652
- ${aggregateExpression} as data
653
- FROM "${targetTable}"
654
- ${navJoinsSQL}
655
- ${whereSQL}
656
- GROUP BY ${fkRef}
650
+ const cteSQL = `
651
+ SELECT
652
+ ${fkRef} as parent_id,
653
+ ${aggregateExpression} as data
654
+ FROM "${targetTable}"
655
+ ${navJoinsSQL}
656
+ ${whereSQL}
657
+ GROUP BY ${fkRef}
657
658
  `.trim();
658
659
  return cteSQL;
659
660
  }
@@ -668,7 +669,7 @@ GROUP BY ${fkRef}
668
669
  const rewriteCollectionMarker = (expr) => {
669
670
  if (!expr)
670
671
  return expr;
671
- const markerPattern = new RegExp(`"__collection_${targetTable}__"`, 'g');
672
+ const markerPattern = (0, query_utils_1.collectionMarkerPattern)(targetTable, false);
672
673
  return expr.replace(markerPattern, `"${targetTable}"`);
673
674
  };
674
675
  // Build WHERE clause (rewrite collection markers; AND with any literal
@@ -681,14 +682,14 @@ GROUP BY ${fkRef}
681
682
  const fkRef = foreignKeyTableAlias
682
683
  ? `"${foreignKeyTableAlias}"."${foreignKey}"`
683
684
  : `"${foreignKey}"`;
684
- const cteSQL = `
685
- SELECT
686
- ${fkRef} as parent_id,
687
- true as data
688
- FROM "${targetTable}"
689
- ${navJoinsSQL}
690
- ${whereSQL}
691
- GROUP BY ${fkRef}
685
+ const cteSQL = `
686
+ SELECT
687
+ ${fkRef} as parent_id,
688
+ true as data
689
+ FROM "${targetTable}"
690
+ ${navJoinsSQL}
691
+ ${whereSQL}
692
+ GROUP BY ${fkRef}
692
693
  `.trim();
693
694
  return cteSQL;
694
695
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cte-collection-strategy.js","sourceRoot":"","sources":["../../../src/query/strategies/cte-collection-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cte-collection-strategy.js","sourceRoot":"","sources":["../../../src/query/strategies/cte-collection-strategy.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,14 @@
1
1
  import { ICollectionStrategy, CollectionStrategyType, CollectionAggregationConfig, CollectionAggregationResult } from '../collection-strategy.interface';
2
2
  import { QueryContext } from '../query-builder';
3
+ /**
4
+ * The LateralSqlCache key of an aggregation: every input `LateralCollectionStrategy.render` and
5
+ * its helpers read, in order — the alias inputs (counter, relation, tables), the correlation
6
+ * columns, the clause TEXT (which already carries the `$n` placeholder numbering), the scalar
7
+ * flags and limits, both navigation-join lists with their alias-map resolution, and the
8
+ * projection. Parameter VALUES never enter the strategy and never enter the key. Built by plain
9
+ * concatenation (a rope V8 flattens once, on the lookup) — cheaper than an array join.
10
+ */
11
+ export declare const lateralShapeKey: (config: CollectionAggregationConfig, context: QueryContext) => string;
3
12
  /**
4
13
  * LATERAL JOIN-based collection strategy
5
14
  *
@@ -57,6 +66,8 @@ export declare class LateralCollectionStrategy implements ICollectionStrategy {
57
66
  */
58
67
  private buildParentCorrelation;
59
68
  buildAggregation(config: CollectionAggregationConfig, context: QueryContext): CollectionAggregationResult;
69
+ /** The uncached rendering behind {@link buildAggregation}. */
70
+ private render;
60
71
  /**
61
72
  * Check if we can use a correlated subquery instead of LATERAL
62
73
  * This is more efficient for simple cases without LIMIT/OFFSET/ORDER BY
@@ -69,10 +80,24 @@ export declare class LateralCollectionStrategy implements ICollectionStrategy {
69
80
  */
70
81
  private buildCorrelatedSubqueryAggregation;
71
82
  /**
72
- * Helper to collect nested CTE/LATERAL joins from selected fields
73
- * These are joins to CTEs or LATERAL subqueries created for nested collections
83
+ * Rewrites the collection marker alias (`"__collection_<table>__".`) to the lateral's inner
84
+ * alias. The regex pass runs only when the marker is present at all.
85
+ */
86
+ private rewriteMarker;
87
+ /**
88
+ * One select-list entry for a leaf field. A bare quoted column (`"col"`, no dot, no inner
89
+ * quote) is qualified with the inner alias; anything else has the marker rewritten and is
90
+ * aliased unless it already renders as exactly `"<alias>"`.
91
+ */
92
+ private renderLeafSelect;
93
+ /**
94
+ * Renders the selected fields in ONE recursive pass: returns the `json_build_object(...)` text
95
+ * of this level and appends the flattened inner select list and the nested lateral joins to
96
+ * `out` (same order as the three separate walks this replaces — depth first, own join before
97
+ * the nested ones). No intermediate arrays: the select list of a wide collection projection was
98
+ * three allocations per field and three joins per statement.
74
99
  */
75
- private collectNestedCteJoins;
100
+ private renderFields;
76
101
  /**
77
102
  * Build navigation JOINs SQL for multi-level navigation in collection queries
78
103
  */
@@ -1 +1 @@
1
- {"version":3,"file":"lateral-collection-strategy.d.ts","sourceRoot":"","sources":["../../../src/query/strategies/lateral-collection-strategy.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAG5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE,OAAO,IAAI,sBAAsB;IAIjC,iBAAiB,IAAI,OAAO;IAK5B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IAa9B,gBAAgB,CACd,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,YAAY,GACpB,2BAA2B;IAgE9B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAsBhC;;;;OAIG;IACH,OAAO,CAAC,kCAAkC;IAyH1C;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;;;;;;OAOG;IACH,OAAO,CAAC,6BAA6B;IAwDrC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgJ7B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAiHlC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqF7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAoE/B"}
1
+ {"version":3,"file":"lateral-collection-strategy.d.ts","sourceRoot":"","sources":["../../../src/query/strategies/lateral-collection-strategy.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAG5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA4ChD;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,2BAA2B,EAAE,SAAS,YAAY,KAAG,MAc5F,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE,OAAO,IAAI,sBAAsB;IAIjC,iBAAiB,IAAI,OAAO;IAK5B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IAa9B,gBAAgB,CACd,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,YAAY,GACpB,2BAA2B;IAqC9B,8DAA8D;IAC9D,OAAO,CAAC,MAAM;IAmEd;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAsBhC;;;;OAIG;IACH,OAAO,CAAC,kCAAkC;IA4H1C;;;OAGG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAqBpB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;;;;;;OAOG;IACH,OAAO,CAAC,6BAA6B;IA0DrC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6D7B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IA+ClC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwF7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAuE/B"}