linkgress-orm 0.0.2 → 0.1.0

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 (72) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +196 -196
  3. package/dist/entity/db-column.d.ts +38 -1
  4. package/dist/entity/db-column.d.ts.map +1 -1
  5. package/dist/entity/db-column.js.map +1 -1
  6. package/dist/entity/db-context.d.ts +429 -50
  7. package/dist/entity/db-context.d.ts.map +1 -1
  8. package/dist/entity/db-context.js +884 -203
  9. package/dist/entity/db-context.js.map +1 -1
  10. package/dist/entity/entity-base.d.ts +8 -0
  11. package/dist/entity/entity-base.d.ts.map +1 -1
  12. package/dist/entity/entity-base.js.map +1 -1
  13. package/dist/index.d.ts +3 -3
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +5 -2
  16. package/dist/index.js.map +1 -1
  17. package/dist/migration/db-schema-manager.js +77 -77
  18. package/dist/migration/enum-migrator.js +6 -6
  19. package/dist/query/collection-strategy.factory.d.ts.map +1 -1
  20. package/dist/query/collection-strategy.factory.js +7 -3
  21. package/dist/query/collection-strategy.factory.js.map +1 -1
  22. package/dist/query/collection-strategy.interface.d.ts +12 -6
  23. package/dist/query/collection-strategy.interface.d.ts.map +1 -1
  24. package/dist/query/conditions.d.ts +178 -24
  25. package/dist/query/conditions.d.ts.map +1 -1
  26. package/dist/query/conditions.js +165 -4
  27. package/dist/query/conditions.js.map +1 -1
  28. package/dist/query/cte-builder.d.ts +21 -5
  29. package/dist/query/cte-builder.d.ts.map +1 -1
  30. package/dist/query/cte-builder.js +31 -7
  31. package/dist/query/cte-builder.js.map +1 -1
  32. package/dist/query/grouped-query.d.ts +185 -8
  33. package/dist/query/grouped-query.d.ts.map +1 -1
  34. package/dist/query/grouped-query.js +516 -30
  35. package/dist/query/grouped-query.js.map +1 -1
  36. package/dist/query/join-builder.d.ts +5 -4
  37. package/dist/query/join-builder.d.ts.map +1 -1
  38. package/dist/query/join-builder.js +11 -33
  39. package/dist/query/join-builder.js.map +1 -1
  40. package/dist/query/query-builder.d.ts +89 -20
  41. package/dist/query/query-builder.d.ts.map +1 -1
  42. package/dist/query/query-builder.js +317 -168
  43. package/dist/query/query-builder.js.map +1 -1
  44. package/dist/query/query-utils.d.ts +45 -0
  45. package/dist/query/query-utils.d.ts.map +1 -0
  46. package/dist/query/query-utils.js +103 -0
  47. package/dist/query/query-utils.js.map +1 -0
  48. package/dist/query/sql-utils.d.ts +83 -0
  49. package/dist/query/sql-utils.d.ts.map +1 -0
  50. package/dist/query/sql-utils.js +218 -0
  51. package/dist/query/sql-utils.js.map +1 -0
  52. package/dist/query/strategies/cte-collection-strategy.d.ts +85 -0
  53. package/dist/query/strategies/cte-collection-strategy.d.ts.map +1 -0
  54. package/dist/query/strategies/cte-collection-strategy.js +338 -0
  55. package/dist/query/strategies/cte-collection-strategy.js.map +1 -0
  56. package/dist/query/strategies/lateral-collection-strategy.d.ts +59 -0
  57. package/dist/query/strategies/lateral-collection-strategy.d.ts.map +1 -0
  58. package/dist/query/strategies/lateral-collection-strategy.js +243 -0
  59. package/dist/query/strategies/lateral-collection-strategy.js.map +1 -0
  60. package/dist/query/strategies/temptable-collection-strategy.d.ts +21 -0
  61. package/dist/query/strategies/temptable-collection-strategy.d.ts.map +1 -1
  62. package/dist/query/strategies/temptable-collection-strategy.js +216 -94
  63. package/dist/query/strategies/temptable-collection-strategy.js.map +1 -1
  64. package/dist/query/subquery.d.ts +24 -1
  65. package/dist/query/subquery.d.ts.map +1 -1
  66. package/dist/query/subquery.js +38 -2
  67. package/dist/query/subquery.js.map +1 -1
  68. package/package.json +1 -1
  69. package/dist/query/strategies/jsonb-collection-strategy.d.ts +0 -51
  70. package/dist/query/strategies/jsonb-collection-strategy.d.ts.map +0 -1
  71. package/dist/query/strategies/jsonb-collection-strategy.js +0 -210
  72. package/dist/query/strategies/jsonb-collection-strategy.js.map +0 -1
