linkgress-orm 0.1.1 → 0.1.4
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 +7 -5
- package/dist/entity/db-context.js.map +1 -1
- package/dist/migration/db-schema-manager.d.ts +5 -0
- package/dist/migration/db-schema-manager.d.ts.map +1 -1
- package/dist/migration/db-schema-manager.js +70 -2
- package/dist/migration/db-schema-manager.js.map +1 -1
- package/dist/query/collection-strategy.interface.d.ts +38 -0
- package/dist/query/collection-strategy.interface.d.ts.map +1 -1
- package/dist/query/cte-builder.d.ts +15 -1
- package/dist/query/cte-builder.d.ts.map +1 -1
- package/dist/query/cte-builder.js +121 -11
- package/dist/query/cte-builder.js.map +1 -1
- package/dist/query/grouped-query.d.ts +13 -1
- package/dist/query/grouped-query.d.ts.map +1 -1
- package/dist/query/grouped-query.js +147 -4
- package/dist/query/grouped-query.js.map +1 -1
- package/dist/query/query-builder.d.ts +36 -1
- package/dist/query/query-builder.d.ts.map +1 -1
- package/dist/query/query-builder.js +359 -42
- package/dist/query/query-builder.js.map +1 -1
- package/dist/query/strategies/cte-collection-strategy.d.ts +4 -0
- package/dist/query/strategies/cte-collection-strategy.d.ts.map +1 -1
- package/dist/query/strategies/cte-collection-strategy.js +103 -12
- package/dist/query/strategies/cte-collection-strategy.js.map +1 -1
- package/dist/query/strategies/lateral-collection-strategy.d.ts +4 -0
- package/dist/query/strategies/lateral-collection-strategy.d.ts.map +1 -1
- package/dist/query/strategies/lateral-collection-strategy.js +61 -3
- package/dist/query/strategies/lateral-collection-strategy.js.map +1 -1
- package/package.json +1 -1
|
@@ -112,6 +112,32 @@ class CteCollectionStrategy {
|
|
|
112
112
|
}
|
|
113
113
|
return `jsonb_build_object(${parts.join(', ')})`;
|
|
114
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Build navigation JOINs SQL for multi-level navigation in collection queries
|
|
117
|
+
*/
|
|
118
|
+
buildNavigationJoins(navigationJoins, targetTable) {
|
|
119
|
+
if (!navigationJoins || navigationJoins.length === 0) {
|
|
120
|
+
return '';
|
|
121
|
+
}
|
|
122
|
+
const joinClauses = [];
|
|
123
|
+
for (const join of navigationJoins) {
|
|
124
|
+
const joinType = join.isMandatory ? 'INNER JOIN' : 'LEFT JOIN';
|
|
125
|
+
const qualifiedTable = join.targetSchema
|
|
126
|
+
? `"${join.targetSchema}"."${join.targetTable}"`
|
|
127
|
+
: `"${join.targetTable}"`;
|
|
128
|
+
// Build the ON clause
|
|
129
|
+
// foreignKeys are the columns in the source table
|
|
130
|
+
// matches are the columns in the target table (usually primary keys)
|
|
131
|
+
const onConditions = [];
|
|
132
|
+
for (let i = 0; i < join.foreignKeys.length; i++) {
|
|
133
|
+
const fk = join.foreignKeys[i];
|
|
134
|
+
const pk = join.matches[i] || 'id';
|
|
135
|
+
onConditions.push(`"${join.sourceAlias}"."${fk}" = "${join.alias}"."${pk}"`);
|
|
136
|
+
}
|
|
137
|
+
joinClauses.push(`${joinType} ${qualifiedTable} "${join.alias}" ON ${onConditions.join(' AND ')}`);
|
|
138
|
+
}
|
|
139
|
+
return joinClauses.join('\n ');
|
|
140
|
+
}
|
|
115
141
|
/**
|
|
116
142
|
* Build JSONB aggregation CTE
|
|
117
143
|
*
|
|
@@ -119,7 +145,7 @@ class CteCollectionStrategy {
|
|
|
119
145
|
* apply pagination per parent row (not globally).
|
|
120
146
|
*/
|
|
121
147
|
buildJsonbAggregation(config, cteName, context) {
|
|
122
|
-
const { selectedFields, targetTable, foreignKey, whereClause, orderByClause, limitValue, offsetValue, isDistinct } = config;
|
|
148
|
+
const { selectedFields, targetTable, foreignKey, whereClause, orderByClause, limitValue, offsetValue, isDistinct, navigationJoins } = config;
|
|
123
149
|
// Collect all leaf fields for the SELECT clause
|
|
124
150
|
const leafFields = this.collectLeafFields(selectedFields);
|
|
125
151
|
// Build the JSONB fields for jsonb_build_object (handles nested structures)
|
|
@@ -128,15 +154,28 @@ class CteCollectionStrategy {
|
|
|
128
154
|
const whereSQL = whereClause ? `WHERE ${whereClause}` : '';
|
|
129
155
|
// Build DISTINCT clause
|
|
130
156
|
const distinctClause = isDistinct ? 'DISTINCT ' : '';
|
|
157
|
+
// Build navigation JOINs for multi-level navigation
|
|
158
|
+
const navJoinsSQL = this.buildNavigationJoins(navigationJoins, targetTable);
|
|
131
159
|
// If LIMIT or OFFSET is specified, use ROW_NUMBER() for per-parent pagination
|
|
132
160
|
if (limitValue !== undefined || offsetValue !== undefined) {
|
|
133
|
-
return this.buildJsonbAggregationWithRowNumber(config, leafFields, jsonbObjectExpr, whereSQL, distinctClause);
|
|
161
|
+
return this.buildJsonbAggregationWithRowNumber(config, leafFields, jsonbObjectExpr, whereSQL, distinctClause, navJoinsSQL);
|
|
134
162
|
}
|
|
135
163
|
// No LIMIT/OFFSET - use simple aggregation
|
|
136
164
|
// Build the subquery SELECT fields
|
|
165
|
+
// When there are navigation joins, we need to qualify unqualified field expressions
|
|
166
|
+
// with the target table name to avoid ambiguous column references
|
|
167
|
+
const hasNavigationJoins = navigationJoins && navigationJoins.length > 0;
|
|
137
168
|
const allSelectFields = [
|
|
138
|
-
`"${foreignKey}" as "__fk_${foreignKey}"`,
|
|
169
|
+
`"${targetTable}"."${foreignKey}" as "__fk_${foreignKey}"`,
|
|
139
170
|
...leafFields.map(f => {
|
|
171
|
+
// If expression is just a quoted column name (e.g., `"id"`), qualify it with target table
|
|
172
|
+
// But if it's already qualified (e.g., `"user"."username"`), leave it as is
|
|
173
|
+
const isSimpleColumn = /^"[^".]+"$/.test(f.expression);
|
|
174
|
+
if (isSimpleColumn && hasNavigationJoins) {
|
|
175
|
+
// Extract column name and qualify with target table
|
|
176
|
+
const columnName = f.expression.slice(1, -1); // Remove quotes
|
|
177
|
+
return `"${targetTable}"."${columnName}" as "${f.alias}"`;
|
|
178
|
+
}
|
|
140
179
|
if (f.expression !== `"${f.alias}"`) {
|
|
141
180
|
return `${f.expression} as "${f.alias}"`;
|
|
142
181
|
}
|
|
@@ -156,6 +195,7 @@ SELECT
|
|
|
156
195
|
FROM (
|
|
157
196
|
SELECT ${distinctClause}${allSelectFields.join(', ')}
|
|
158
197
|
FROM "${targetTable}"
|
|
198
|
+
${navJoinsSQL}
|
|
159
199
|
${whereSQL}
|
|
160
200
|
${orderBySQL}
|
|
161
201
|
) sub
|
|
@@ -177,12 +217,23 @@ GROUP BY "__fk_${foreignKey}"
|
|
|
177
217
|
* GROUP BY parent_id
|
|
178
218
|
* ```
|
|
179
219
|
*/
|
|
180
|
-
buildJsonbAggregationWithRowNumber(config, leafFields, jsonbObjectExpr, whereSQL, distinctClause) {
|
|
181
|
-
const { targetTable, foreignKey, orderByClause, limitValue, offsetValue } = config;
|
|
220
|
+
buildJsonbAggregationWithRowNumber(config, leafFields, jsonbObjectExpr, whereSQL, distinctClause, navJoinsSQL) {
|
|
221
|
+
const { targetTable, foreignKey, orderByClause, limitValue, offsetValue, navigationJoins } = config;
|
|
222
|
+
// When there are navigation joins, we need to qualify unqualified field expressions
|
|
223
|
+
// with the target table name to avoid ambiguous column references
|
|
224
|
+
const hasNavigationJoins = navigationJoins && navigationJoins.length > 0;
|
|
182
225
|
// Build the innermost SELECT fields
|
|
183
226
|
const innerSelectFields = [
|
|
184
|
-
`"${foreignKey}" as "__fk_${foreignKey}"`,
|
|
227
|
+
`"${targetTable}"."${foreignKey}" as "__fk_${foreignKey}"`,
|
|
185
228
|
...leafFields.map(f => {
|
|
229
|
+
// If expression is just a quoted column name (e.g., `"id"`), qualify it with target table
|
|
230
|
+
// But if it's already qualified (e.g., `"user"."username"`), leave it as is
|
|
231
|
+
const isSimpleColumn = /^"[^".]+"$/.test(f.expression);
|
|
232
|
+
if (isSimpleColumn && hasNavigationJoins) {
|
|
233
|
+
// Extract column name and qualify with target table
|
|
234
|
+
const columnName = f.expression.slice(1, -1); // Remove quotes
|
|
235
|
+
return `"${targetTable}"."${columnName}" as "${f.alias}"`;
|
|
236
|
+
}
|
|
186
237
|
if (f.expression !== `"${f.alias}"`) {
|
|
187
238
|
return `${f.expression} as "${f.alias}"`;
|
|
188
239
|
}
|
|
@@ -213,6 +264,7 @@ FROM (
|
|
|
213
264
|
FROM (
|
|
214
265
|
SELECT ${distinctClause}${innerSelectFields.join(', ')}
|
|
215
266
|
FROM "${targetTable}"
|
|
267
|
+
${navJoinsSQL}
|
|
216
268
|
${whereSQL}
|
|
217
269
|
) inner_sub
|
|
218
270
|
) sub
|
|
@@ -228,7 +280,7 @@ GROUP BY "__fk_${foreignKey}"
|
|
|
228
280
|
* apply pagination per parent row (not globally).
|
|
229
281
|
*/
|
|
230
282
|
buildArrayAggregation(config, cteName, context) {
|
|
231
|
-
const { arrayField, targetTable, foreignKey, whereClause, orderByClause, limitValue, offsetValue, isDistinct } = config;
|
|
283
|
+
const { arrayField, targetTable, foreignKey, whereClause, orderByClause, limitValue, offsetValue, isDistinct, navigationJoins, selectedFields } = config;
|
|
232
284
|
if (!arrayField) {
|
|
233
285
|
throw new Error('arrayField is required for array aggregation');
|
|
234
286
|
}
|
|
@@ -236,15 +288,36 @@ GROUP BY "__fk_${foreignKey}"
|
|
|
236
288
|
const whereSQL = whereClause ? `WHERE ${whereClause}` : '';
|
|
237
289
|
// Build DISTINCT clause
|
|
238
290
|
const distinctClause = isDistinct ? 'DISTINCT ' : '';
|
|
291
|
+
// Build navigation JOINs for multi-level navigation (like toList does)
|
|
292
|
+
const navJoinsSQL = this.buildNavigationJoins(navigationJoins, targetTable);
|
|
293
|
+
const hasNavigationJoins = navigationJoins && navigationJoins.length > 0;
|
|
239
294
|
// If LIMIT or OFFSET is specified, use ROW_NUMBER() for per-parent pagination
|
|
240
295
|
if (limitValue !== undefined || offsetValue !== undefined) {
|
|
241
|
-
return this.buildArrayAggregationWithRowNumber(config, whereSQL, distinctClause);
|
|
296
|
+
return this.buildArrayAggregationWithRowNumber(config, whereSQL, distinctClause, navJoinsSQL);
|
|
297
|
+
}
|
|
298
|
+
// Get the actual field expression from selectedFields (if available)
|
|
299
|
+
// This handles navigation properties like p.user!.id which need to be "user"."id"
|
|
300
|
+
let fieldExpression = `"${arrayField}"`;
|
|
301
|
+
if (selectedFields && selectedFields.length > 0) {
|
|
302
|
+
const firstField = selectedFields[0];
|
|
303
|
+
if (firstField.expression && firstField.expression !== `"${arrayField}"`) {
|
|
304
|
+
// Use the actual expression (e.g., "user"."id") instead of just the alias
|
|
305
|
+
fieldExpression = firstField.expression;
|
|
306
|
+
}
|
|
307
|
+
else if (hasNavigationJoins) {
|
|
308
|
+
// If we have navigation joins but no explicit expression, qualify with target table
|
|
309
|
+
fieldExpression = `"${targetTable}"."${arrayField}"`;
|
|
310
|
+
}
|
|
242
311
|
}
|
|
243
312
|
// No LIMIT/OFFSET - use simple aggregation
|
|
244
313
|
// Build ORDER BY clause
|
|
245
314
|
const orderBySQL = orderByClause ? `ORDER BY ${orderByClause}` : '';
|
|
246
315
|
// Build the array_agg ORDER BY clause
|
|
247
316
|
const arrayAggOrderBy = orderByClause ? ` ORDER BY ${orderByClause}` : '';
|
|
317
|
+
// Qualify the foreign key with target table when there are navigation joins
|
|
318
|
+
const fkExpression = hasNavigationJoins
|
|
319
|
+
? `"${targetTable}"."${foreignKey}"`
|
|
320
|
+
: `"${foreignKey}"`;
|
|
248
321
|
const cteSQL = `
|
|
249
322
|
SELECT
|
|
250
323
|
"__fk_${foreignKey}" as parent_id,
|
|
@@ -254,8 +327,9 @@ SELECT
|
|
|
254
327
|
FROM (
|
|
255
328
|
SELECT ${distinctClause}"__fk_${foreignKey}", "${arrayField}"
|
|
256
329
|
FROM (
|
|
257
|
-
SELECT
|
|
330
|
+
SELECT ${fkExpression} as "__fk_${foreignKey}", ${fieldExpression} as "${arrayField}"
|
|
258
331
|
FROM "${targetTable}"
|
|
332
|
+
${navJoinsSQL}
|
|
259
333
|
${whereSQL}
|
|
260
334
|
${orderBySQL}
|
|
261
335
|
) inner_sub
|
|
@@ -267,8 +341,24 @@ GROUP BY "__fk_${foreignKey}"
|
|
|
267
341
|
/**
|
|
268
342
|
* Build array aggregation with ROW_NUMBER() for per-parent LIMIT/OFFSET
|
|
269
343
|
*/
|
|
270
|
-
buildArrayAggregationWithRowNumber(config, whereSQL, distinctClause) {
|
|
271
|
-
const { arrayField, targetTable, foreignKey, orderByClause, limitValue, offsetValue } = config;
|
|
344
|
+
buildArrayAggregationWithRowNumber(config, whereSQL, distinctClause, navJoinsSQL) {
|
|
345
|
+
const { arrayField, targetTable, foreignKey, orderByClause, limitValue, offsetValue, navigationJoins, selectedFields } = config;
|
|
346
|
+
const hasNavigationJoins = navigationJoins && navigationJoins.length > 0;
|
|
347
|
+
// Get the actual field expression from selectedFields (if available)
|
|
348
|
+
let fieldExpression = `"${arrayField}"`;
|
|
349
|
+
if (selectedFields && selectedFields.length > 0) {
|
|
350
|
+
const firstField = selectedFields[0];
|
|
351
|
+
if (firstField.expression && firstField.expression !== `"${arrayField}"`) {
|
|
352
|
+
fieldExpression = firstField.expression;
|
|
353
|
+
}
|
|
354
|
+
else if (hasNavigationJoins) {
|
|
355
|
+
fieldExpression = `"${targetTable}"."${arrayField}"`;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
// Qualify the foreign key with target table when there are navigation joins
|
|
359
|
+
const fkExpression = hasNavigationJoins
|
|
360
|
+
? `"${targetTable}"."${foreignKey}"`
|
|
361
|
+
: `"${foreignKey}"`;
|
|
272
362
|
// Build ORDER BY for ROW_NUMBER() - use the order clause or default to foreign key
|
|
273
363
|
const rowNumberOrderBy = orderByClause || `"__fk_${foreignKey}"`;
|
|
274
364
|
// Build the row number filter condition
|
|
@@ -289,8 +379,9 @@ SELECT
|
|
|
289
379
|
FROM (
|
|
290
380
|
SELECT *, ROW_NUMBER() OVER (PARTITION BY "__fk_${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
|
|
291
381
|
FROM (
|
|
292
|
-
SELECT ${distinctClause}
|
|
382
|
+
SELECT ${distinctClause}${fkExpression} as "__fk_${foreignKey}", ${fieldExpression} as "${arrayField}"
|
|
293
383
|
FROM "${targetTable}"
|
|
384
|
+
${navJoinsSQL}
|
|
294
385
|
${whereSQL}
|
|
295
386
|
) inner_sub
|
|
296
387
|
) sub
|
|
@@ -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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"}
|
|
@@ -43,6 +43,10 @@ export declare class LateralCollectionStrategy implements ICollectionStrategy {
|
|
|
43
43
|
getType(): CollectionStrategyType;
|
|
44
44
|
requiresParentIds(): boolean;
|
|
45
45
|
buildAggregation(config: CollectionAggregationConfig, context: QueryContext): CollectionAggregationResult;
|
|
46
|
+
/**
|
|
47
|
+
* Build navigation JOINs SQL for multi-level navigation in collection queries
|
|
48
|
+
*/
|
|
49
|
+
private buildNavigationJoins;
|
|
46
50
|
/**
|
|
47
51
|
* Build JSONB aggregation using LATERAL
|
|
48
52
|
*/
|
|
@@ -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,
|
|
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;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE,OAAO,IAAI,sBAAsB;IAIjC,iBAAiB,IAAI,OAAO;IAK5B,gBAAgB,CACd,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,YAAY,GACpB,2BAA2B;IA2C9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6G7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsE7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAuC/B"}
|
|
@@ -83,11 +83,37 @@ class LateralCollectionStrategy {
|
|
|
83
83
|
isCTE: false, // LATERAL is not a CTE - it's an inline subquery
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Build navigation JOINs SQL for multi-level navigation in collection queries
|
|
88
|
+
*/
|
|
89
|
+
buildNavigationJoins(navigationJoins, targetTable) {
|
|
90
|
+
if (!navigationJoins || navigationJoins.length === 0) {
|
|
91
|
+
return '';
|
|
92
|
+
}
|
|
93
|
+
const joinClauses = [];
|
|
94
|
+
for (const join of navigationJoins) {
|
|
95
|
+
const joinType = join.isMandatory ? 'INNER JOIN' : 'LEFT JOIN';
|
|
96
|
+
const qualifiedTable = join.targetSchema
|
|
97
|
+
? `"${join.targetSchema}"."${join.targetTable}"`
|
|
98
|
+
: `"${join.targetTable}"`;
|
|
99
|
+
// Build the ON clause
|
|
100
|
+
// foreignKeys are the columns in the source table
|
|
101
|
+
// matches are the columns in the target table (usually primary keys)
|
|
102
|
+
const onConditions = [];
|
|
103
|
+
for (let i = 0; i < join.foreignKeys.length; i++) {
|
|
104
|
+
const fk = join.foreignKeys[i];
|
|
105
|
+
const pk = join.matches[i] || 'id';
|
|
106
|
+
onConditions.push(`"${join.sourceAlias}"."${fk}" = "${join.alias}"."${pk}"`);
|
|
107
|
+
}
|
|
108
|
+
joinClauses.push(`${joinType} ${qualifiedTable} "${join.alias}" ON ${onConditions.join(' AND ')}`);
|
|
109
|
+
}
|
|
110
|
+
return joinClauses.join('\n ');
|
|
111
|
+
}
|
|
86
112
|
/**
|
|
87
113
|
* Build JSONB aggregation using LATERAL
|
|
88
114
|
*/
|
|
89
115
|
buildJsonbAggregation(config, lateralAlias, context) {
|
|
90
|
-
const { selectedFields, targetTable, foreignKey, sourceTable, whereClause, orderByClause, limitValue, offsetValue, isDistinct } = config;
|
|
116
|
+
const { selectedFields, targetTable, foreignKey, sourceTable, whereClause, orderByClause, limitValue, offsetValue, isDistinct, navigationJoins } = config;
|
|
91
117
|
// Helper to collect all leaf fields from a potentially nested structure
|
|
92
118
|
const collectLeafFields = (fields, prefix = '') => {
|
|
93
119
|
const result = [];
|
|
@@ -119,8 +145,19 @@ class LateralCollectionStrategy {
|
|
|
119
145
|
};
|
|
120
146
|
// Collect all leaf fields for the SELECT clause
|
|
121
147
|
const leafFields = collectLeafFields(selectedFields);
|
|
148
|
+
// When there are navigation joins, we need to qualify unqualified field expressions
|
|
149
|
+
// with the target table name to avoid ambiguous column references
|
|
150
|
+
const hasNavigationJoins = navigationJoins && navigationJoins.length > 0;
|
|
122
151
|
// Build the subquery SELECT fields (no foreign key needed since we correlate with parent)
|
|
123
152
|
const allSelectFields = leafFields.map(f => {
|
|
153
|
+
// If expression is just a quoted column name (e.g., `"id"`), qualify it with target table
|
|
154
|
+
// But if it's already qualified (e.g., `"user"."username"`), leave it as is
|
|
155
|
+
const isSimpleColumn = /^"[^".]+"$/.test(f.expression);
|
|
156
|
+
if (isSimpleColumn && hasNavigationJoins) {
|
|
157
|
+
// Extract column name and qualify with target table
|
|
158
|
+
const columnName = f.expression.slice(1, -1); // Remove quotes
|
|
159
|
+
return `"${targetTable}"."${columnName}" as "${f.alias}"`;
|
|
160
|
+
}
|
|
124
161
|
if (f.expression !== `"${f.alias}"`) {
|
|
125
162
|
return `${f.expression} as "${f.alias}"`;
|
|
126
163
|
}
|
|
@@ -128,6 +165,8 @@ class LateralCollectionStrategy {
|
|
|
128
165
|
});
|
|
129
166
|
// Build the JSONB fields for jsonb_build_object
|
|
130
167
|
const jsonbObjectExpr = buildJsonbObject(selectedFields);
|
|
168
|
+
// Build navigation JOINs for multi-level navigation
|
|
169
|
+
const navJoinsSQL = this.buildNavigationJoins(navigationJoins, targetTable);
|
|
131
170
|
// Build WHERE clause - LATERAL correlates with parent via foreign key
|
|
132
171
|
// The correlation is: target.foreignKey = source.id
|
|
133
172
|
let whereSQL = `WHERE "${targetTable}"."${foreignKey}" = "${sourceTable}"."id"`;
|
|
@@ -157,6 +196,7 @@ SELECT jsonb_agg(
|
|
|
157
196
|
FROM (
|
|
158
197
|
SELECT ${distinctClause}${allSelectFields.join(', ')}
|
|
159
198
|
FROM "${targetTable}"
|
|
199
|
+
${navJoinsSQL}
|
|
160
200
|
${whereSQL}
|
|
161
201
|
${orderBySQL}
|
|
162
202
|
${limitOffsetClause}
|
|
@@ -168,10 +208,27 @@ FROM (
|
|
|
168
208
|
* Build array aggregation using LATERAL (for toNumberList/toStringList)
|
|
169
209
|
*/
|
|
170
210
|
buildArrayAggregation(config, lateralAlias, context) {
|
|
171
|
-
const { arrayField, targetTable, foreignKey, sourceTable, whereClause, orderByClause, limitValue, offsetValue, isDistinct } = config;
|
|
211
|
+
const { arrayField, targetTable, foreignKey, sourceTable, whereClause, orderByClause, limitValue, offsetValue, isDistinct, navigationJoins, selectedFields } = config;
|
|
172
212
|
if (!arrayField) {
|
|
173
213
|
throw new Error('arrayField is required for array aggregation');
|
|
174
214
|
}
|
|
215
|
+
const hasNavigationJoins = navigationJoins && navigationJoins.length > 0;
|
|
216
|
+
// Get the actual field expression from selectedFields (if available)
|
|
217
|
+
// This handles navigation properties like p.user!.id which need to be "user"."id"
|
|
218
|
+
let fieldExpression = `"${arrayField}"`;
|
|
219
|
+
if (selectedFields && selectedFields.length > 0) {
|
|
220
|
+
const firstField = selectedFields[0];
|
|
221
|
+
if (firstField.expression && firstField.expression !== `"${arrayField}"`) {
|
|
222
|
+
// Use the actual expression (e.g., "user"."id") instead of just the alias
|
|
223
|
+
fieldExpression = firstField.expression;
|
|
224
|
+
}
|
|
225
|
+
else if (hasNavigationJoins) {
|
|
226
|
+
// If we have navigation joins but no explicit expression, qualify with target table
|
|
227
|
+
fieldExpression = `"${targetTable}"."${arrayField}"`;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
// Build navigation JOINs for multi-level navigation
|
|
231
|
+
const navJoinsSQL = this.buildNavigationJoins(navigationJoins, targetTable);
|
|
175
232
|
// Build WHERE clause with LATERAL correlation
|
|
176
233
|
let whereSQL = `WHERE "${targetTable}"."${foreignKey}" = "${sourceTable}"."id"`;
|
|
177
234
|
if (whereClause) {
|
|
@@ -195,8 +252,9 @@ SELECT array_agg(
|
|
|
195
252
|
"${arrayField}"
|
|
196
253
|
) as data
|
|
197
254
|
FROM (
|
|
198
|
-
SELECT ${distinctClause}"${arrayField}"
|
|
255
|
+
SELECT ${distinctClause}${fieldExpression} as "${arrayField}"
|
|
199
256
|
FROM "${targetTable}"
|
|
257
|
+
${navJoinsSQL}
|
|
200
258
|
${whereSQL}
|
|
201
259
|
${orderBySQL}
|
|
202
260
|
${limitOffsetClause}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lateral-collection-strategy.js","sourceRoot":"","sources":["../../../src/query/strategies/lateral-collection-strategy.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"lateral-collection-strategy.js","sourceRoot":"","sources":["../../../src/query/strategies/lateral-collection-strategy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED