linkgress-orm 0.4.74 → 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.
- package/dist/entity/db-context.d.ts.map +1 -1
- package/dist/entity/db-context.js +65 -52
- package/dist/entity/db-context.js.map +1 -1
- package/dist/entity/entity-builder.d.ts.map +1 -1
- package/dist/entity/entity-builder.js +12 -1
- package/dist/entity/entity-builder.js.map +1 -1
- package/dist/query/query-builder.d.ts.map +1 -1
- package/dist/query/query-builder.js +6 -5
- package/dist/query/query-builder.js.map +1 -1
- package/dist/query/query-utils.d.ts +1 -0
- package/dist/query/query-utils.d.ts.map +1 -1
- package/dist/query/query-utils.js +20 -0
- package/dist/query/query-utils.js.map +1 -1
- package/dist/query/strategies/cte-collection-strategy.d.ts.map +1 -1
- package/dist/query/strategies/cte-collection-strategy.js +105 -104
- package/dist/query/strategies/cte-collection-strategy.js.map +1 -1
- package/dist/query/strategies/lateral-collection-strategy.d.ts.map +1 -1
- package/dist/query/strategies/lateral-collection-strategy.js +78 -62
- package/dist/query/strategies/lateral-collection-strategy.js.map +1 -1
- package/dist/query/strategies/temptable-collection-strategy.d.ts.map +1 -1
- package/dist/query/strategies/temptable-collection-strategy.js +85 -84
- package/dist/query/strategies/temptable-collection-strategy.js.map +1 -1
- package/package.json +80 -80
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":"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"}
|
|
@@ -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;
|
|
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 =
|
|
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
|
}
|