@@ -68,8 +68,15 @@ export declare class TempTableCollectionStrategy implements ICollectionStrategy
68
68
  /**
69
69
  * Build a simple SELECT query without aggregation
70
70
  * Results will be grouped in JavaScript for better performance
71
+ *
72
+ * When LIMIT/OFFSET is specified, uses ROW_NUMBER() window function to correctly
73
+ * apply pagination per parent row (not globally).
71
74
  */
72
75
  private buildSimpleSelectSQL;
76
+ /**
77
+ * Build simple SELECT with ROW_NUMBER() for per-parent LIMIT/OFFSET
78
+ */
79
+ private buildSimpleSelectSQLWithRowNumber;
73
80
  /**
74
81
  * Safely escape a value for SQL interpolation
75
82
  * Used only in multi-statement queries with .simple() mode
@@ -81,12 +88,26 @@ export declare class TempTableCollectionStrategy implements ICollectionStrategy
81
88
  private buildEmptyAggregation;
82
89
  /**
83
90
  * Build JSONB aggregation using temp table
91
+ *
92
+ * When LIMIT/OFFSET is specified, uses ROW_NUMBER() window function to correctly
93
+ * apply pagination per parent row (not globally).
84
94
  */
85
95
  private buildJsonbAggregationSQL;
96
+ /**
97
+ * Build JSONB aggregation with ROW_NUMBER() for per-parent LIMIT/OFFSET
98
+ */
99
+ private buildJsonbAggregationSQLWithRowNumber;
86
100
  /**
87
101
  * Build array aggregation using temp table
102
+ *
103
+ * When LIMIT/OFFSET is specified, uses ROW_NUMBER() window function to correctly
104
+ * apply pagination per parent row (not globally).
88
105
  */
89
106
  private buildArrayAggregationSQL;
107
+ /**
108
+ * Build array aggregation with ROW_NUMBER() for per-parent LIMIT/OFFSET
109
+ */
110
+ private buildArrayAggregationSQLWithRowNumber;
90
111
  /**
91
112
  * Build scalar aggregation using temp table
92
113
  */
