linkgress-orm 0.0.3 → 0.1.1

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 (73) hide show
  1. package/README.md +3 -3
  2. package/dist/entity/db-column.d.ts +38 -1
  3. package/dist/entity/db-column.d.ts.map +1 -1
  4. package/dist/entity/db-column.js.map +1 -1
  5. package/dist/entity/db-context.d.ts +429 -50
  6. package/dist/entity/db-context.d.ts.map +1 -1
  7. package/dist/entity/db-context.js +884 -203
  8. package/dist/entity/db-context.js.map +1 -1
  9. package/dist/entity/entity-base.d.ts +8 -0
  10. package/dist/entity/entity-base.d.ts.map +1 -1
  11. package/dist/entity/entity-base.js.map +1 -1
  12. package/dist/index.d.ts +2 -2
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +4 -3
  15. package/dist/index.js.map +1 -1
  16. package/dist/query/collection-strategy.factory.d.ts.map +1 -1
  17. package/dist/query/collection-strategy.factory.js +7 -3
  18. package/dist/query/collection-strategy.factory.js.map +1 -1
  19. package/dist/query/collection-strategy.interface.d.ts +12 -6
  20. package/dist/query/collection-strategy.interface.d.ts.map +1 -1
  21. package/dist/query/conditions.d.ts +134 -23
  22. package/dist/query/conditions.d.ts.map +1 -1
  23. package/dist/query/conditions.js +58 -0
  24. package/dist/query/conditions.js.map +1 -1
  25. package/dist/query/cte-builder.d.ts +24 -5
  26. package/dist/query/cte-builder.d.ts.map +1 -1
  27. package/dist/query/cte-builder.js +45 -7
  28. package/dist/query/cte-builder.js.map +1 -1
  29. package/dist/query/grouped-query.d.ts +196 -8
  30. package/dist/query/grouped-query.d.ts.map +1 -1
  31. package/dist/query/grouped-query.js +586 -54
  32. package/dist/query/grouped-query.js.map +1 -1
  33. package/dist/query/join-builder.d.ts +5 -4
  34. package/dist/query/join-builder.d.ts.map +1 -1
  35. package/dist/query/join-builder.js +21 -47
  36. package/dist/query/join-builder.js.map +1 -1
  37. package/dist/query/query-builder.d.ts +118 -20
  38. package/dist/query/query-builder.d.ts.map +1 -1
  39. package/dist/query/query-builder.js +511 -280
  40. package/dist/query/query-builder.js.map +1 -1
  41. package/dist/query/query-utils.d.ts +45 -0
  42. package/dist/query/query-utils.d.ts.map +1 -0
  43. package/dist/query/query-utils.js +103 -0
  44. package/dist/query/query-utils.js.map +1 -0
  45. package/dist/query/sql-utils.d.ts +83 -0
  46. package/dist/query/sql-utils.d.ts.map +1 -0
  47. package/dist/query/sql-utils.js +218 -0
  48. package/dist/query/sql-utils.js.map +1 -0
  49. package/dist/query/strategies/cte-collection-strategy.d.ts +85 -0
  50. package/dist/query/strategies/cte-collection-strategy.d.ts.map +1 -0
  51. package/dist/query/strategies/cte-collection-strategy.js +338 -0
  52. package/dist/query/strategies/cte-collection-strategy.js.map +1 -0
  53. package/dist/query/strategies/lateral-collection-strategy.d.ts +59 -0
  54. package/dist/query/strategies/lateral-collection-strategy.d.ts.map +1 -0
  55. package/dist/query/strategies/lateral-collection-strategy.js +243 -0
  56. package/dist/query/strategies/lateral-collection-strategy.js.map +1 -0
  57. package/dist/query/strategies/temptable-collection-strategy.d.ts +21 -0
  58. package/dist/query/strategies/temptable-collection-strategy.d.ts.map +1 -1
  59. package/dist/query/strategies/temptable-collection-strategy.js +160 -38
  60. package/dist/query/strategies/temptable-collection-strategy.js.map +1 -1
  61. package/dist/query/subquery.d.ts +24 -1
  62. package/dist/query/subquery.d.ts.map +1 -1
  63. package/dist/query/subquery.js +38 -2
  64. package/dist/query/subquery.js.map +1 -1
  65. package/dist/schema/table-builder.d.ts +16 -0
  66. package/dist/schema/table-builder.d.ts.map +1 -1
  67. package/dist/schema/table-builder.js +23 -1
  68. package/dist/schema/table-builder.js.map +1 -1
  69. package/package.json +1 -1
  70. package/dist/query/strategies/jsonb-collection-strategy.d.ts +0 -51
  71. package/dist/query/strategies/jsonb-collection-strategy.d.ts.map +0 -1
  72. package/dist/query/strategies/jsonb-collection-strategy.js +0 -210
  73. 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"}
