linkgress-orm 0.4.75 → 0.4.76

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.
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LateralCollectionStrategy = void 0;
4
+ const query_utils_1 = require("../query-utils");
4
5
  const join_utils_1 = require("../join-utils");
5
6
  /**
6
7
  * LATERAL JOIN-based collection strategy
@@ -164,7 +165,10 @@ class LateralCollectionStrategy {
164
165
  // Helper to rewrite expressions that reference the collection's table to use inner alias
165
166
  const rewriteTableReference = (expression) => {
166
167
  // Replace the special marker alias `"__collection_tableName__".` with `"innerTableAlias".`
167
- const markerPattern = new RegExp(`"__collection_${targetTable}__"\\.`, 'g');
168
+ if (!expression.includes('"__collection_')) {
169
+ return expression; // nothing to rewrite — skip the regex pass entirely
170
+ }
171
+ const markerPattern = (0, query_utils_1.collectionMarkerPattern)(targetTable, true);
168
172
  return expression.replace(markerPattern, `"${innerTableAlias}".`);
169
173
  };
170
174
  // Build navigation JOINs for multi-level navigation (selector joins only)
@@ -198,24 +202,24 @@ class LateralCollectionStrategy {
198
202
  // Pattern: (SELECT array_agg(x) FROM (SELECT DISTINCT x FROM ...) sub)
199
203
  // This is more efficient than array_agg(DISTINCT x) which forces a sort
200
204
  if (isDistinct) {
201
- subquerySQL = `(SELECT COALESCE(${arrayAggFn}("${arrayField}"), ${defaultValue})
202
- FROM (SELECT DISTINCT ${fieldExpression} as "${arrayField}"
203
- FROM "${targetTable}" "${innerTableAlias}"
204
- ${navJoinsSQL}
205
+ subquerySQL = `(SELECT COALESCE(${arrayAggFn}("${arrayField}"), ${defaultValue})
206
+ FROM (SELECT DISTINCT ${fieldExpression} as "${arrayField}"
207
+ FROM "${targetTable}" "${innerTableAlias}"
208
+ ${navJoinsSQL}
205
209
  WHERE ${whereSQL}) "sq")`;
206
210
  }
207
211
  else {
208
- subquerySQL = `(SELECT COALESCE(${arrayAggFn}(${fieldExpression}), ${defaultValue})
209
- FROM "${targetTable}" "${innerTableAlias}"
210
- ${navJoinsSQL}
212
+ subquerySQL = `(SELECT COALESCE(${arrayAggFn}(${fieldExpression}), ${defaultValue})
213
+ FROM "${targetTable}" "${innerTableAlias}"
214
+ ${navJoinsSQL}
211
215
  WHERE ${whereSQL})`;
212
216
  }
213
217
  }
214
218
  else if (aggregationType === 'exists') {
215
219
  // EXISTS as correlated subquery: (SELECT EXISTS(SELECT 1 FROM ... WHERE ...))
216
- subquerySQL = `(SELECT EXISTS(SELECT 1
217
- FROM "${targetTable}" "${innerTableAlias}"
218
- ${navJoinsSQL}
220
+ subquerySQL = `(SELECT EXISTS(SELECT 1
221
+ FROM "${targetTable}" "${innerTableAlias}"
222
+ ${navJoinsSQL}
219
223
  WHERE ${whereSQL}))`;
220
224
  }
221
225
  else {
@@ -243,9 +247,9 @@ WHERE ${whereSQL}))`;
243
247
  throw new Error(`Unknown aggregation type: ${aggregationType}`);
244
248
  }
245
249
  // Build correlated subquery for scalar aggregation
246
- subquerySQL = `(SELECT COALESCE(${aggregateSql}, ${defaultValue})
247
- FROM "${targetTable}" "${innerTableAlias}"
248
- ${navJoinsSQL}
250
+ subquerySQL = `(SELECT COALESCE(${aggregateSql}, ${defaultValue})
251
+ FROM "${targetTable}" "${innerTableAlias}"
252
+ ${navJoinsSQL}
249
253
  WHERE ${whereSQL})`;
250
254
  }
251
255
  // For correlated subquery, the select expression IS the subquery
@@ -402,7 +406,10 @@ WHERE ${whereSQL})`;
402
406
  // Replace the special marker alias `"__collection_tableName__".` with `"innerTableAlias".`
403
407
  // This marker is set in CollectionQueryBuilder.createMockItem() to distinguish
404
408
  // collection references from outer table references when both target the same table
405
- const markerPattern = new RegExp(`"__collection_${targetTable}__"\\.`, 'g');
409
+ if (!expression.includes('"__collection_')) {
410
+ return expression; // nothing to rewrite — skip the regex pass entirely
411
+ }
412
+ const markerPattern = (0, query_utils_1.collectionMarkerPattern)(targetTable, true);
406
413
  return expression.replace(markerPattern, `"${innerTableAlias}".`);
407
414
  };
408
415
  // Build the subquery SELECT fields (no foreign key needed since we correlate with parent)
@@ -464,19 +471,19 @@ WHERE ${whereSQL})`;
464
471
  // 1. The inner subquery already applies ORDER BY before LIMIT/OFFSET
465
472
  // 2. Column aliases in the subquery may differ from original column names
466
473
  // The order is preserved from the inner query's ORDER BY
467
- const lateralSQL = `
468
- SELECT json_agg(
469
- ${jsonbObjectExpr}
470
- ) as data
471
- FROM (
472
- SELECT ${distinctClause}${allSelectFields.join(', ')}
473
- FROM "${targetTable}" "${innerTableAlias}"
474
- ${navJoinsSQL}
475
- ${nestedCteJoinsSQL}
476
- ${whereSQL}
477
- ${orderBySQL}
478
- ${limitOffsetClause}
479
- ) sub
474
+ const lateralSQL = `
475
+ SELECT json_agg(
476
+ ${jsonbObjectExpr}
477
+ ) as data
478
+ FROM (
479
+ SELECT ${distinctClause}${allSelectFields.join(', ')}
480
+ FROM "${targetTable}" "${innerTableAlias}"
481
+ ${navJoinsSQL}
482
+ ${nestedCteJoinsSQL}
483
+ ${whereSQL}
484
+ ${orderBySQL}
485
+ ${limitOffsetClause}
486
+ ) sub
480
487
  `.trim();
481
488
  return lateralSQL;
482
489
  }
@@ -522,7 +529,10 @@ FROM (
522
529
  // Helper to rewrite expressions that reference the collection's table to use inner alias
523
530
  const rewriteTableReference = (expression) => {
524
531
  // Replace the special marker alias `"__collection_tableName__".` with `"innerTableAlias".`
525
- const markerPattern = new RegExp(`"__collection_${targetTable}__"\\.`, 'g');
532
+ if (!expression.includes('"__collection_')) {
533
+ return expression; // nothing to rewrite — skip the regex pass entirely
534
+ }
535
+ const markerPattern = (0, query_utils_1.collectionMarkerPattern)(targetTable, true);
526
536
  return expression.replace(markerPattern, `"${innerTableAlias}".`);
527
537
  };
528
538
  // Build the subquery SELECT fields using inner table alias
@@ -565,17 +575,17 @@ FROM (
565
575
  const distinctClause = isDistinct ? 'DISTINCT ' : '';
566
576
  // For single result, use row_to_json on the first row
567
577
  // LIMIT 1 is applied inside the subquery
568
- const lateralSQL = `
569
- SELECT ${jsonbObjectExpr} as data
570
- FROM (
571
- SELECT ${distinctClause}${allSelectFields.join(', ')}
572
- FROM "${targetTable}" "${innerTableAlias}"
573
- ${navJoinsSQL}
574
- ${nestedCteJoinsSQL}
575
- ${whereSQL}
576
- ${orderBySQL}
577
- LIMIT 1
578
- ) sub
578
+ const lateralSQL = `
579
+ SELECT ${jsonbObjectExpr} as data
580
+ FROM (
581
+ SELECT ${distinctClause}${allSelectFields.join(', ')}
582
+ FROM "${targetTable}" "${innerTableAlias}"
583
+ ${navJoinsSQL}
584
+ ${nestedCteJoinsSQL}
585
+ ${whereSQL}
586
+ ${orderBySQL}
587
+ LIMIT 1
588
+ ) sub
579
589
  `.trim();
580
590
  return lateralSQL;
581
591
  }
@@ -592,7 +602,10 @@ FROM (
592
602
  // Helper to rewrite expressions that reference the collection's table to use inner alias
593
603
  const rewriteTableReference = (expression) => {
594
604
  // Replace the special marker alias `"__collection_tableName__".` with `"innerTableAlias".`
595
- const markerPattern = new RegExp(`"__collection_${targetTable}__"\\.`, 'g');
605
+ if (!expression.includes('"__collection_')) {
606
+ return expression; // nothing to rewrite — skip the regex pass entirely
607
+ }
608
+ const markerPattern = (0, query_utils_1.collectionMarkerPattern)(targetTable, true);
596
609
  return expression.replace(markerPattern, `"${innerTableAlias}".`);
597
610
  };
598
611
  // Get the actual field expression from selectedFields (if available)
@@ -634,18 +647,18 @@ FROM (
634
647
  // Build DISTINCT clause
635
648
  const distinctClause = isDistinct ? 'DISTINCT ' : '';
636
649
  // Note: We don't add ORDER BY inside array_agg because the inner subquery already sorts
637
- const lateralSQL = `
638
- SELECT ${config.useJsonArrayAggregation ? 'json_agg' : 'array_agg'}(
639
- "${arrayField}"
640
- ) as data
641
- FROM (
642
- SELECT ${distinctClause}${fieldExpression} as "${arrayField}"
643
- FROM "${targetTable}" "${innerTableAlias}"
644
- ${navJoinsSQL}
645
- ${whereSQL}
646
- ${orderBySQL}
647
- ${limitOffsetClause}
648
- ) sub
650
+ const lateralSQL = `
651
+ SELECT ${config.useJsonArrayAggregation ? 'json_agg' : 'array_agg'}(
652
+ "${arrayField}"
653
+ ) as data
654
+ FROM (
655
+ SELECT ${distinctClause}${fieldExpression} as "${arrayField}"
656
+ FROM "${targetTable}" "${innerTableAlias}"
657
+ ${navJoinsSQL}
658
+ ${whereSQL}
659
+ ${orderBySQL}
660
+ ${limitOffsetClause}
661
+ ) sub
649
662
  `.trim();
650
663
  return lateralSQL;
651
664
  }
@@ -659,7 +672,10 @@ FROM (
659
672
  // Helper to rewrite expressions that reference the collection's table to use inner alias
660
673
  const rewriteTableReference = (expression) => {
661
674
  // Replace the special marker alias `"__collection_tableName__".` with `"innerTableAlias".`
662
- const markerPattern = new RegExp(`"__collection_${targetTable}__"\\.`, 'g');
675
+ if (!expression.includes('"__collection_')) {
676
+ return expression; // nothing to rewrite — skip the regex pass entirely
677
+ }
678
+ const markerPattern = (0, query_utils_1.collectionMarkerPattern)(targetTable, true);
663
679
  return expression.replace(markerPattern, `"${innerTableAlias}".`);
664
680
  };
665
681
  // For nested collections, the source table may be aliased in a parent LATERAL
@@ -694,20 +710,20 @@ FROM (
694
710
  break;
695
711
  case 'exists': {
696
712
  // EXISTS as LATERAL: SELECT EXISTS(SELECT 1 FROM ... WHERE ...)
697
- const lateralSQL = `
698
- SELECT EXISTS(SELECT 1
699
- FROM "${targetTable}" "${innerTableAlias}"
700
- ${whereSQL}) as data
713
+ const lateralSQL = `
714
+ SELECT EXISTS(SELECT 1
715
+ FROM "${targetTable}" "${innerTableAlias}"
716
+ ${whereSQL}) as data
701
717
  `.trim();
702
718
  return lateralSQL;
703
719
  }
704
720
  default:
705
721
  throw new Error(`Unknown aggregation type: ${aggregationType}`);
706
722
  }
707
- const lateralSQL = `
708
- SELECT ${aggregateExpression} as data
709
- FROM "${targetTable}" "${innerTableAlias}"
710
- ${whereSQL}
723
+ const lateralSQL = `
724
+ SELECT ${aggregateExpression} as data
725
+ FROM "${targetTable}" "${innerTableAlias}"
726
+ ${whereSQL}
711
727
  `.trim();
712
728
  return lateralSQL;
713
729
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lateral-collection-strategy.js","sourceRoot":"","sources":["../../../src/query/strategies/lateral-collection-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lateral-collection-strategy.js","sourceRoot":"","sources":["../../../src/query/strategies/lateral-collection-strategy.ts"],"names":[],"mappings":";;;AACA,gDAAyD;AAUzD,8CAAiF;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAa,yBAAyB;IACpC,OAAO;QACL,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iBAAiB;QACf,+EAA+E;QAC/E,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,sBAAsB,CAC5B,MAAmC,EACnC,YAAoB,EACpB,WAAmB,EACnB,UAAkB;QAElB,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtF,OAAO,IAAA,4CAA+B,EAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,IAAI,YAAY,MAAM,UAAU,QAAQ,WAAW,QAAQ,CAAC;IACrE,CAAC;IAED,gBAAgB,CACd,MAAmC,EACnC,OAAqB;QAErB,MAAM,YAAY,GAAG,WAAW,MAAM,CAAC,OAAO,EAAE,CAAC;QAEjD,uEAAuE;QACvE,+DAA+D;QAC/D,yEAAyE;QACzE,6CAA6C;QAC7C,MAAM,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAEpE,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,kCAAkC,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,UAAkB,CAAC;QACvB,IAAI,gBAAwB,CAAC;QAE7B,QAAQ,MAAM,CAAC,eAAe,EAAE,CAAC;YAC/B,KAAK,OAAO;gBACV,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC1B,gEAAgE;oBAChE,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;oBAC5E,gBAAgB,GAAG,IAAI,YAAY,QAAQ,CAAC,CAAE,oCAAoC;gBACpF,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;oBACvE,gBAAgB,GAAG,aAAa,YAAY,WAAW,MAAM,CAAC,YAAY,GAAG,CAAC;gBAChF,CAAC;gBACD,MAAM;YAER,KAAK,OAAO;gBACV,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;gBACvE,gBAAgB,GAAG,aAAa,YAAY,WAAW,MAAM,CAAC,YAAY,GAAG,CAAC;gBAC9E,MAAM;YAER,KAAK,OAAO,CAAC;YACb,KAAK,KAAK,CAAC;YACX,KAAK,KAAK,CAAC;YACX,KAAK,KAAK;gBACR,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;gBACxE,gBAAgB,GAAG,aAAa,YAAY,WAAW,MAAM,CAAC,YAAY,GAAG,CAAC;gBAC9E,MAAM;YAER,KAAK,QAAQ;gBACX,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;gBACxE,gBAAgB,GAAG,aAAa,YAAY,WAAW,MAAM,CAAC,YAAY,GAAG,CAAC;gBAC9E,MAAM;YAER;gBACE,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,8EAA8E;QAC9E,uDAAuD;QACvD,MAAM,UAAU,GAAG,sBAAsB,UAAU,MAAM,YAAY,WAAW,CAAC;QAEjF,OAAO;YACL,GAAG,EAAE,UAAU;YACf,MAAM,EAAE,OAAO,CAAC,SAAS;YACzB,SAAS,EAAE,YAAY;YACvB,UAAU;YACV,gBAAgB;YAChB,KAAK,EAAE,KAAK,EAAE,iDAAiD;SAChE,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,wBAAwB,CAAC,MAAmC;QAClE,mDAAmD;QACnD,mDAAmD;QACnD,+CAA+C;QAC/C,4DAA4D;QAC5D,qEAAqE;QACrE,MAAM,mBAAmB,GAAG,MAAM,CAAC,eAAe,KAAK,OAAO;YACjC,MAAM,CAAC,eAAe,KAAK,OAAO;YAClC,MAAM,CAAC,eAAe,KAAK,KAAK;YAChC,MAAM,CAAC,eAAe,KAAK,KAAK;YAChC,MAAM,CAAC,eAAe,KAAK,KAAK;YAChC,MAAM,CAAC,eAAe,KAAK,QAAQ,CAAC;QAEjE,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC;QAE7F,iEAAiE;QACjE,kDAAkD;QAClD,MAAM,iBAAiB,GAAG,MAAM,CAAC,eAAe,KAAK,OAAO,CAAC;QAE7D,OAAO,mBAAmB,IAAI,gBAAgB,IAAI,iBAAiB,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACK,kCAAkC,CACxC,MAAmC,EACnC,YAAoB,EACpB,OAAqB;QAErB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC;QACjP,oEAAoE;QACpE,yEAAyE;QACzE,+CAA+C;QAC/C,MAAM,UAAU,GAAG,uBAAuB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;QAEtE,sEAAsE;QACtE,MAAM,eAAe,GAAG,GAAG,YAAY,IAAI,YAAY,EAAE,CAAC;QAE1D,iGAAiG;QACjG,4FAA4F;QAC5F,MAAM,kBAAkB,GAAG,uBAAuB,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC;QAEzF,yFAAyF;QACzF,MAAM,qBAAqB,GAAG,CAAC,UAAkB,EAAU,EAAE;YAC3D,2FAA2F;YAC3F,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC3C,OAAO,UAAU,CAAC,CAAE,oDAAoD;YAC1E,CAAC;YACD,MAAM,aAAa,GAAG,IAAA,qCAAuB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACjE,OAAO,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,eAAe,IAAI,CAAC,CAAC;QACpE,CAAC,CAAC;QAEF,0EAA0E;QAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CAAC,uBAAuB,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAEvH,0FAA0F;QAC1F,sDAAsD;QACtD,MAAM,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;QAEvF,gDAAgD;QAChD,kGAAkG;QAClG,MAAM,YAAY,GAAG,MAAM,CAAC,oBAAoB,IAAI,eAAe,CAAC;QACpE,IAAI,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAC/F,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;YAChE,QAAQ,IAAI,QAAQ,oBAAoB,EAAE,CAAC;QAC7C,CAAC;QAED,IAAI,WAAmB,CAAC;QAExB,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,CAAC;YAED,qEAAqE;YACrE,IAAI,eAAe,GAAG,IAAI,eAAe,MAAM,UAAU,GAAG,CAAC;YAC7D,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,KAAK,IAAI,UAAU,GAAG,EAAE,CAAC;oBACzE,eAAe,GAAG,qBAAqB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;YAED,kDAAkD;YAClD,0EAA0E;YAC1E,uEAAuE;YACvE,wEAAwE;YACxE,IAAI,UAAU,EAAE,CAAC;gBACf,WAAW,GAAG,oBAAoB,UAAU,KAAK,UAAU,OAAO,YAAY;wBAC9D,eAAe,QAAQ,UAAU;QACjD,WAAW,MAAM,eAAe;EACtC,WAAW;QACL,QAAQ,SAAS,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,oBAAoB,UAAU,IAAI,eAAe,MAAM,YAAY;QACjF,WAAW,MAAM,eAAe;EACtC,WAAW;QACL,QAAQ,GAAG,CAAC;YACd,CAAC;QACH,CAAC;aAAM,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;YACxC,8EAA8E;YAC9E,WAAW,GAAG;QACZ,WAAW,MAAM,eAAe;EACtC,WAAW;QACL,QAAQ,IAAI,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,IAAI,YAAoB,CAAC;YACzB,QAAQ,eAAe,EAAE,CAAC;gBACxB,KAAK,OAAO;oBACV,YAAY,GAAG,UAAU,CAAC;oBAC1B,MAAM;gBACR,KAAK,KAAK,CAAC;gBACX,KAAK,KAAK,CAAC;gBACX,KAAK,KAAK;oBACR,IAAI,mBAAmB,EAAE,CAAC;wBACxB,kEAAkE;wBAClE,YAAY,GAAG,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,mBAAmB,GAAG,CAAC;oBAC5E,CAAC;yBAAM,IAAI,cAAc,EAAE,CAAC;wBAC1B,YAAY,GAAG,GAAG,eAAe,CAAC,WAAW,EAAE,KAAK,eAAe,MAAM,cAAc,IAAI,CAAC;oBAC9F,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,KAAK,CAAC,GAAG,eAAe,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;oBAClF,CAAC;oBACD,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,6BAA6B,eAAe,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,mDAAmD;YACnD,WAAW,GAAG,oBAAoB,YAAY,KAAK,YAAY;QAC7D,WAAW,MAAM,eAAe;EACtC,WAAW;QACL,QAAQ,GAAG,CAAC;QAChB,CAAC;QAED,iEAAiE;QACjE,kDAAkD;QAClD,OAAO;YACL,GAAG,EAAE,EAAE,EAAE,gCAAgC;YACzC,MAAM,EAAE,OAAO,CAAC,SAAS;YACzB,SAAS,EAAE,YAAY;YACvB,UAAU,EAAE,EAAE,EAAE,iBAAiB;YACjC,gBAAgB,EAAE,WAAW;YAC7B,KAAK,EAAE,KAAK;SACb,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,MAAuB;QACnD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,eAA6C,EAAE,WAAmB;QAC7F,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;YAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY;gBACtC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,MAAM,IAAI,CAAC,WAAW,GAAG;gBAChD,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;YAE5B,sBAAsB;YACtB,kDAAkD;YAClD,qEAAqE;YACrE,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;gBACnC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAA,4BAAe,EAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,IAAA,4BAAe,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACrG,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,cAAc,KAAK,IAAI,CAAC,KAAK,QAAQ,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACK,6BAA6B,CACnC,eAA6C,EAC7C,eAAuB,EACvB,WAAoB,EACpB,OAAsB;QAEtB,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,sFAAsF;QACtF,iEAAiE;QACjE,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;QAEpF,+EAA+E;QAC/E,qGAAqG;QACrG,MAAM,eAAe,GAAG,OAAO,EAAE,oBAAoB,CAAC;QAEtD,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;YAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY;gBACtC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,MAAM,IAAI,CAAC,WAAW,GAAG;gBAChD,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;YAE5B,sBAAsB;YACtB,kDAAkD;YAClD,qEAAqE;YACrE,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;gBACnC,iGAAiG;gBACjG,gEAAgE;gBAChE,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;gBACnC,IAAI,WAAW,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;oBAC/C,yEAAyE;oBACzE,WAAW,GAAG,eAAe,CAAC;gBAChC,CAAC;qBAAM,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;oBACxC,WAAW,GAAG,eAAe,CAAC;gBAChC,CAAC;qBAAM,IAAI,eAAe,IAAI,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/D,gFAAgF;oBAChF,6CAA6C;oBAC7C,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;gBAClD,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC,GAAG,IAAA,4BAAe,EAAC,WAAW,EAAE,EAAE,CAAC,MAAM,IAAA,4BAAe,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAChG,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,cAAc,KAAK,IAAI,CAAC,KAAK,QAAQ,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,MAAmC,EACnC,YAAoB,EACpB,OAAqB;QAErB,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;QAExK,sEAAsE;QACtE,kFAAkF;QAClF,uEAAuE;QACvE,MAAM,eAAe,GAAG,GAAG,YAAY,IAAI,YAAY,EAAE,CAAC;QAE1D,wEAAwE;QACxE,MAAM,iBAAiB,GAAG,CAAC,MAAuB,EAAE,SAAiB,EAAE,EAAgD,EAAE;YACvH,MAAM,MAAM,GAAiD,EAAE,CAAC;YAChE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;gBACrE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC7D,CAAC;qBAAM,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,2EAA2E;QAC3E,MAAM,gBAAgB,GAAG,CAAC,MAAuB,EAAE,SAAiB,EAAE,EAAU,EAAE;YAChF,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACvG,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,MAAM,WAAW,EAAE,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;oBACrE,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,OAAO,SAAS,GAAG,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YACD,OAAO,qBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAClD,CAAC,CAAC;QAEF,gDAAgD;QAChD,MAAM,UAAU,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAErD,oFAAoF;QACpF,kEAAkE;QAClE,MAAM,kBAAkB,GAAG,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QAEzE,yFAAyF;QACzF,MAAM,qBAAqB,GAAG,CAAC,UAAkB,EAAU,EAAE;YAC3D,2FAA2F;YAC3F,+EAA+E;YAC/E,oFAAoF;YACpF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC3C,OAAO,UAAU,CAAC,CAAE,oDAAoD;YAC1E,CAAC;YACD,MAAM,aAAa,GAAG,IAAA,qCAAuB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACjE,OAAO,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,eAAe,IAAI,CAAC,CAAC;QACpE,CAAC,CAAC;QAEF,0FAA0F;QAC1F,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACzC,+FAA+F;YAC/F,mGAAmG;YACnG,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACvD,IAAI,cAAc,EAAE,CAAC;gBACnB,sDAAsD;gBACtD,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB;gBAC9D,OAAO,IAAI,eAAe,MAAM,UAAU,SAAS,CAAC,CAAC,KAAK,GAAG,CAAC;YAChE,CAAC;YACD,sDAAsD;YACtD,MAAM,SAAS,GAAG,qBAAqB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACtD,IAAI,SAAS,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjC,OAAO,GAAG,SAAS,QAAQ,CAAC,CAAC,KAAK,GAAG,CAAC;YACxC,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,+CAA+C;QAC/C,MAAM,eAAe,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAEzD,oDAAoD;QACpD,qEAAqE;QACrE,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CAAC,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAE/G,wEAAwE;QACxE,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEvF,8EAA8E;QAC9E,0DAA0D;QAC1D,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;QAE3F,sEAAsE;QACtE,0EAA0E;QAC1E,yDAAyD;QACzD,4EAA4E;QAC5E,MAAM,YAAY,GAAG,MAAM,CAAC,oBAAoB,IAAI,eAAe,CAAC;QACpE,IAAI,QAAQ,GAAG,SAAS,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,UAAU,CAAC,EAAE,CAAC;QAC9G,IAAI,WAAW,EAAE,CAAC;YAChB,gFAAgF;YAChF,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;YAChE,QAAQ,IAAI,QAAQ,oBAAoB,EAAE,CAAC;QAC7C,CAAC;QAED,wDAAwD;QACxD,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;YAC9D,UAAU,GAAG,YAAY,gBAAgB,EAAE,CAAC;QAC9C,CAAC;QAED,qBAAqB;QACrB,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAC3B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,iBAAiB,GAAG,SAAS,UAAU,EAAE,CAAC;QAC5C,CAAC;QACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,iBAAiB,IAAI,WAAW,WAAW,EAAE,CAAC;QAChD,CAAC;QAED,wBAAwB;QACxB,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAErD,uDAAuD;QACvD,qEAAqE;QACrE,0EAA0E;QAC1E,yDAAyD;QAEzD,MAAM,UAAU,GAAG;;IAEnB,eAAe;;;WAGR,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;UAC5C,WAAW,MAAM,eAAe;IACtC,WAAW;IACX,iBAAiB;IACjB,QAAQ;IACR,UAAU;IACV,iBAAiB;;KAEhB,CAAC,IAAI,EAAE,CAAC;QAET,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACK,0BAA0B,CAChC,MAAmC,EACnC,YAAoB,EACpB,OAAqB;QAErB,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;QAE/I,sEAAsE;QACtE,MAAM,eAAe,GAAG,GAAG,YAAY,IAAI,YAAY,EAAE,CAAC;QAE1D,wEAAwE;QACxE,MAAM,iBAAiB,GAAG,CAAC,MAAuB,EAAE,SAAiB,EAAE,EAAgD,EAAE;YACvH,MAAM,MAAM,GAAiD,EAAE,CAAC;YAChE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;gBACrE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC7D,CAAC;qBAAM,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,2EAA2E;QAC3E,MAAM,gBAAgB,GAAG,CAAC,MAAuB,EAAE,SAAiB,EAAE,EAAU,EAAE;YAChF,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACvG,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,MAAM,WAAW,EAAE,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;oBACrE,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,OAAO,SAAS,GAAG,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YACD,OAAO,qBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAClD,CAAC,CAAC;QAEF,gDAAgD;QAChD,MAAM,UAAU,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAErD,yFAAyF;QACzF,MAAM,qBAAqB,GAAG,CAAC,UAAkB,EAAU,EAAE;YAC3D,2FAA2F;YAC3F,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC3C,OAAO,UAAU,CAAC,CAAE,oDAAoD;YAC1E,CAAC;YACD,MAAM,aAAa,GAAG,IAAA,qCAAuB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACjE,OAAO,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,eAAe,IAAI,CAAC,CAAC;QACpE,CAAC,CAAC;QAEF,2DAA2D;QAC3D,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACzC,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACvD,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7C,OAAO,IAAI,eAAe,MAAM,UAAU,SAAS,CAAC,CAAC,KAAK,GAAG,CAAC;YAChE,CAAC;YACD,MAAM,SAAS,GAAG,qBAAqB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACtD,IAAI,SAAS,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjC,OAAO,GAAG,SAAS,QAAQ,CAAC,CAAC,KAAK,GAAG,CAAC;YACxC,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,+CAA+C;QAC/C,MAAM,eAAe,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAEzD,oDAAoD;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CAAC,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAE/G,wEAAwE;QACxE,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEvF,8EAA8E;QAC9E,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;QAE3F,sEAAsE;QACtE,4EAA4E;QAC5E,MAAM,aAAa,GAAG,MAAM,CAAC,oBAAoB,IAAI,eAAe,CAAC;QACrE,IAAI,QAAQ,GAAG,SAAS,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,UAAU,CAAC,EAAE,CAAC;QAC/G,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;YAChE,QAAQ,IAAI,QAAQ,oBAAoB,EAAE,CAAC;QAC7C,CAAC;QAED,wBAAwB;QACxB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;YAC9D,UAAU,GAAG,YAAY,gBAAgB,EAAE,CAAC;QAC9C,CAAC;QAED,wBAAwB;QACxB,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAErD,sDAAsD;QACtD,yCAAyC;QACzC,MAAM,UAAU,GAAG;SACd,eAAe;;WAEb,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;UAC5C,WAAW,MAAM,eAAe;IACtC,WAAW;IACX,iBAAiB;IACjB,QAAQ;IACR,UAAU;;;KAGT,CAAC,IAAI,EAAE,CAAC;QAET,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,MAAmC,EACnC,YAAoB,EACpB,OAAqB;QAErB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;QAEpL,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,sEAAsE;QACtE,MAAM,eAAe,GAAG,GAAG,YAAY,IAAI,YAAY,EAAE,CAAC;QAE1D,yFAAyF;QACzF,MAAM,qBAAqB,GAAG,CAAC,UAAkB,EAAU,EAAE;YAC3D,2FAA2F;YAC3F,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC3C,OAAO,UAAU,CAAC,CAAE,oDAAoD;YAC1E,CAAC;YACD,MAAM,aAAa,GAAG,IAAA,qCAAuB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACjE,OAAO,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,eAAe,IAAI,CAAC,CAAC;QACpE,CAAC,CAAC;QAEF,qEAAqE;QACrE,kFAAkF;QAClF,IAAI,eAAe,GAAG,IAAI,eAAe,MAAM,UAAU,GAAG,CAAC;QAC7D,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,KAAK,IAAI,UAAU,GAAG,EAAE,CAAC;gBACzE,+DAA+D;gBAC/D,eAAe,GAAG,qBAAqB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CAAC,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAE/G,8EAA8E;QAC9E,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;QAE3F,8CAA8C;QAC9C,4EAA4E;QAC5E,MAAM,aAAa,GAAG,MAAM,CAAC,oBAAoB,IAAI,eAAe,CAAC;QACrE,IAAI,QAAQ,GAAG,SAAS,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,UAAU,CAAC,EAAE,CAAC;QAC/G,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;YAChE,QAAQ,IAAI,QAAQ,oBAAoB,EAAE,CAAC;QAC7C,CAAC;QAED,wBAAwB;QACxB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;YAC9D,UAAU,GAAG,YAAY,gBAAgB,EAAE,CAAC;QAC9C,CAAC;QAED,qBAAqB;QACrB,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAC3B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,iBAAiB,GAAG,SAAS,UAAU,EAAE,CAAC;QAC5C,CAAC;QACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,iBAAiB,IAAI,WAAW,WAAW,EAAE,CAAC;QAChD,CAAC;QAED,wBAAwB;QACxB,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAErD,wFAAwF;QAExF,MAAM,UAAU,GAAG;SACd,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW;KAC7D,UAAU;;;WAGJ,cAAc,GAAG,eAAe,QAAQ,UAAU;UACnD,WAAW,MAAM,eAAe;IACtC,WAAW;IACX,QAAQ;IACR,UAAU;IACV,iBAAiB;;KAEhB,CAAC,IAAI,EAAE,CAAC;QAET,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,sBAAsB,CAC5B,MAAmC,EACnC,YAAoB,EACpB,OAAqB;QAErB,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;QAElK,sEAAsE;QACtE,MAAM,eAAe,GAAG,GAAG,YAAY,IAAI,YAAY,EAAE,CAAC;QAE1D,yFAAyF;QACzF,MAAM,qBAAqB,GAAG,CAAC,UAAkB,EAAU,EAAE;YAC3D,2FAA2F;YAC3F,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC3C,OAAO,UAAU,CAAC,CAAE,oDAAoD;YAC1E,CAAC;YACD,MAAM,aAAa,GAAG,IAAA,qCAAuB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACjE,OAAO,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,eAAe,IAAI,CAAC,CAAC;QACpE,CAAC,CAAC;QAEF,8EAA8E;QAC9E,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;QAE3F,8CAA8C;QAC9C,4EAA4E;QAC5E,MAAM,YAAY,GAAG,MAAM,CAAC,oBAAoB,IAAI,eAAe,CAAC;QACpE,IAAI,QAAQ,GAAG,SAAS,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,UAAU,CAAC,EAAE,CAAC;QAC9G,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;YAChE,QAAQ,IAAI,QAAQ,oBAAoB,EAAE,CAAC;QAC7C,CAAC;QAED,+BAA+B;QAC/B,IAAI,mBAA2B,CAAC;QAChC,QAAQ,eAAe,EAAE,CAAC;YACxB,KAAK,OAAO;gBACV,mBAAmB,GAAG,UAAU,CAAC;gBACjC,MAAM;YACR,KAAK,KAAK,CAAC;YACX,KAAK,KAAK,CAAC;YACX,KAAK,KAAK;gBACR,IAAI,uBAAuB,EAAE,CAAC;oBAC5B,kEAAkE;oBAClE,mBAAmB,GAAG,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,uBAAuB,GAAG,CAAC;gBACvF,CAAC;qBAAM,IAAI,cAAc,EAAE,CAAC;oBAC1B,mBAAmB,GAAG,GAAG,eAAe,CAAC,WAAW,EAAE,KAAK,eAAe,MAAM,cAAc,IAAI,CAAC;gBACrG,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,GAAG,eAAe,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;gBAClF,CAAC;gBACD,MAAM;YACR,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,gEAAgE;gBAChE,MAAM,UAAU,GAAG;;QAEnB,WAAW,MAAM,eAAe;EACtC,QAAQ;SACD,CAAC,IAAI,EAAE,CAAC;gBACT,OAAO,UAAU,CAAC;YACpB,CAAC;YACD;gBACE,MAAM,IAAI,KAAK,CAAC,6BAA6B,eAAe,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,UAAU,GAAG;SACd,mBAAmB;QACpB,WAAW,MAAM,eAAe;EACtC,QAAQ;KACL,CAAC,IAAI,EAAE,CAAC;QAET,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAtyBD,8DAsyBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"temptable-collection-strategy.d.ts","sourceRoot":"","sources":["../../../src/query/strategies/temptable-collection-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAE5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACrE,OAAO,IAAI,sBAAsB;IAIjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAgB5B,iBAAiB,IAAI,OAAO;IAKtB,gBAAgB,CACpB,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,2BAA2B,CAAC;IAevC;;;;;;;OAOG;YACW,8BAA8B;IAmE5C;;;OAGG;YACW,sBAAsB;IAsEpC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAsC3B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAyBjC;;;;;;OAMG;IACH,OAAO,CAAC,yCAAyC;IAmDjD;;;OAGG;IACH,OAAO,CAAC,WAAW;IA0BnB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IA6DhC;;OAEG;IACH,OAAO,CAAC,qCAAqC;IAsC7C;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IA+ChC;;OAEG;IACH,OAAO,CAAC,qCAAqC;IAsC7C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA8CjC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;CAqBlC"}
1
+ {"version":3,"file":"temptable-collection-strategy.d.ts","sourceRoot":"","sources":["../../../src/query/strategies/temptable-collection-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAE5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACrE,OAAO,IAAI,sBAAsB;IAIjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAgB5B,iBAAiB,IAAI,OAAO;IAKtB,gBAAgB,CACpB,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,2BAA2B,CAAC;IAevC;;;;;;;OAOG;YACW,8BAA8B;IAmE5C;;;OAGG;YACW,sBAAsB;IAsEpC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAsC3B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAyBjC;;;;;;OAMG;IACH,OAAO,CAAC,yCAAyC;IAmDjD;;;OAGG;IACH,OAAO,CAAC,WAAW;IA0BnB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IA6DhC;;OAEG;IACH,OAAO,CAAC,qCAAqC;IAsC7C;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IA+ChC;;OAEG;IACH,OAAO,CAAC,qCAAqC;IAsC7C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA8CjC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;CAqBlC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TempTableCollectionStrategy = void 0;
4
+ const query_utils_1 = require("../query-utils");
4
5
  const join_utils_1 = require("../join-utils");
5
6
  /**
6
7
  * Temp table-based collection strategy
@@ -48,7 +49,7 @@ class TempTableCollectionStrategy {
48
49
  rewriteCollectionMarker(expr, targetTable) {
49
50
  if (!expr)
50
51
  return expr;
51
- const markerPattern = new RegExp(`"__collection_${targetTable}__"`, 'g');
52
+ const markerPattern = (0, query_utils_1.collectionMarkerPattern)(targetTable, false);
52
53
  return expr.replace(markerPattern, `"${targetTable}"`);
53
54
  }
54
55
  /**
@@ -103,20 +104,20 @@ class TempTableCollectionStrategy {
103
104
  // Build the value placeholders for INSERT (interpolate integer parent IDs - safe)
104
105
  const valuePlaceholders = config.parentIds.map(id => `(${id})`).join(',');
105
106
  // Combine everything into a single multi-statement query
106
- const multiStatementSQL = `
107
- -- Create temporary table for parent IDs
108
- CREATE TEMP TABLE ${tempTableName} (
109
- id integer PRIMARY KEY
110
- ) ON COMMIT DROP;
111
-
112
- -- Insert parent IDs
113
- INSERT INTO ${tempTableName} VALUES ${valuePlaceholders};
114
-
115
- -- Query and return the data
116
- ${aggregationSQL};
117
-
118
- -- Cleanup
119
- DROP TABLE IF EXISTS ${tempTableName};
107
+ const multiStatementSQL = `
108
+ -- Create temporary table for parent IDs
109
+ CREATE TEMP TABLE ${tempTableName} (
110
+ id integer PRIMARY KEY
111
+ ) ON COMMIT DROP;
112
+
113
+ -- Insert parent IDs
114
+ INSERT INTO ${tempTableName} VALUES ${valuePlaceholders};
115
+
116
+ -- Query and return the data
117
+ ${aggregationSQL};
118
+
119
+ -- Cleanup
120
+ DROP TABLE IF EXISTS ${tempTableName};
120
121
  `.trim();
121
122
  // Execute multi-statement query using querySimple (no parameters)
122
123
  const executor = context.executor || client;
@@ -159,10 +160,10 @@ DROP TABLE IF EXISTS ${tempTableName};
159
160
  async buildAggregationLegacy(config, context, client) {
160
161
  const tempTableName = `tmp_parent_ids_${config.counter}`;
161
162
  // Create temp table (without ON COMMIT DROP to persist across queries in the same session)
162
- const createTableSQL = `
163
- CREATE TEMP TABLE IF NOT EXISTS ${tempTableName} (
164
- id integer PRIMARY KEY
165
- )
163
+ const createTableSQL = `
164
+ CREATE TEMP TABLE IF NOT EXISTS ${tempTableName} (
165
+ id integer PRIMARY KEY
166
+ )
166
167
  `.trim();
167
168
  // Use executor from context if available for query logging
168
169
  if (context.executor) {
@@ -191,9 +192,9 @@ CREATE TEMP TABLE IF NOT EXISTS ${tempTableName} (
191
192
  const selectExpression = `"${tempTableName}_agg".data`;
192
193
  // Execute aggregation query and store results in another temp table
193
194
  const aggTempTableName = `${tempTableName}_agg`;
194
- const createAggTableSQL = `
195
- CREATE TEMP TABLE ${aggTempTableName} AS
196
- ${aggregationSQL}
195
+ const createAggTableSQL = `
196
+ CREATE TEMP TABLE ${aggTempTableName} AS
197
+ ${aggregationSQL}
197
198
  `.trim();
198
199
  // Use executor from context if available for query logging
199
200
  if (context.executor) {
@@ -395,19 +396,19 @@ ${aggregationSQL}
395
396
  return this.buildJsonbAggregationSQLWithRowNumber(config, tempTableName, jsonbObjectExpr, additionalWhere);
396
397
  }
397
398
  // No LIMIT/OFFSET - use simple aggregation
398
- const sql = `
399
- SELECT
400
- t."${foreignKey}" as parent_id,
401
- json_agg(
402
- ${jsonbObjectExpr}${jsonbAggOrderBy}
403
- ) as data
404
- FROM (
405
- SELECT *
406
- FROM "${targetTable}"
407
- WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
408
- ${orderBySQL}
409
- ) t
410
- GROUP BY t."${foreignKey}"
399
+ const sql = `
400
+ SELECT
401
+ t."${foreignKey}" as parent_id,
402
+ json_agg(
403
+ ${jsonbObjectExpr}${jsonbAggOrderBy}
404
+ ) as data
405
+ FROM (
406
+ SELECT *
407
+ FROM "${targetTable}"
408
+ WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
409
+ ${orderBySQL}
410
+ ) t
411
+ GROUP BY t."${foreignKey}"
411
412
  `.trim();
412
413
  return sql;
413
414
  }
@@ -427,19 +428,19 @@ GROUP BY t."${foreignKey}"
427
428
  else {
428
429
  rowNumberFilter = `WHERE "__rn" > ${offset}`;
429
430
  }
430
- const sql = `
431
- SELECT
432
- t."${foreignKey}" as parent_id,
433
- json_agg(
434
- ${jsonbObjectExpr}
435
- ) as data
436
- FROM (
437
- SELECT *, ROW_NUMBER() OVER (PARTITION BY "${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
438
- FROM "${targetTable}"
439
- WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
440
- ) t
441
- ${rowNumberFilter}
442
- GROUP BY t."${foreignKey}"
431
+ const sql = `
432
+ SELECT
433
+ t."${foreignKey}" as parent_id,
434
+ json_agg(
435
+ ${jsonbObjectExpr}
436
+ ) as data
437
+ FROM (
438
+ SELECT *, ROW_NUMBER() OVER (PARTITION BY "${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
439
+ FROM "${targetTable}"
440
+ WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
441
+ ) t
442
+ ${rowNumberFilter}
443
+ GROUP BY t."${foreignKey}"
443
444
  `.trim();
444
445
  return sql;
445
446
  }
@@ -467,17 +468,17 @@ GROUP BY t."${foreignKey}"
467
468
  }
468
469
  const aggFn = useJsonAgg ? 'json_agg' : 'array_agg';
469
470
  // No LIMIT/OFFSET - use simple aggregation
470
- const sql = `
471
- SELECT
472
- t."${foreignKey}" as parent_id,
473
- ${aggFn}(t."${arrayField}"${arrayAggOrderBy}) as data
474
- FROM (
475
- SELECT "${foreignKey}", "${arrayField}"
476
- FROM "${targetTable}"
477
- WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
478
- ${orderBySQL}
479
- ) t
480
- GROUP BY t."${foreignKey}"
471
+ const sql = `
472
+ SELECT
473
+ t."${foreignKey}" as parent_id,
474
+ ${aggFn}(t."${arrayField}"${arrayAggOrderBy}) as data
475
+ FROM (
476
+ SELECT "${foreignKey}", "${arrayField}"
477
+ FROM "${targetTable}"
478
+ WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
479
+ ${orderBySQL}
480
+ ) t
481
+ GROUP BY t."${foreignKey}"
481
482
  `.trim();
482
483
  return sql;
483
484
  }
@@ -498,17 +499,17 @@ GROUP BY t."${foreignKey}"
498
499
  rowNumberFilter = `WHERE "__rn" > ${offset}`;
499
500
  }
500
501
  const aggFn = useJsonAgg ? 'json_agg' : 'array_agg';
501
- const sql = `
502
- SELECT
503
- t."${foreignKey}" as parent_id,
504
- ${aggFn}(t."${arrayField}") as data
505
- FROM (
506
- SELECT "${foreignKey}", "${arrayField}", ROW_NUMBER() OVER (PARTITION BY "${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
507
- FROM "${targetTable}"
508
- WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
509
- ) t
510
- ${rowNumberFilter}
511
- GROUP BY t."${foreignKey}"
502
+ const sql = `
503
+ SELECT
504
+ t."${foreignKey}" as parent_id,
505
+ ${aggFn}(t."${arrayField}") as data
506
+ FROM (
507
+ SELECT "${foreignKey}", "${arrayField}", ROW_NUMBER() OVER (PARTITION BY "${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
508
+ FROM "${targetTable}"
509
+ WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
510
+ ) t
511
+ ${rowNumberFilter}
512
+ GROUP BY t."${foreignKey}"
512
513
  `.trim();
513
514
  return sql;
514
515
  }
@@ -545,13 +546,13 @@ GROUP BY t."${foreignKey}"
545
546
  default:
546
547
  throw new Error(`Unknown aggregation type: ${aggregationType}`);
547
548
  }
548
- const sql = `
549
- SELECT
550
- tmp.id as parent_id,
551
- COALESCE(${aggregateExpression}, ${config.defaultValue}) as data
552
- FROM ${tempTableName} tmp
553
- LEFT JOIN "${targetTable}" ON "${targetTable}"."${foreignKey}" = tmp.id${additionalWhere}
554
- GROUP BY tmp.id
549
+ const sql = `
550
+ SELECT
551
+ tmp.id as parent_id,
552
+ COALESCE(${aggregateExpression}, ${config.defaultValue}) as data
553
+ FROM ${tempTableName} tmp
554
+ LEFT JOIN "${targetTable}" ON "${targetTable}"."${foreignKey}" = tmp.id${additionalWhere}
555
+ GROUP BY tmp.id
555
556
  `.trim();
556
557
  return sql;
557
558
  }
@@ -564,13 +565,13 @@ GROUP BY tmp.id
564
565
  // Build WHERE clause (rewrite collection markers)
565
566
  const rewrittenWhereClause = this.rewriteCollectionMarker(whereClause, targetTable);
566
567
  const additionalWhere = this.buildAdditionalWhere(config, targetTable, rewrittenWhereClause);
567
- const sql = `
568
- SELECT
569
- tmp.id as parent_id,
570
- COALESCE(bool_or(("${targetTable}"."${foreignKey}" IS NOT NULL)), false) as data
571
- FROM ${tempTableName} tmp
572
- LEFT JOIN "${targetTable}" ON "${targetTable}"."${foreignKey}" = tmp.id${additionalWhere}
573
- GROUP BY tmp.id
568
+ const sql = `
569
+ SELECT
570
+ tmp.id as parent_id,
571
+ COALESCE(bool_or(("${targetTable}"."${foreignKey}" IS NOT NULL)), false) as data
572
+ FROM ${tempTableName} tmp
573
+ LEFT JOIN "${targetTable}" ON "${targetTable}"."${foreignKey}" = tmp.id${additionalWhere}
574
+ GROUP BY tmp.id
574
575
  `.trim();
575
576
  return sql;
576
577
  }