@@ -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,EAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACrE,OAAO,IAAI,sBAAsB;IAIjC,iBAAiB,IAAI,OAAO;IAKtB,gBAAgB,CACpB,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,2BAA2B,CAAC;IAevC;;;;;;OAMG;YACW,8BAA8B;IAiG5C;;;OAGG;YACW,sBAAsB;IAiEpC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAsBjC;;;;;;OAMG;IACH,OAAO,CAAC,yCAAyC;IAsCjD;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAwC5B;;;OAGG;IACH,OAAO,CAAC,WAAW;IA0BnB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAiDhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA8ChC;;OAEG;IACH,OAAO,CAAC,yBAAyB;CAuClC"}
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;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACrE,OAAO,IAAI,sBAAsB;IAIjC,iBAAiB,IAAI,OAAO;IAKtB,gBAAgB,CACpB,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,2BAA2B,CAAC;IAevC;;;;;;OAMG;YACW,8BAA8B;IAiG5C;;;OAGG;YACW,sBAAsB;IAiEpC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAsBjC;;;;;;OAMG;IACH,OAAO,CAAC,yCAAyC;IAsCjD;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAqD5B;;OAEG;IACH,OAAO,CAAC,iCAAiC;IA4CzC;;;OAGG;IACH,OAAO,CAAC,WAAW;IA0BnB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IA4DhC;;OAEG;IACH,OAAO,CAAC,qCAAqC;IAsC7C;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IA2ChC;;OAEG;IACH,OAAO,CAAC,qCAAqC;IAmC7C;;OAEG;IACH,OAAO,CAAC,yBAAyB;CAuClC"}
@@ -74,20 +74,20 @@ class TempTableCollectionStrategy {
74
74
  // Determine if we're doing client-side grouping (JSONB/array) or server-side (scalar)
75
75
  const isClientSideGrouping = config.aggregationType === 'jsonb' || config.aggregationType === 'array';
76
76
  // Combine everything into a single multi-statement query
77
- const multiStatementSQL = `
78
- -- Create temporary table for parent IDs
79
- CREATE TEMP TABLE ${tempTableName} (
80
- id integer PRIMARY KEY
81
- ) ON COMMIT DROP;
82
-
83
- -- Insert parent IDs
84
- INSERT INTO ${tempTableName} VALUES ${valuePlaceholders};
85
-
86
- -- Query and return the data
87
- ${aggregationSQL};
88
-
89
- -- Cleanup
90
- DROP TABLE IF EXISTS ${tempTableName};
77
+ const multiStatementSQL = `
78
+ -- Create temporary table for parent IDs
79
+ CREATE TEMP TABLE ${tempTableName} (
80
+ id integer PRIMARY KEY
81
+ ) ON COMMIT DROP;
82
+
83
+ -- Insert parent IDs
84
+ INSERT INTO ${tempTableName} VALUES ${valuePlaceholders};
85
+
86
+ -- Query and return the data
87
+ ${aggregationSQL};
88
+
89
+ -- Cleanup
90
+ DROP TABLE IF EXISTS ${tempTableName};
91
91
  `.trim();
92
92
  // Execute multi-statement query using querySimple (no parameters)
93
93
  const executor = context.executor || client;
@@ -158,10 +158,10 @@ DROP TABLE IF EXISTS ${tempTableName};
158
158
  async buildAggregationLegacy(config, context, client) {
159
159
  const tempTableName = `tmp_parent_ids_${config.counter}`;
160
160
  // Create temp table (without ON COMMIT DROP to persist across queries in the same session)
161
- const createTableSQL = `
162
- CREATE TEMP TABLE IF NOT EXISTS ${tempTableName} (
163
- id integer PRIMARY KEY
164
- )
161
+ const createTableSQL = `
162
+ CREATE TEMP TABLE IF NOT EXISTS ${tempTableName} (
163
+ id integer PRIMARY KEY
164
+ )
165
165
  `.trim();
166
166
  // Use executor from context if available for query logging
167
167
  if (context.executor) {
@@ -186,9 +186,9 @@ CREATE TEMP TABLE IF NOT EXISTS ${tempTableName} (
186
186
  const selectExpression = `"${tempTableName}_agg".data`;
187
187
  // Execute aggregation query and store results in another temp table
188
188
  const aggTempTableName = `${tempTableName}_agg`;
189
- const createAggTableSQL = `
190
- CREATE TEMP TABLE ${aggTempTableName} AS
191
- ${aggregationSQL}
189
+ const createAggTableSQL = `
190
+ CREATE TEMP TABLE ${aggTempTableName} AS
191
+ ${aggregationSQL}
192
192
  `.trim();
193
193
  // Use executor from context if available for query logging
194
194
  if (context.executor) {
@@ -267,34 +267,84 @@ ${aggregationSQL}
267
267
  /**
268
268
  * Build a simple SELECT query without aggregation
269
269
  * Results will be grouped in JavaScript for better performance
270
+ *
271
+ * When LIMIT/OFFSET is specified, uses ROW_NUMBER() window function to correctly
272
+ * apply pagination per parent row (not globally).
270
273
  */
271
274
  buildSimpleSelectSQL(config, tempTableName) {
272
275
  const { selectedFields, targetTable, foreignKey, whereClause, orderByClause, limitValue, offsetValue } = config;
276
+ // Helper to collect all leaf fields from a potentially nested structure
277
+ const collectLeafFields = (fields, prefix = '') => {
278
+ const result = [];
279
+ for (const field of fields) {
280
+ const fullAlias = prefix ? `${prefix}__${field.alias}` : field.alias;
281
+ if (field.nested) {
282
+ result.push(...collectLeafFields(field.nested, fullAlias));
283
+ }
284
+ else if (field.expression) {
285
+ result.push({ alias: fullAlias, expression: field.expression });
286
+ }
287
+ }
288
+ return result;
289
+ };
290
+ const leafFields = collectLeafFields(selectedFields);
273
291
  // Build SELECT fields
274
- const selectFields = selectedFields
292
+ const selectFields = leafFields
275
293
  .map(f => `${f.expression} as "${f.alias}"`)
276
294
  .join(', ');
277
295
  // Build WHERE clause
278
296
  const additionalWhere = whereClause ? ` AND ${whereClause}` : '';
279
297
  // Build ORDER BY clause
280
- const orderBySQL = orderByClause ? ` ORDER BY ${orderByClause}` : ` ORDER BY "id" DESC`;
281
- // Build LIMIT/OFFSET
282
- let limitOffsetClause = '';
298
+ const orderBySQL = orderByClause ? `ORDER BY ${orderByClause}` : `ORDER BY "id" DESC`;
299
+ // If LIMIT or OFFSET is specified, use ROW_NUMBER() for per-parent pagination
300
+ if (limitValue !== undefined || offsetValue !== undefined) {
301
+ return this.buildSimpleSelectSQLWithRowNumber(config, tempTableName, selectFields, additionalWhere, orderBySQL);
302
+ }
303
+ // No LIMIT/OFFSET - use simple SELECT
304
+ const sql = `
305
+ SELECT
306
+ "${foreignKey}" as parent_id,
307
+ ${selectFields}
308
+ FROM "${targetTable}"
309
+ WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
310
+ ${orderBySQL}
311
+ `.trim();
312
+ return sql;
313
+ }
314
+ /**
315
+ * Build simple SELECT with ROW_NUMBER() for per-parent LIMIT/OFFSET
316
+ */
317
+ buildSimpleSelectSQLWithRowNumber(config, tempTableName, selectFields, additionalWhere, orderBySQL) {
318
+ const { targetTable, foreignKey, orderByClause, limitValue, offsetValue } = config;
319
+ // Build ORDER BY for ROW_NUMBER() - use the order clause or default to id DESC
320
+ const rowNumberOrderBy = orderByClause || `"id" DESC`;
321
+ // Build the row number filter condition
322
+ const offset = offsetValue || 0;
323
+ let rowNumberFilter;
283
324
  if (limitValue !== undefined) {
284
- limitOffsetClause = ` LIMIT ${limitValue}`;
285
- }
286
- if (offsetValue !== undefined) {
287
- limitOffsetClause += ` OFFSET ${offsetValue}`;
288
- }
289
- // Simple SELECT with foreign key for grouping
290
- const sql = `
291
- SELECT
292
- "${foreignKey}" as parent_id,
293
- ${selectFields}
294
- FROM "${targetTable}"
295
- WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
296
- ${orderBySQL}
297
- ${limitOffsetClause}
325
+ rowNumberFilter = `WHERE "__rn" > ${offset} AND "__rn" <= ${offset + limitValue}`;
326
+ }
327
+ else {
328
+ rowNumberFilter = `WHERE "__rn" > ${offset}`;
329
+ }
330
+ const sql = `
331
+ SELECT
332
+ parent_id,
333
+ ${selectFields.split(', ').map(f => {
334
+ // Extract just the alias part for outer select
335
+ const match = f.match(/as "([^"]+)"$/);
336
+ return match ? `"${match[1]}"` : f;
337
+ }).join(', ')}
338
+ FROM (
339
+ SELECT
340
+ "${foreignKey}" as parent_id,
341
+ ${selectFields},
342
+ ROW_NUMBER() OVER (PARTITION BY "${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
343
+ FROM "${targetTable}"
344
+ WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
345
+ ) sub
346
+ ${rowNumberFilter}
347
+ ${orderBySQL.replace(/ORDER BY/i, 'ORDER BY')}
298
348
  `.trim();
299
349
  return sql;
300
350
  }
@@ -339,47 +389,94 @@ ${limitOffsetClause}
339
389
  }