@@ -267,26 +267,40 @@ ${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 = '';
283
- if (limitValue !== undefined) {
284
- limitOffsetClause = ` LIMIT ${limitValue}`;
285
- }
286
- if (offsetValue !== undefined) {
287
- limitOffsetClause += ` OFFSET ${offsetValue}`;
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);
288
302
  }
289
- // Simple SELECT with foreign key for grouping
303
+ // No LIMIT/OFFSET - use simple SELECT
290
304
  const sql = `
291
305
  SELECT
292
306
  "${foreignKey}" as parent_id,
@@ -294,7 +308,43 @@ SELECT
294
308
  FROM "${targetTable}"
295
309
  WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
296
310
  ${orderBySQL}
297
- ${limitOffsetClause}
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;
324
+ if (limitValue !== undefined) {
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 = '';
355
- if (limitValue !== undefined) {
356
- limitOffsetClause = ` LIMIT ${limitValue}`;
357
- }
358
- if (offsetValue !== undefined) {
359
- limitOffsetClause += ` OFFSET ${offsetValue}`;
360
- }
419
+ const orderBySQL = orderByClause ? `ORDER BY ${orderByClause}` : `ORDER BY "id" DESC`;
361
420
  // Build jsonb_agg ORDER BY clause
362
421
  const jsonbAggOrderBy = orderByClause ? ` ORDER BY ${orderByClause}` : '';
363
- // Build the SQL - matching JSONB strategy approach
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
364
427
  const sql = `
365
428
  SELECT
366
429
  t."${foreignKey}" as parent_id,
367
430
  jsonb_agg(
368
- jsonb_build_object(${jsonbFields})${jsonbAggOrderBy}
431
+ ${jsonbObjectExpr}${jsonbAggOrderBy}
369
432
  ) as data
370
433
  FROM (
371
434
  SELECT *
372
435
  FROM "${targetTable}"
373
436
  WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
374
437
  ${orderBySQL}
375
- ${limitOffsetClause}
376
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;
453
+ if (limitValue !== undefined) {
454
+ rowNumberFilter = `WHERE "__rn" > ${offset} AND "__rn" <= ${offset + limitValue}`;
455
+ }
456
+ else {
457
+ rowNumberFilter = `WHERE "__rn" > ${offset}`;
458
+ }
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}
377
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,18 +486,14 @@ 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 = '';
395
- if (limitValue !== undefined) {
396
- limitOffsetClause = ` LIMIT ${limitValue}`;
397
- }
398
- if (offsetValue !== undefined) {
399
- limitOffsetClause += ` OFFSET ${offsetValue}`;
400
- }
489
+ const orderBySQL = orderByClause ? `ORDER BY ${orderByClause}` : `ORDER BY "id" DESC`;
401
490
  // Build array_agg ORDER BY clause
402
491
  const arrayAggOrderBy = orderByClause ? ` ORDER BY ${orderByClause}` : '';
403
- // Build the SQL - matching JSONB strategy approach
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
404
497
  const sql = `
405
498
  SELECT
406
499
  t."${foreignKey}" as parent_id,
@@ -410,8 +503,37 @@ FROM (
410
503
  FROM "${targetTable}"
411
504
  WHERE "${foreignKey}" IN (SELECT id FROM ${tempTableName})${additionalWhere}
412
505
  ${orderBySQL}
413
- ${limitOffsetClause}
414
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;
521
+ if (limitValue !== undefined) {
522
+ rowNumberFilter = `WHERE "__rn" > ${offset} AND "__rn" <= ${offset + limitValue}`;
523
+ }
524
+ else {
525
+ rowNumberFilter = `WHERE "__rn" > ${offset}`;
526
+ }
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}
415
537
  GROUP BY t."${foreignKey}"
416
538
  `.trim();
417
539
  return sql;
@@ -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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"}
@@ -19,16 +19,22 @@ const conditions_1 = require("./conditions");
19
19
  * TMode: 'scalar' | 'array' | 'table' - determines how the subquery can be used
20
20
  */
21
21
  class Subquery {
22
- constructor(sqlBuilder, mode = 'table', selectionMetadata) {
22
+ constructor(sqlBuilder, mode = 'table', selectionMetadata, outerFieldRefs) {
23
+ /**
24
+ * Field refs from outer queries used inside this subquery's WHERE condition.
25
+ * These need to be propagated to the outer query so it can add necessary JOINs.
26
+ */
27
+ this.outerFieldRefs = [];
23
28
  this.sqlBuilder = sqlBuilder;
24
29
  this.__mode = mode;
25
30
  this.selectionMetadata = selectionMetadata;
31
+ this.outerFieldRefs = outerFieldRefs || [];
26
32
  }
27
33
  /**
28
34
  * Set an alias for this subquery (used when subquery is a table source)
29
35
  */
30
36
  as(alias) {
31
- const clone = new Subquery(this.sqlBuilder, this.__mode, this.selectionMetadata);
37
+ const clone = new Subquery(this.sqlBuilder, this.__mode, this.selectionMetadata, this.outerFieldRefs);
32
38
  clone.alias = alias;
33
39
  return clone;
34
40
  }
@@ -50,6 +56,13 @@ class Subquery {
50
56
  getSelectionMetadata() {
51
57
  return this.selectionMetadata;
52
58
  }
59
+ /**
60
+ * Get field refs from outer queries used inside this subquery.
61
+ * These need to be propagated to the outer query for JOIN detection.
62
+ */
63
+ getOuterFieldRefs() {
64
+ return this.outerFieldRefs;
65
+ }
53
66
  /**
54
67
  * Check if this is a scalar subquery
55
68
  */
@@ -84,6 +97,13 @@ class ExistsCondition extends conditions_1.WhereConditionBase {
84
97
  super();
85
98
  this.subquery = subquery;
86
99
  }
100
+ /**
101
+ * Get field refs from outer queries used inside this subquery.
102
+ * These are propagated to enable JOIN detection in the outer query.
103
+ */
104
+ getFieldRefs() {
105
+ return this.subquery.getOuterFieldRefs();
106
+ }
87
107
  buildSql(context) {
88
108
  const subquerySql = this.subquery.buildSql(context);
89
109
  return `EXISTS (${subquerySql})`;
@@ -98,6 +118,13 @@ class NotExistsCondition extends conditions_1.WhereConditionBase {
98
118
  super();
99
119
  this.subquery = subquery;
100
120
  }
121
+ /**
122
+ * Get field refs from outer queries used inside this subquery.
123
+ * These are propagated to enable JOIN detection in the outer query.
124
+ */
125
+ getFieldRefs() {
126
+ return this.subquery.getOuterFieldRefs();
127
+ }
101
128
  buildSql(context) {
102
129
  const subquerySql = this.subquery.buildSql(context);
103
130
  return `NOT EXISTS (${subquerySql})`;
@@ -114,6 +141,9 @@ class InSubqueryCondition extends conditions_1.WhereConditionBase {
114
141
  this.field = field;
115
142
  this.subquery = subquery;
116
143
  }
144
+ getFieldRefs() {
145
+ return [this.field];
146
+ }
117
147
  buildSql(context) {
118
148
  const fieldName = this.getDbColumnName(this.field);
119
149
  const subquerySql = this.subquery.buildSql(context);
@@ -130,6 +160,9 @@ class NotInSubqueryCondition extends conditions_1.WhereConditionBase {
130
160
  this.field = field;
131
161
  this.subquery = subquery;
132
162
  }
163
+ getFieldRefs() {
164
+ return [this.field];
165
+ }
133
166
  buildSql(context) {
134
167
  const fieldName = this.getDbColumnName(this.field);
135
168
  const subquerySql = this.subquery.buildSql(context);
@@ -148,6 +181,9 @@ class ScalarSubqueryComparison extends conditions_1.WhereConditionBase {
148
181
  this.operator = operator;
149
182
  this.subquery = subquery;
150
183
  }
184
+ getFieldRefs() {
185
+ return [this.field];
186
+ }
151
187
  buildSql(context) {
152
188
  const fieldName = this.getDbColumnName(this.field);
153
189
  const subquerySql = this.subquery.buildSql(context);
@@ -1 +1 @@
1
- {"version":3,"file":"subquery.js","sourceRoot":"","sources":["../../src/query/subquery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subquery.js","sourceRoot":"","sources":["../../src/query/subquery.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,21 @@ export interface TableSchema<TColumns extends Record<string, ColumnBuilder> = an
49
49
  relations: Record<string, RelationConfig>;
50
50
  indexes: IndexDefinition[];
51
51
  foreignKeys: ForeignKeyConstraint[];
52
+ /**
53
+ * Performance optimization: Pre-computed map of property names to database column names
54
+ * Avoids repeated .build().name calls during query building
55
+ */
56
+ columnNameMap?: Map<string, string>;
57
+ /**
58
+ * Performance optimization: Pre-computed array of relation entries
59
+ * Avoids repeated Object.entries() calls during query building
60
+ */
61
+ relationEntries?: Array<[string, RelationConfig]>;
62
+ /**
63
+ * Performance optimization: Cache of built target schemas for relations
64
+ * Avoids repeated targetTableBuilder.build() calls
65
+ */
66
+ relationSchemaCache?: Map<string, TableSchema>;
52
67
  }
53
68
  /**
54
69
  * Extract TypeScript type from column builders
@@ -88,6 +103,7 @@ export declare class TableBuilder<TSchema extends SchemaDefinition = any> {
88
103
  private indexDefs;
89
104
  private foreignKeyDefs;
90
105
  constructor(name: string, schema: TSchema, indexes?: IndexDefinition[], foreignKeys?: ForeignKeyConstraint[], schemaName?: string);
106
+ private _cachedSchema?;
91
107
  /**
92
108
  * Build the final table schema
93
109
  */
@@ -1 +1 @@
1
- {"version":3,"file":"table-builder.d.ts","sourceRoot":"","sources":["../../src/schema/table-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EACL,YAAY,EACZ,WAAW,EACX,sBAAsB,EACtB,YAAY,EAMb,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,CAAC;AAEjG;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,GAAG;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,QAAQ,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC1C,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,WAAW,EAAE,oBAAoB,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,IAAI;KACjD,CAAC,IAAI,MAAM,CAAC,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AAEtJ;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,gBAAgB,IAAI;KACtD,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CAC/D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,gBAAgB,IAAI;KAC1D,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CACxI,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY,CAAC,OAAO,SAAS,gBAAgB,GAAG,GAAG;IAC9D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,cAAc,CAA8B;gBAExC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,EAAE,WAAW,CAAC,EAAE,oBAAoB,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM;IAsDjI;;OAEG;IACH,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC;IAWzB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAI3C;;OAEG;IACH,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;IAI9C;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;;OAGG;IACH,KAAK,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,OAAO,CAAC,EAC3C,UAAU,EAAE,CAAC,GACZ,GAAG;CAWP;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,SAAS,gBAAgB,EACpD,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,GACd,YAAY,CAAC,OAAO,CAAC,CAEvB"}
1
+ {"version":3,"file":"table-builder.d.ts","sourceRoot":"","sources":["../../src/schema/table-builder.ts"],"names":[],"mappings":"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"}