340
390
  /**
341
391
  * Build JSONB aggregation using temp table
392
+ *
393
+ * When LIMIT/OFFSET is specified, uses ROW_NUMBER() window function to correctly
394
+ * apply pagination per parent row (not globally).
342
395
  */
343
396
  buildJsonbAggregationSQL(config, tempTableName) {
344
397
  const { selectedFields, targetTable, foreignKey, whereClause, orderByClause, limitValue, offsetValue, isDistinct } = config;
345
- // Build the JSONB fields for jsonb_build_object
346
- const jsonbFields = selectedFields
347
- .map(f => `'${f.alias}', t.${f.expression}`)
348
- .join(', ');
398
+ // Helper to build jsonb_build_object expression (handles nested structures)
399
+ const buildJsonbObject = (fields, prefix = '', tableAlias = 't') => {
400
+ const parts = [];
401
+ for (const field of fields) {
402
+ if (field.nested) {
403
+ // Nested object - recurse
404
+ const nestedJsonb = buildJsonbObject(field.nested, prefix ? `${prefix}__${field.alias}` : field.alias, tableAlias);
405
+ parts.push(`'${field.alias}', ${nestedJsonb}`);
406
+ }
407
+ else if (field.expression) {
408
+ // Leaf field - reference the column via table alias
409
+ parts.push(`'${field.alias}', ${tableAlias}.${field.expression}`);
410
+ }
411
+ }
412
+ return `jsonb_build_object(${parts.join(', ')})`;
413
+ };
414
+ // Build the JSONB fields for jsonb_build_object (handles nested structures)
415
+ const jsonbObjectExpr = buildJsonbObject(selectedFields);
349
416
  // Build WHERE clause (combine temp table join with additional filters)
350
417
  const additionalWhere = whereClause ? ` AND ${whereClause}` : '';
351
418
  // Build ORDER BY clause (use primary key DESC as default for consistent ordering matching JSONB)
352
- const orderBySQL = orderByClause ? ` ORDER BY ${orderByClause}` : ` ORDER BY "id" DESC`;
353
- // Build LIMIT/OFFSET (applied globally to match JSONB strategy behavior)
354
- let limitOffsetClause = '';
419
+ const orderBySQL = orderByClause ? `ORDER BY ${orderByClause}` : `ORDER BY "id" DESC`;
420
+ // Build jsonb_agg ORDER BY clause
421
+ const jsonbAggOrderBy = orderByClause ? ` ORDER BY ${orderByClause}` : '';
422
+ // If LIMIT or OFFSET is specified, use ROW_NUMBER() for per-parent pagination
423
+ if (limitValue !== undefined || offsetValue !== undefined) {
424
+ return this.buildJsonbAggregationSQLWithRowNumber(config, tempTableName, jsonbObjectExpr, additionalWhere);
425
+ }
426
+ // No LIMIT/OFFSET - use simple aggregation
427
+ const sql = `
428
+ SELECT
429
+ t."${foreignKey}" as parent_id,
430
+ jsonb_agg(
431
+ ${jsonbObjectExpr}${jsonbAggOrderBy}
432
+ ) as data
433
+ FROM (
434
+ SELECT *
435
+ FROM "${targetTable}"
436
+ WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
437
+ ${orderBySQL}
438
+ ) t
439
+ GROUP BY t."${foreignKey}"
440
+ `.trim();
441
+ return sql;
442
+ }
443
+ /**
444
+ * Build JSONB aggregation with ROW_NUMBER() for per-parent LIMIT/OFFSET
445
+ */
446
+ buildJsonbAggregationSQLWithRowNumber(config, tempTableName, jsonbObjectExpr, additionalWhere) {
447
+ const { targetTable, foreignKey, orderByClause, limitValue, offsetValue } = config;
448
+ // Build ORDER BY for ROW_NUMBER() - use the order clause or default to id DESC
449
+ const rowNumberOrderBy = orderByClause || `"id" DESC`;
450
+ // Build the row number filter condition
451
+ const offset = offsetValue || 0;
452
+ let rowNumberFilter;
355
453
  if (limitValue !== undefined) {
356
- limitOffsetClause = ` LIMIT ${limitValue}`;
454
+ rowNumberFilter = `WHERE "__rn" > ${offset} AND "__rn" <= ${offset + limitValue}`;
357
455
  }
358
- if (offsetValue !== undefined) {
359
- limitOffsetClause += ` OFFSET ${offsetValue}`;
456
+ else {
457
+ rowNumberFilter = `WHERE "__rn" > ${offset}`;
360
458
  }
361
- // Build jsonb_agg ORDER BY clause
362
- const jsonbAggOrderBy = orderByClause ? ` ORDER BY ${orderByClause}` : '';
363
- // Build the SQL - matching JSONB strategy approach
364
- const sql = `
365
- SELECT
366
- t."${foreignKey}" as parent_id,
367
- jsonb_agg(
368
- jsonb_build_object(${jsonbFields})${jsonbAggOrderBy}
369
- ) as data
370
- FROM (
371
- SELECT *
372
- FROM "${targetTable}"
373
- WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
374
- ${orderBySQL}
375
- ${limitOffsetClause}
376
- ) t
377
- GROUP BY t."${foreignKey}"
459
+ const sql = `
460
+ SELECT
461
+ t."${foreignKey}" as parent_id,
462
+ jsonb_agg(
463
+ ${jsonbObjectExpr}
464
+ ) as data
465
+ FROM (
466
+ SELECT *, ROW_NUMBER() OVER (PARTITION BY "${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
467
+ FROM "${targetTable}"
468
+ WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
469
+ ) t
470
+ ${rowNumberFilter}
471
+ GROUP BY t."${foreignKey}"
378
472
  `.trim();
379
473
  return sql;
380
474
  }
381
475
  /**
382
476
  * Build array aggregation using temp table
477
+ *
478
+ * When LIMIT/OFFSET is specified, uses ROW_NUMBER() window function to correctly
479
+ * apply pagination per parent row (not globally).
383
480
  */
384
481
  buildArrayAggregationSQL(config, tempTableName) {
385
482
  const { arrayField, targetTable, foreignKey, whereClause, orderByClause, limitValue, offsetValue } = config;
@@ -389,30 +486,55 @@ GROUP BY t."${foreignKey}"
389
486
  // Build WHERE clause
390
487
  const additionalWhere = whereClause ? ` AND ${whereClause}` : '';
391
488
  // Build ORDER BY clause (use primary key DESC as default for consistent ordering matching JSONB)
392
- const orderBySQL = orderByClause ? ` ORDER BY ${orderByClause}` : ` ORDER BY "id" DESC`;
393
- // Build LIMIT/OFFSET (applied globally to match JSONB strategy behavior)
394
- let limitOffsetClause = '';
489
+ const orderBySQL = orderByClause ? `ORDER BY ${orderByClause}` : `ORDER BY "id" DESC`;
490
+ // Build array_agg ORDER BY clause
491
+ const arrayAggOrderBy = orderByClause ? ` ORDER BY ${orderByClause}` : '';
492
+ // If LIMIT or OFFSET is specified, use ROW_NUMBER() for per-parent pagination
493
+ if (limitValue !== undefined || offsetValue !== undefined) {
494
+ return this.buildArrayAggregationSQLWithRowNumber(config, tempTableName, additionalWhere);
495
+ }
496
+ // No LIMIT/OFFSET - use simple aggregation
497
+ const sql = `
498
+ SELECT
499
+ t."${foreignKey}" as parent_id,
500
+ array_agg(t."${arrayField}"${arrayAggOrderBy}) as data
501
+ FROM (
502
+ SELECT "${foreignKey}", "${arrayField}"
503
+ FROM "${targetTable}"
504
+ WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
505
+ ${orderBySQL}
506
+ ) t
507
+ GROUP BY t."${foreignKey}"
508
+ `.trim();
509
+ return sql;
510
+ }
511
+ /**
512
+ * Build array aggregation with ROW_NUMBER() for per-parent LIMIT/OFFSET
513
+ */
514
+ buildArrayAggregationSQLWithRowNumber(config, tempTableName, additionalWhere) {
515
+ const { arrayField, targetTable, foreignKey, orderByClause, limitValue, offsetValue } = config;
516
+ // Build ORDER BY for ROW_NUMBER() - use the order clause or default to id DESC
517
+ const rowNumberOrderBy = orderByClause || `"id" DESC`;
518
+ // Build the row number filter condition
519
+ const offset = offsetValue || 0;
520
+ let rowNumberFilter;
395
521
  if (limitValue !== undefined) {
396
- limitOffsetClause = ` LIMIT ${limitValue}`;
522
+ rowNumberFilter = `WHERE "__rn" > ${offset} AND "__rn" <= ${offset + limitValue}`;
397
523
  }
398
- if (offsetValue !== undefined) {
399
- limitOffsetClause += ` OFFSET ${offsetValue}`;
524
+ else {
525
+ rowNumberFilter = `WHERE "__rn" > ${offset}`;
400
526
  }
401
- // Build array_agg ORDER BY clause
402
- const arrayAggOrderBy = orderByClause ? ` ORDER BY ${orderByClause}` : '';
403
- // Build the SQL - matching JSONB strategy approach
404
- const sql = `
405
- SELECT
406
- t."${foreignKey}" as parent_id,
407
- array_agg(t."${arrayField}"${arrayAggOrderBy}) as data
408
- FROM (
409
- SELECT "${foreignKey}", "${arrayField}"
410
- FROM "${targetTable}"
411
- WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
412
- ${orderBySQL}
413
- ${limitOffsetClause}
414
- ) t
415
- GROUP BY t."${foreignKey}"
527
+ const sql = `
528
+ SELECT
529
+ t."${foreignKey}" as parent_id,
530
+ array_agg(t."${arrayField}") as data
531
+ FROM (
532
+ SELECT "${foreignKey}", "${arrayField}", ROW_NUMBER() OVER (PARTITION BY "${foreignKey}" ORDER BY ${rowNumberOrderBy}) as "__rn"
533
+ FROM "${targetTable}"
534
+ WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
535
+ ) t
536
+ ${rowNumberFilter}
537
+ GROUP BY t."${foreignKey}"
416
538
  `.trim();
417
539
  return sql;
418
540
  }
@@ -441,13 +563,13 @@ GROUP BY t."${foreignKey}"
441
563
  default:
442
564
  throw new Error(`Unknown aggregation type: ${aggregationType}`);
443
565
  }
444
- const sql = `
445
- SELECT
446
- tmp.id as parent_id,
447
- COALESCE(${aggregateExpression}, ${config.defaultValue}) as data
448
- FROM ${tempTableName} tmp
449
- LEFT JOIN "${targetTable}" t ON t."${foreignKey}" = tmp.id${additionalWhere}
450
- GROUP BY tmp.id
566
+ const sql = `
567
+ SELECT
568
+ tmp.id as parent_id,
569
+ COALESCE(${aggregateExpression}, ${config.defaultValue}) as data
570
+ FROM ${tempTableName} tmp
571
+ LEFT JOIN "${targetTable}" t ON t."${foreignKey}" = tmp.id${additionalWhere}
572
+ GROUP BY tmp.id
451
573
  `.trim();
452
574
  return sql;
453
575
  }
@@ -1 +1 @@
1
- {"version":3,"file":"temptable-collection-strategy.js","sourceRoot":"","sources":["../../../src/query/strategies/temptable-collection-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"temptable-collection-strategy.js","sourceRoot":"","sources":["../../../src/query/strategies/temptable-collection-strategy.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,11 @@ export declare class Subquery<TResult = any, TMode extends 'scalar' | 'array' |
17
17
  * Selection metadata - preserves SqlFragments with mappers for table subqueries
18
18
  */
19
19
  private selectionMetadata?;
20
+ /**
21
+ * Field refs from outer queries used inside this subquery's WHERE condition.
22
+ * These need to be propagated to the outer query so it can add necessary JOINs.
23
+ */
24
+ private outerFieldRefs;
20
25
  /**
21
26
  * Phantom type marker for type checking
22
27
  */
@@ -24,7 +29,7 @@ export declare class Subquery<TResult = any, TMode extends 'scalar' | 'array' |
24
29
  private __mode?;
25
30
  constructor(sqlBuilder: (context: SqlBuildContext & {
26
31
  tableAlias?: string;
27
- }) => string, mode?: TMode, selectionMetadata?: Record<string, any>);
32
+ }) => string, mode?: TMode, selectionMetadata?: Record<string, any>, outerFieldRefs?: FieldRef[]);
28
33
  /**
29
34
  * Set an alias for this subquery (used when subquery is a table source)
30
35
  */
@@ -43,6 +48,11 @@ export declare class Subquery<TResult = any, TMode extends 'scalar' | 'array' |
43
48
  * Get the selection metadata (preserves SqlFragments with mappers)
44
49
  */
45
50
  getSelectionMetadata(): Record<string, any> | undefined;
51
+ /**
52
+ * Get field refs from outer queries used inside this subquery.
53
+ * These need to be propagated to the outer query for JOIN detection.
54
+ */
55
+ getOuterFieldRefs(): FieldRef[];
46
56
  /**
47
57
  * Check if this is a scalar subquery
48
58
  */
@@ -73,6 +83,11 @@ export declare function isSubquery(value: any): value is Subquery;
73
83
  export declare class ExistsCondition extends WhereConditionBase {
74
84
  private subquery;
75
85
  constructor(subquery: Subquery);
86
+ /**
87
+ * Get field refs from outer queries used inside this subquery.
88
+ * These are propagated to enable JOIN detection in the outer query.
89
+ */
90
+ getFieldRefs(): FieldRef[];
76
91
  buildSql(context: SqlBuildContext): string;
77
92
  }
78
93
  /**
@@ -81,6 +96,11 @@ export declare class ExistsCondition extends WhereConditionBase {
81
96
  export declare class NotExistsCondition extends WhereConditionBase {
82
97
  private subquery;
83
98
  constructor(subquery: Subquery);
99
+ /**
100
+ * Get field refs from outer queries used inside this subquery.
101
+ * These are propagated to enable JOIN detection in the outer query.
102
+ */
103
+ getFieldRefs(): FieldRef[];
84
104
  buildSql(context: SqlBuildContext): string;
85
105
  }
86
106
  /**
@@ -91,6 +111,7 @@ export declare class InSubqueryCondition<T> extends WhereConditionBase {
91
111
  private field;
92
112
  private subquery;
93
113
  constructor(field: FieldRef<any, T>, subquery: Subquery<T[], 'array'>);
114
+ getFieldRefs(): FieldRef[];
94
115
  buildSql(context: SqlBuildContext): string;
95
116
  }
96
117
  /**
@@ -100,6 +121,7 @@ export declare class NotInSubqueryCondition<T> extends WhereConditionBase {
100
121
  private field;
101
122
  private subquery;
102
123
  constructor(field: FieldRef<any, T>, subquery: Subquery<T[], 'array'>);
124
+ getFieldRefs(): FieldRef[];
103
125
  buildSql(context: SqlBuildContext): string;
104
126
  }
105
127
  /**
@@ -111,6 +133,7 @@ export declare class ScalarSubqueryComparison<T> extends WhereConditionBase {
111
133
  private operator;
112
134
  private subquery;
113
135
  constructor(field: FieldRef<any, T>, operator: '=' | '!=' | '>' | '>=' | '<' | '<=', subquery: Subquery<T, 'scalar'>);
136
+ getFieldRefs(): FieldRef[];
114
137
  buildSql(context: SqlBuildContext): string;
115
138
  }
116
139
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"subquery.d.ts","sourceRoot":"","sources":["../../src/query/subquery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subquery.d.ts","sourceRoot":"","sources":["../../src/query/subquery.ts"],"names":[],"mappings":"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"}