linkgress-orm 0.2.3 → 0.2.5

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.
@@ -62,6 +62,12 @@ export interface QueryContext {
62
62
  executor?: QueryExecutor;
63
63
  /** Map of placeholder names to their parameter indices (for prepared statements) */
64
64
  placeholders?: Map<string, number>;
65
+ /**
66
+ * Map of original table names to their LATERAL aliases.
67
+ * Used by nested LATERALs to reference parent collection tables correctly.
68
+ * Example: { "posts": "lateral_0_posts" }
69
+ */
70
+ lateralTableAliasMap?: Map<string, string>;
65
71
  }
66
72
  /**
67
73
  * Query builder for a table
@@ -291,6 +297,11 @@ export declare class SelectQueryBuilder<TSelection> {
291
297
  * Get count of rows from the query
292
298
  */
293
299
  count(): Promise<number>;
300
+ /**
301
+ * Check if any rows match the query
302
+ * More efficient than count() > 0 as it can stop after finding one row
303
+ */
304
+ exists(): Promise<boolean>;
294
305
  /**
295
306
  * Execute query and return results as array
296
307
  * Collection results are automatically resolved to arrays
@@ -433,14 +444,33 @@ export declare class SelectQueryBuilder<TSelection> {
433
444
  update(data: Partial<Record<string, any>>): FluentQueryUpdate<TSelection>;
434
445
  /**
435
446
  * Build RETURNING clause for delete/update operations
447
+ * @param returning - The returning configuration
448
+ * @param qualifyWithTable - If true, qualify column names with the main table name (needed for DELETE with USING)
436
449
  * @internal
437
450
  */
438
- private buildDeleteReturningClause;
451
+ private buildUpdateDeleteReturningClause;
439
452
  /**
440
453
  * Map row results for delete/update RETURNING clause
441
454
  * @internal
442
455
  */
443
456
  private mapDeleteReturningResults;
457
+ /**
458
+ * Detect if a RETURNING selector uses navigation properties
459
+ * Returns navigation info if found, null otherwise
460
+ * @internal
461
+ */
462
+ private detectNavigationInReturning;
463
+ /**
464
+ * Build RETURNING clause with navigation property support using CTE
465
+ * @internal
466
+ */
467
+ private buildReturningWithNavigation;
468
+ /**
469
+ * Map RETURNING results with navigation properties
470
+ * Applies type mappers based on source table schemas
471
+ * @internal
472
+ */
473
+ private mapReturningResultsWithNavigation;
444
474
  /**
445
475
  * Create mock row for analysis
446
476
  * @internal
@@ -536,9 +566,9 @@ export declare class SelectQueryBuilder<TSelection> {
536
566
  */
537
567
  private buildAggregationQuery;
538
568
  /**
539
- * Build count query
569
+ * Build aggregate query (count or exists)
540
570
  */
541
- private buildCountQuery;
571
+ private buildAggregateQuery;
542
572
  /**
543
573
  * Convert this query to a subquery that can be used in WHERE, SELECT, JOIN, or FROM clauses
544
574
  *
@@ -1 +1 @@
1
- {"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../../src/query/query-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoB,WAAW,EAAmB,QAAQ,EAAE,eAAe,EAAoC,MAAM,cAAc,CAAC;AACtJ,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,cAAc,EAAiB,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGlJ,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAS,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAA+B,aAAa,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAmBlH;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAUlF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAMrF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE;IAAE,kBAAkB,CAAC,EAAE;QAAE,KAAK,IAAI,WAAW,CAAA;KAAE,CAAA;CAAE,GAAG,WAAW,GAAG,SAAS,CAWtK;AAKD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAgDjE;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC,CAAC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,oFAAoF;IACpF,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAeD;;GAEG;AACH,qBAAa,YAAY,CAAC,OAAO,SAAS,WAAW,EAAE,IAAI,GAAG,GAAG;IAC/D,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,SAAS,CAAC,CAA6B;IAC/C,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,aAAa,CAA2D;IAChF,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,kBAAkB,CAAC,CAAyB;IACpD,OAAO,CAAC,cAAc,CAAC,CAA2B;IAGlD,OAAO,CAAC,cAAc,CAAC,CAAM;gBAEjB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,oBAAoB,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,sBAAsB,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAcxV;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;;OAGG;IACH,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,UAAU,GAAG,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAmBxG;;;OAGG;IACH,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,SAAS,GAAG,IAAI;IAWhD;;OAEG;IACH,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC;IAmBrD;;;OAGG;IACH,cAAc,IAAI,GAAG;IAuGrB;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,EACzB,UAAU,EAAE;QAAE,UAAU,EAAE,MAAM,WAAW,CAAA;KAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EACzE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,EACnD,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,UAAU,EACnD,KAAK,CAAC,EAAE,MAAM,GACb,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IA4ElD;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU,EAC1B,UAAU,EAAE;QAAE,UAAU,EAAE,MAAM,WAAW,CAAA;KAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EACzE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,EACnD,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,UAAU,EACnD,KAAK,CAAC,EAAE,MAAM,GACb,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IA4ElD;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA+E7B;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3B;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,GAAG,IAAI;IAC5C,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,IAAI;IAC9C,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,IAAI;CAOtE;AAED;;GAEG;AACH,qBAAa,kBAAkB,CAAC,UAAU;IACxC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,aAAa,CAA2D;IAChF,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,cAAc,CAAC,CAA2B;IAClD,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,kBAAkB,CAAC,CAAyB;IAEpD;;OAEG;IACH,OAAO,CAAC,qBAAqB;gBAK3B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,UAAU,EAClC,SAAS,CAAC,EAAE,SAAS,EACrB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC,EAC7D,QAAQ,CAAC,EAAE,aAAa,EACxB,WAAW,CAAC,EAAE,oBAAoB,EAAE,EACpC,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,OAAO,EACpB,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EACnB,kBAAkB,CAAC,EAAE,sBAAsB;IAkB7C;;;OAGG;IACH,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,aAAa,GAAG,kBAAkB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAyBvH;;;;OAIG;IACH,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,SAAS,GAAG,IAAI;IAe/C;;;;;;;;;OASG;IACH,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;IAUjC;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3B;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,CAAC,GAAG,IAAI;IAClD,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,CAAC,EAAE,GAAG,IAAI;IACpD,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,IAAI;IAe3E;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY,EAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,YAAY,GAC1C,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC;IAahD;;;;;;OAMG;IACH,gBAAgB,CAAC,eAAe,EAAE,aAAa,EAC7C,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,EAC5C,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,KAAK,SAAS,EAClE,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,KAAK,aAAa,GACpE,kBAAkB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAkDrD;;;;OAIG;IAEH,QAAQ,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,aAAa,EACxD,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EACzB,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,EACzD,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,aAAa,GAC3D,kBAAkB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAErD,QAAQ,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,aAAa,EACxD,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,EACzD,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,aAAa,EAC5D,KAAK,EAAE,MAAM,GACZ,kBAAkB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAErD,QAAQ,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,aAAa,EACxD,UAAU,EAAE;QAAE,UAAU,EAAE,MAAM,WAAW,CAAA;KAAE,EAC7C,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,EACzD,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,aAAa,EAC5D,KAAK,CAAC,EAAE,MAAM,GACb,kBAAkB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IA2ErD;;OAEG;IACH,OAAO,CAAC,WAAW;IAoDnB;;;;;;OAMG;IACH,iBAAiB,CAAC,eAAe,EAAE,aAAa,EAC9C,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,EAC5C,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,KAAK,SAAS,EAClE,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,KAAK,aAAa,GACpE,kBAAkB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAiDrD;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa,EAC7B,UAAU,EAAE;QAAE,UAAU,EAAE,MAAM,WAAW,CAAA;KAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EACzE,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,EACzD,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,aAAa,EAC5D,KAAK,CAAC,EAAE,MAAM,GACb,kBAAkB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IA0DrD;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA+E7B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAmDhC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyD3B;;OAEG;IACH,cAAc,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC;IAwB9G;;OAEG;IACG,GAAG,CAAC,OAAO,GAAG,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAgCjG;;OAEG;IACG,GAAG,CAAC,OAAO,GAAG,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAgCjG;;OAEG;IACG,GAAG,CAAC,OAAO,GAAG,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAgCjG;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAoB9B;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;IAyC/D;;OAEG;YACW,kBAAkB;IAyChC;;OAEG;YACW,qBAAqB;IAoKnC;;;OAGG;YACW,qBAAqB;IAkMnC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAsBlC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAgC1B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA+BnC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA4C7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAkBpC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAKnE;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAI5E;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAQnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,OAAO,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/D,IAAI,EAAE,MAAM,GACX,aAAa,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IA6C/D;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,IAAI,YAAY,CAAC,UAAU,CAAC;IAwElC;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,UAAU,CAAC;IA+FzE;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAqClC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAyCjC;;;OAGG;IACH,cAAc,IAAI,GAAG;IAuIrB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAgE3B;;;OAGG;IACH;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,wBAAwB;IA0FhC;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAoChC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;;OAGG;IACH,OAAO,CAAC,4CAA4C;IAqFpD,OAAO,CAAC,8BAA8B;IAatC;;OAEG;IACH,OAAO,CAAC,gCAAgC;IA8BxC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAsEnC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAsBtC;;OAEG;IACH,OAAO,CAAC,UAAU;IAudlB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyOxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmHhC;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAiGtC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAkEpC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiE7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAkDvB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,UAAU,CAAC,KAAK,SAAS,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,EAC7D,IAAI,GAAE,KAAwB,GAC7B,QAAQ,CAAC,KAAK,SAAS,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,GAAG,KAAK,SAAS,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,EAAE,GAAG,wBAAwB,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAyCzK;;;OAGG;IACH,OAAO,CAAC,qBAAqB;CAuB9B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,KAAK;IACrC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC;CAC5B;AAUD;;;;GAIG;AACH,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,YAAY,EAAE,IAAI,CAAA;CAAE,GACtD,KAAK,GACL,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,GAC1B,KAAK,GACL,CAAC,SAAS;IAAE,OAAO,IAAI,MAAM,CAAC,CAAA;CAAE,GAChC,CAAC,SAAS,CAAC,GACX,IAAI,GACJ,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GACrD,IAAI,GACJ,KAAK,GACL,KAAK,CAAC;AAEV;;GAEG;AACH,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,OAAO,IAAI,MAAM,CAAA;CAAE,GACrD,IAAI,GACJ,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAA;CAAE,GACpD,IAAI,GACJ,CAAC,SAAS;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAChC,IAAI,GACJ,CAAC,SAAS;IAAE,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;CAAE,GAC1C,IAAI,GACJ,CAAC,SAAS;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC3C,IAAI,GACJ,CAAC,SAAS;IAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GACvC,IAAI,GACJ,KAAK,CAAC;AAEV;;GAEG;AACH,KAAK,WAAW,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,SAAS,IAAI,GACjD,IAAI,GACJ,eAAe,CAAC,CAAC,CAAC,SAAS,IAAI,GAC/B,IAAI,GACJ,KAAK,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAC9D,CAAC,GACD,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC9B,CAAC,GACD,CAAC,SAAS,gBAAgB,CAAC,GAAG,CAAC,GAC/B,CAAC,GACD,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACxB,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAC1B,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GACjC,CAAC,GACD,CAAC,SAAS,MAAM,GAChB,WAAW,CAAC,CAAC,CAAC,SAAS,IAAI,GAC3B,CAAC,GACD;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC1C,CAAC,CAAC;AAEN;;;GAGG;AACH,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI;KACvC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,MAAM,KAAK,CAAC,GACxD,gBAAgB,CAAC,KAAK,CAAC,EAAE,GACzB,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBAAa,qBAAqB,CAAC,KAAK,GAAG,GAAG;IAC5C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,iBAAiB,CAAC,CAAc;IACxC,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,cAAc,CAAC,CAA2B;IAElD,OAAO,CAAC,cAAc,CAAmB;IAEzC,OAAO,CAAC,WAAW,CAAS;gBAG1B,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,EAAE,OAAO,EACpB,iBAAiB,CAAC,EAAE,WAAW,EAC/B,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,cAAc,CAAC,EAAE,cAAc,EAAE,EACjC,WAAW,CAAC,EAAE,MAAM;IAqBtB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,cAAc,IAAI,MAAM,EAAE;IAI1B;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;OAEG;IACH,oBAAoB,IAAI,WAAW,GAAG,SAAS;IAI/C;;;OAGG;IACH,mBAAmB,IAAI,GAAG;CA0H3B;AAED;;GAEG;AACH,qBAAa,sBAAsB,CAAC,KAAK,GAAG,GAAG;IAC7C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,iBAAiB,CAAC,CAAc;IACxC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,CAAqB;IACtC,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,aAAa,CAA2D;IAChF,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,eAAe,CAAC,CAAkC;IAC1D,OAAO,CAAC,iBAAiB,CAAC,CAAsB;IAChD,OAAO,CAAC,cAAc,CAAC,CAA2B;IAElD,OAAO,CAAC,cAAc,CAAmB;IAGzC,OAAO,CAAC,eAAe,CAAC,CAAM;IAE9B,OAAO,CAAC,qBAAqB,CAAC,CAAkB;gBAG9C,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,WAAW,EAC/B,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,cAAc,CAAC,EAAE,cAAc,EAAE;IAuBnC;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,UAAU,GAAG,sBAAsB,CAAC,UAAU,CAAC;IAoB7F;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,UAAU,GAAG,sBAAsB,CAAC,UAAU,CAAC;IAMrG;;;OAGG;IACH,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,GAAG,IAAI;IAYlD;;OAEG;IACH,OAAO,CAAC,cAAc;IA+FtB;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3B;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI;IAC9C,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,GAAG,IAAI;IAChD,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,IAAI;IAQvE;;OAEG;IACH;;;OAGG;IACH,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,UAAU,GAAG,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC;IASnF;;;OAGG;IACH,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,UAAU,GAAG,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC;IASnF;;;OAGG;IACH,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,UAAU,GAAG,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC;IASnF;;;OAGG;IACH,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC;IAK5B;;OAEG;IACH,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;IASrD;;OAEG;IACH,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;IASrD;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC;IAU9C;;;OAGG;IACH,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC;IAS7D;;OAEG;IACH,oBAAoB,IAAI,WAAW,GAAG,SAAS;IAI/C;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,uBAAuB,IAAI,aAAa,EAAE,GAAG,SAAS;IAItD;;OAEG;IACH,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS;IAIzD;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAI7B;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;OAEG;IACH,kBAAkB,IAAI,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS;IAIjE;;OAEG;IACH,oBAAoB,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAIvD;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAoD7B;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAiCpC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyCzB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAkE9B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA6D1B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;CAgUjM"}
1
+ {"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../../src/query/query-builder.ts"],"names":[],"mappings":"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"}
@@ -1044,14 +1044,30 @@ class SelectQueryBuilder {
1044
1044
  allParams: [],
1045
1045
  executor: this.executor,
1046
1046
  };
1047
- // Build count query
1048
- const { sql, params } = this.buildCountQuery(context);
1049
- // Execute
1047
+ const { sql, params } = this.buildAggregateQuery(context, 'count');
1050
1048
  const result = this.executor
1051
1049
  ? await this.executor.query(sql, params)
1052
1050
  : await this.client.query(sql, params);
1053
1051
  return parseInt(result.rows[0]?.count ?? '0', 10);
1054
1052
  }
1053
+ /**
1054
+ * Check if any rows match the query
1055
+ * More efficient than count() > 0 as it can stop after finding one row
1056
+ */
1057
+ async exists() {
1058
+ const context = {
1059
+ ctes: new Map(),
1060
+ cteCounter: 0,
1061
+ paramCounter: 1,
1062
+ allParams: [],
1063
+ executor: this.executor,
1064
+ };
1065
+ const { sql, params } = this.buildAggregateQuery(context, 'exists');
1066
+ const result = this.executor
1067
+ ? await this.executor.query(sql, params)
1068
+ : await this.client.query(sql, params);
1069
+ return result.rows[0]?.exists === true;
1070
+ }
1055
1071
  /**
1056
1072
  * Execute query and return results as array
1057
1073
  * Collection results are automatically resolved to arrays
@@ -1712,14 +1728,63 @@ class SelectQueryBuilder {
1712
1728
  if (!queryBuilder.whereCond) {
1713
1729
  throw new Error('Delete requires a WHERE condition. Use where() before delete().');
1714
1730
  }
1731
+ // Detect navigation property joins from WHERE condition
1732
+ const whereJoins = [];
1733
+ queryBuilder.detectAndAddJoinsFromCondition(queryBuilder.whereCond, whereJoins);
1715
1734
  const condBuilder = new conditions_1.ConditionBuilder();
1716
1735
  const { sql: whereSql, params: whereParams } = condBuilder.build(queryBuilder.whereCond, 1);
1717
- // Build RETURNING clause (not needed for count-only)
1736
+ const qualifiedTableName = queryBuilder.getQualifiedTableName(queryBuilder.schema.name, queryBuilder.schema.schema);
1737
+ // Build USING clause for navigation properties (PostgreSQL syntax for DELETE with JOINs)
1738
+ let usingClause = '';
1739
+ let joinConditions = [];
1740
+ for (const join of whereJoins) {
1741
+ const sourceTable = join.sourceAlias || queryBuilder.schema.name;
1742
+ const joinTableName = queryBuilder.getQualifiedTableName(join.targetTable, join.targetSchema);
1743
+ if (usingClause) {
1744
+ usingClause += `, ${joinTableName} AS "${join.alias}"`;
1745
+ }
1746
+ else {
1747
+ usingClause = `USING ${joinTableName} AS "${join.alias}"`;
1748
+ }
1749
+ // Build ON conditions as part of WHERE clause
1750
+ for (let i = 0; i < join.foreignKeys.length; i++) {
1751
+ const fk = join.foreignKeys[i];
1752
+ const match = join.matches[i];
1753
+ joinConditions.push(`"${sourceTable}"."${fk}" = "${join.alias}"."${match}"`);
1754
+ }
1755
+ }
1756
+ // Combine join conditions with the original WHERE clause
1757
+ const fullWhereClause = joinConditions.length > 0
1758
+ ? `${joinConditions.join(' AND ')} AND ${whereSql}`
1759
+ : whereSql;
1760
+ // Check if RETURNING uses navigation properties
1761
+ const navigationInfo = returning && returning !== 'count' && returning !== true
1762
+ ? queryBuilder.detectNavigationInReturning(returning)
1763
+ : null;
1764
+ if (navigationInfo) {
1765
+ // Use CTE-based approach for navigation properties in RETURNING
1766
+ let deleteSql = `DELETE FROM ${qualifiedTableName}`;
1767
+ if (usingClause) {
1768
+ deleteSql += ` ${usingClause}`;
1769
+ }
1770
+ deleteSql += ` WHERE ${fullWhereClause}`;
1771
+ const { sql, params } = queryBuilder.buildReturningWithNavigation(deleteSql, whereParams, returning, navigationInfo);
1772
+ const result = queryBuilder.executor
1773
+ ? await queryBuilder.executor.query(sql, params)
1774
+ : await queryBuilder.client.query(sql, params);
1775
+ return queryBuilder.mapReturningResultsWithNavigation(result.rows, returning, navigationInfo.navigationFields);
1776
+ }
1777
+ // Standard RETURNING (no navigation properties)
1778
+ // Qualify columns with table name when using USING clause to avoid ambiguity
1779
+ const hasJoins = whereJoins.length > 0;
1718
1780
  const returningClause = returning !== 'count'
1719
- ? queryBuilder.buildDeleteReturningClause(returning)
1781
+ ? queryBuilder.buildUpdateDeleteReturningClause(returning, hasJoins)
1720
1782
  : undefined;
1721
- const qualifiedTableName = queryBuilder.getQualifiedTableName(queryBuilder.schema.name, queryBuilder.schema.schema);
1722
- let sql = `DELETE FROM ${qualifiedTableName} WHERE ${whereSql}`;
1783
+ let sql = `DELETE FROM ${qualifiedTableName}`;
1784
+ if (usingClause) {
1785
+ sql += ` ${usingClause}`;
1786
+ }
1787
+ sql += ` WHERE ${fullWhereClause}`;
1723
1788
  if (returningClause) {
1724
1789
  sql += ` RETURNING ${returningClause.sql}`;
1725
1790
  }
@@ -1804,11 +1869,24 @@ class SelectQueryBuilder {
1804
1869
  const condBuilder = new conditions_1.ConditionBuilder();
1805
1870
  const { sql: whereSql, params: whereParams } = condBuilder.build(queryBuilder.whereCond, paramIndex);
1806
1871
  values.push(...whereParams);
1807
- // Build RETURNING clause (not needed for count-only)
1872
+ const qualifiedTableName = queryBuilder.getQualifiedTableName(queryBuilder.schema.name, queryBuilder.schema.schema);
1873
+ // Check if RETURNING uses navigation properties
1874
+ const navigationInfo = returning && returning !== 'count' && returning !== true
1875
+ ? queryBuilder.detectNavigationInReturning(returning)
1876
+ : null;
1877
+ if (navigationInfo) {
1878
+ // Use CTE-based approach for navigation properties in RETURNING
1879
+ const updateSql = `UPDATE ${qualifiedTableName} SET ${setClauses.join(', ')} WHERE ${whereSql}`;
1880
+ const { sql, params } = queryBuilder.buildReturningWithNavigation(updateSql, values, returning, navigationInfo);
1881
+ const result = queryBuilder.executor
1882
+ ? await queryBuilder.executor.query(sql, params)
1883
+ : await queryBuilder.client.query(sql, params);
1884
+ return queryBuilder.mapReturningResultsWithNavigation(result.rows, returning, navigationInfo.navigationFields);
1885
+ }
1886
+ // Standard RETURNING (no navigation properties)
1808
1887
  const returningClause = returning !== 'count'
1809
- ? queryBuilder.buildDeleteReturningClause(returning)
1888
+ ? queryBuilder.buildUpdateDeleteReturningClause(returning)
1810
1889
  : undefined;
1811
- const qualifiedTableName = queryBuilder.getQualifiedTableName(queryBuilder.schema.name, queryBuilder.schema.schema);
1812
1890
  let sql = `UPDATE ${qualifiedTableName} SET ${setClauses.join(', ')} WHERE ${whereSql}`;
1813
1891
  if (returningClause) {
1814
1892
  sql += ` RETURNING ${returningClause.sql}`;
@@ -1848,16 +1926,19 @@ class SelectQueryBuilder {
1848
1926
  }
1849
1927
  /**
1850
1928
  * Build RETURNING clause for delete/update operations
1929
+ * @param returning - The returning configuration
1930
+ * @param qualifyWithTable - If true, qualify column names with the main table name (needed for DELETE with USING)
1851
1931
  * @internal
1852
1932
  */
1853
- buildDeleteReturningClause(returning) {
1933
+ buildUpdateDeleteReturningClause(returning, qualifyWithTable = false) {
1854
1934
  if (returning === undefined) {
1855
1935
  return null;
1856
1936
  }
1937
+ const tablePrefix = qualifyWithTable ? `"${this.schema.name}".` : '';
1857
1938
  if (returning === true) {
1858
1939
  // Return all columns
1859
1940
  const columns = Object.values(this.schema.columns).map(col => col.build().name);
1860
- const sql = columns.map(name => `"${name}"`).join(', ');
1941
+ const sql = columns.map(name => `${tablePrefix}"${name}"`).join(', ');
1861
1942
  return { sql, columns };
1862
1943
  }
1863
1944
  // Selector function - extract selected columns
@@ -1871,7 +1952,7 @@ class SelectQueryBuilder {
1871
1952
  if (field && typeof field === 'object' && '__dbColumnName' in field) {
1872
1953
  const dbName = field.__dbColumnName;
1873
1954
  columns.push(alias);
1874
- sqlParts.push(`"${dbName}" AS "${alias}"`);
1955
+ sqlParts.push(`${tablePrefix}"${dbName}" AS "${alias}"`);
1875
1956
  }
1876
1957
  }
1877
1958
  return { sql: sqlParts.join(', '), columns };
@@ -1918,6 +1999,197 @@ class SelectQueryBuilder {
1918
1999
  return mapped;
1919
2000
  });
1920
2001
  }
2002
+ /**
2003
+ * Detect if a RETURNING selector uses navigation properties
2004
+ * Returns navigation info if found, null otherwise
2005
+ * @internal
2006
+ */
2007
+ detectNavigationInReturning(returning) {
2008
+ if (returning === true) {
2009
+ // Full entity returning doesn't need navigation support
2010
+ return null;
2011
+ }
2012
+ // Analyze the returning selector
2013
+ const mockRow = this._createMockRow();
2014
+ const selectedMock = this.selector(mockRow);
2015
+ const selection = returning(selectedMock);
2016
+ if (typeof selection !== 'object' || selection === null) {
2017
+ return null;
2018
+ }
2019
+ const navigationFields = new Map();
2020
+ const allTableAliases = new Set();
2021
+ // Check each field in the selection for navigation properties
2022
+ for (const [alias, field] of Object.entries(selection)) {
2023
+ if (field && typeof field === 'object' && '__dbColumnName' in field && '__tableAlias' in field) {
2024
+ const tableAlias = field.__tableAlias;
2025
+ if (tableAlias && tableAlias !== this.schema.name) {
2026
+ allTableAliases.add(tableAlias);
2027
+ navigationFields.set(alias, {
2028
+ tableAlias,
2029
+ dbColumnName: field.__dbColumnName,
2030
+ schemaTable: field.__sourceTable,
2031
+ });
2032
+ }
2033
+ // Also collect intermediate navigation aliases for multi-level navigation
2034
+ if ('__navigationAliases' in field && Array.isArray(field.__navigationAliases)) {
2035
+ for (const navAlias of field.__navigationAliases) {
2036
+ if (navAlias && navAlias !== this.schema.name) {
2037
+ allTableAliases.add(navAlias);
2038
+ }
2039
+ }
2040
+ }
2041
+ }
2042
+ }
2043
+ if (navigationFields.size === 0) {
2044
+ return null;
2045
+ }
2046
+ // Resolve navigation joins
2047
+ const joins = [];
2048
+ this.resolveJoinsForTableAliases(allTableAliases, joins);
2049
+ return { hasNavigation: true, selection, joins, navigationFields };
2050
+ }
2051
+ /**
2052
+ * Build RETURNING clause with navigation property support using CTE
2053
+ * @internal
2054
+ */
2055
+ buildReturningWithNavigation(mutationSql, mutationParams, returning, navigationInfo) {
2056
+ // Build the CTE wrapping the mutation
2057
+ // First, collect all columns needed from the main table in the mutation's RETURNING
2058
+ const mainTableColumns = new Set();
2059
+ const selectParts = [];
2060
+ const mockRow = this._createMockRow();
2061
+ const selectedMock = this.selector(mockRow);
2062
+ const selection = returning(selectedMock);
2063
+ // For each selected field, determine if it's from main table or navigation
2064
+ for (const [alias, field] of Object.entries(selection)) {
2065
+ if (field && typeof field === 'object' && '__dbColumnName' in field) {
2066
+ const tableAlias = field.__tableAlias;
2067
+ const dbColumnName = field.__dbColumnName;
2068
+ if (!tableAlias || tableAlias === this.schema.name) {
2069
+ // Main table column - add to CTE RETURNING and final SELECT
2070
+ mainTableColumns.add(dbColumnName);
2071
+ selectParts.push(`"__mutation__"."${dbColumnName}" AS "${alias}"`);
2072
+ }
2073
+ else {
2074
+ // Navigation column - will be joined in outer query
2075
+ selectParts.push(`"${tableAlias}"."${dbColumnName}" AS "${alias}"`);
2076
+ }
2077
+ }
2078
+ }
2079
+ // We also need to include foreign keys for joins that aren't already in the selection
2080
+ for (const join of navigationInfo.joins) {
2081
+ for (const fk of join.foreignKeys) {
2082
+ // Find the db column name for this foreign key
2083
+ const colEntry = Object.entries(this.schema.columns).find(([propName, _]) => propName === fk);
2084
+ if (colEntry) {
2085
+ const config = colEntry[1].build();
2086
+ const dbColName = config.name;
2087
+ mainTableColumns.add(dbColName);
2088
+ }
2089
+ else {
2090
+ // FK might be the db column name directly
2091
+ mainTableColumns.add(fk);
2092
+ }
2093
+ }
2094
+ }
2095
+ // Also include foreign keys from intermediate joins (join to another join)
2096
+ for (const join of navigationInfo.joins) {
2097
+ if (join.sourceAlias && join.sourceAlias !== this.schema.name) {
2098
+ // This join comes from another join, we need to include those FK columns too
2099
+ // Find the source join
2100
+ const sourceJoin = navigationInfo.joins.find(j => j.alias === join.sourceAlias);
2101
+ if (sourceJoin) {
2102
+ // We need the source table's FK columns in our RETURNING if the source is the main table
2103
+ // But if source is itself a navigation, we handle it in the outer SELECT
2104
+ }
2105
+ }
2106
+ }
2107
+ // Build RETURNING clause for CTE with all needed columns from main table
2108
+ const cteReturningCols = Array.from(mainTableColumns).map(col => `"${col}"`).join(', ');
2109
+ // Add RETURNING to the mutation SQL for CTE
2110
+ const mutationWithReturning = `${mutationSql} RETURNING ${cteReturningCols}`;
2111
+ // Build the JOINs for the outer SELECT
2112
+ const joinClauses = [];
2113
+ for (const join of navigationInfo.joins) {
2114
+ const sourceAlias = join.sourceAlias === this.schema.name ? '__mutation__' : `"${join.sourceAlias}"`;
2115
+ const qualifiedJoinTable = this.getQualifiedTableName(join.targetTable, join.targetSchema);
2116
+ // Find the db column names for the foreign keys
2117
+ const joinConditions = [];
2118
+ for (let i = 0; i < join.foreignKeys.length; i++) {
2119
+ const fk = join.foreignKeys[i];
2120
+ const match = join.matches[i] || 'id';
2121
+ // Convert property name to db column name for FK
2122
+ let fkDbCol = fk;
2123
+ const colEntry = Object.entries(this.schema.columns).find(([propName, _]) => propName === fk);
2124
+ if (colEntry) {
2125
+ const config = colEntry[1].build();
2126
+ fkDbCol = config.name;
2127
+ }
2128
+ // For source that's the mutation CTE
2129
+ if (join.sourceAlias === this.schema.name || !join.sourceAlias) {
2130
+ joinConditions.push(`"__mutation__"."${fkDbCol}" = "${join.alias}"."${match}"`);
2131
+ }
2132
+ else {
2133
+ // Source is another joined table
2134
+ joinConditions.push(`"${join.sourceAlias}"."${fk}" = "${join.alias}"."${match}"`);
2135
+ }
2136
+ }
2137
+ const joinType = join.isMandatory ? 'INNER JOIN' : 'LEFT JOIN';
2138
+ joinClauses.push(`${joinType} ${qualifiedJoinTable} AS "${join.alias}" ON ${joinConditions.join(' AND ')}`);
2139
+ }
2140
+ // Build the final CTE query
2141
+ const sql = `WITH "__mutation__" AS (
2142
+ ${mutationWithReturning}
2143
+ )
2144
+ SELECT ${selectParts.join(', ')}
2145
+ FROM "__mutation__"
2146
+ ${joinClauses.join('\n')}`;
2147
+ return { sql, params: mutationParams };
2148
+ }
2149
+ /**
2150
+ * Map RETURNING results with navigation properties
2151
+ * Applies type mappers based on source table schemas
2152
+ * @internal
2153
+ */
2154
+ mapReturningResultsWithNavigation(rows, returning, navigationFields) {
2155
+ return rows.map(row => {
2156
+ const mapped = {};
2157
+ for (const [key, value] of Object.entries(row)) {
2158
+ // Check if this is a navigation field
2159
+ const navInfo = navigationFields.get(key);
2160
+ if (navInfo && navInfo.schemaTable && this.schemaRegistry) {
2161
+ // Try to get mapper from the navigation target's schema
2162
+ const targetSchema = this.schemaRegistry.get(navInfo.schemaTable);
2163
+ if (targetSchema) {
2164
+ // Find the column and its mapper
2165
+ const colEntry = Object.entries(targetSchema.columns).find(([_, col]) => {
2166
+ const config = col.build();
2167
+ return config.name === navInfo.dbColumnName;
2168
+ });
2169
+ if (colEntry) {
2170
+ const config = colEntry[1].build();
2171
+ mapped[key] = config.mapper ? config.mapper.fromDriver(value) : value;
2172
+ continue;
2173
+ }
2174
+ }
2175
+ }
2176
+ // Try to find column by alias or name in main schema
2177
+ const colEntry = Object.entries(this.schema.columns).find(([propName, col]) => {
2178
+ const config = col.build();
2179
+ return propName === key || config.name === key;
2180
+ });
2181
+ if (colEntry) {
2182
+ const [, col] = colEntry;
2183
+ const config = col.build();
2184
+ mapped[key] = config.mapper ? config.mapper.fromDriver(value) : value;
2185
+ }
2186
+ else {
2187
+ mapped[key] = value;
2188
+ }
2189
+ }
2190
+ return mapped;
2191
+ });
2192
+ }
1921
2193
  /**
1922
2194
  * Create mock row for analysis
1923
2195
  * @internal
@@ -2485,6 +2757,15 @@ class SelectQueryBuilder {
2485
2757
  allTableAliases.add(tableAlias);
2486
2758
  }
2487
2759
  }
2760
+ // Also collect intermediate navigation aliases for multi-level navigation (e.g., task.level.name)
2761
+ // The field ref may have __navigationAliases containing all aliases in the path
2762
+ if ('__navigationAliases' in fieldRef && Array.isArray(fieldRef.__navigationAliases)) {
2763
+ for (const navAlias of fieldRef.__navigationAliases) {
2764
+ if (navAlias && navAlias !== this.schema.name) {
2765
+ allTableAliases.add(navAlias);
2766
+ }
2767
+ }
2768
+ }
2488
2769
  }
2489
2770
  // Resolve all joins through the schema graph
2490
2771
  this.resolveJoinsForTableAliases(allTableAliases, joins);
@@ -3509,9 +3790,12 @@ class SelectQueryBuilder {
3509
3790
  };
3510
3791
  }
3511
3792
  /**
3512
- * Build count query
3793
+ * Build aggregate query (count or exists)
3513
3794
  */
3514
- buildCountQuery(context) {
3795
+ buildAggregateQuery(context, type) {
3796
+ // Detect navigation property joins from WHERE condition
3797
+ const joins = [];
3798
+ this.detectAndAddJoinsFromCondition(this.whereCond, joins);
3515
3799
  // Build WHERE clause
3516
3800
  let whereClause = '';
3517
3801
  if (this.whereCond) {
@@ -3525,7 +3809,8 @@ class SelectQueryBuilder {
3525
3809
  }
3526
3810
  }
3527
3811
  // Build FROM clause with JOINs
3528
- let fromClause = `FROM "${this.schema.name}"`;
3812
+ const qualifiedTableName = this.getQualifiedTableName(this.schema.name, this.schema.schema);
3813
+ let fromClause = `FROM ${qualifiedTableName}`;
3529
3814
  // Add manual JOINs
3530
3815
  for (const manualJoin of this.manualJoins) {
3531
3816
  const joinTypeStr = manualJoin.type === 'INNER' ? 'INNER JOIN' : 'LEFT JOIN';
@@ -3550,7 +3835,30 @@ class SelectQueryBuilder {
3550
3835
  fromClause += `\n${joinTypeStr} "${manualJoin.table}" AS "${manualJoin.alias}" ON ${condSql}`;
3551
3836
  }
3552
3837
  }
3553
- const sql = `SELECT COUNT(*) as count\n${fromClause}\n${whereClause}`.trim();
3838
+ // Add JOINs for navigation properties referenced in WHERE clause
3839
+ for (const join of joins) {
3840
+ const joinType = join.isMandatory ? 'INNER JOIN' : 'LEFT JOIN';
3841
+ // Build ON clause for the join
3842
+ // For multi-level navigation, use the sourceAlias (the intermediate table)
3843
+ // For direct navigation, use the main table name
3844
+ const sourceTable = join.sourceAlias || this.schema.name;
3845
+ const onConditions = [];
3846
+ for (let i = 0; i < join.foreignKeys.length; i++) {
3847
+ const fk = join.foreignKeys[i];
3848
+ const match = join.matches[i];
3849
+ onConditions.push(`"${sourceTable}"."${fk}" = "${join.alias}"."${match}"`);
3850
+ }
3851
+ // Use schema-qualified table name if schema is specified
3852
+ const joinTableName = this.getQualifiedTableName(join.targetTable, join.targetSchema);
3853
+ fromClause += `\n${joinType} ${joinTableName} AS "${join.alias}" ON ${onConditions.join(' AND ')}`;
3854
+ }
3855
+ // Build SELECT clause based on type
3856
+ const selectClause = type === 'count'
3857
+ ? 'SELECT COUNT(*) as count'
3858
+ : 'SELECT EXISTS(SELECT 1';
3859
+ const sql = type === 'count'
3860
+ ? `${selectClause}\n${fromClause}\n${whereClause}`.trim()
3861
+ : `${selectClause}\n${fromClause}\n${whereClause})`.trim();
3554
3862
  return {
3555
3863
  sql,
3556
3864
  params: context.allParams,
@@ -3716,6 +4024,9 @@ class ReferenceQueryBuilder {
3716
4024
  }
3717
4025
  }
3718
4026
  const sourceTable = this.targetTable; // Actual table name for schema lookup
4027
+ // Collect all navigation aliases from the path leading to this reference
4028
+ // This is needed for WHERE conditions that use multi-level navigation (e.g., task.level.name)
4029
+ const navigationAliases = this.navigationPath.map(nav => nav.alias);
3719
4030
  for (const [colName, dbColumnName] of columnNameMap) {
3720
4031
  const mapper = columnMappers[colName];
3721
4032
  Object.defineProperty(mock, colName, {
@@ -3728,6 +4039,7 @@ class ReferenceQueryBuilder {
3728
4039
  __tableAlias: tableAlias, // Alias for SQL generation
3729
4040
  __sourceTable: sourceTable, // Actual table name for mapper lookup
3730
4041
  __mapper: mapper, // Include mapper for toDriver transformation in conditions
4042
+ __navigationAliases: navigationAliases, // All intermediate navigation aliases for JOIN resolution
3731
4043
  };
3732
4044
  }
3733
4045
  return cached;
@@ -3891,7 +4203,10 @@ class CollectionQueryBuilder {
3891
4203
  // Performance: Lazy-cache FieldRef objects
3892
4204
  const fieldRefCache = {};
3893
4205
  // Add columns - include tableAlias for unambiguous column references in WHERE clauses
3894
- const tableAlias = this.targetTable;
4206
+ // Use a special marker alias for the collection's own table that can be rewritten later
4207
+ // This allows distinguishing between outer table references and inner collection references
4208
+ // when both target the same table (e.g., post.user.posts where both are "posts" table)
4209
+ const tableAlias = `__collection_${this.targetTable}__`;
3895
4210
  for (const [colName, dbColumnName] of columnNameMap) {
3896
4211
  Object.defineProperty(mock, colName, {
3897
4212
  get() {
@@ -4342,6 +4657,20 @@ class CollectionQueryBuilder {
4342
4657
  // Determine strategy type - default to 'lateral' if not specified
4343
4658
  const strategyType = context.collectionStrategy || 'lateral';
4344
4659
  const strategy = collection_strategy_factory_1.CollectionStrategyFactory.getStrategy(strategyType);
4660
+ // For LATERAL strategy, reserve the counter early and register the table alias
4661
+ // This allows nested collections to reference this collection's aliased table
4662
+ let reservedCounter;
4663
+ if (strategyType === 'lateral') {
4664
+ reservedCounter = context.cteCounter++;
4665
+ const lateralAlias = `lateral_${reservedCounter}`;
4666
+ const innerTableAlias = `${lateralAlias}_${this.relationName}`;
4667
+ // Initialize the map if needed
4668
+ if (!context.lateralTableAliasMap) {
4669
+ context.lateralTableAliasMap = new Map();
4670
+ }
4671
+ // Register this collection's table alias for nested collections to reference
4672
+ context.lateralTableAliasMap.set(this.targetTable, innerTableAlias);
4673
+ }
4345
4674
  // Build selected fields configuration (supports nested objects)
4346
4675
  const selectedFieldConfigs = [];
4347
4676
  const localParams = [];
@@ -4434,8 +4763,10 @@ class CollectionQueryBuilder {
4434
4763
  const tableAlias = field.__tableAlias;
4435
4764
  const fieldName = field.__fieldName; // Property name for mapper lookup
4436
4765
  const sourceTable = field.__sourceTable; // Actual table name for schema lookup
4437
- // If tableAlias differs from the target table, it's a navigation property reference
4438
- if (tableAlias && tableAlias !== this.targetTable) {
4766
+ // If tableAlias differs from the target table (or its collection marker), it's a navigation property reference
4767
+ // The collection marker is `__collection_tableName__` and should be treated as the target table
4768
+ const collectionMarker = `__collection_${this.targetTable}__`;
4769
+ if (tableAlias && tableAlias !== this.targetTable && tableAlias !== collectionMarker) {
4439
4770
  return { alias, expression: `"${tableAlias}"."${dbColumnName}"`, propertyName: fieldName, sourceTable };
4440
4771
  }
4441
4772
  return { alias, expression: `"${dbColumnName}"`, propertyName: fieldName };
@@ -4619,7 +4950,8 @@ class CollectionQueryBuilder {
4619
4950
  aggregateField,
4620
4951
  arrayField,
4621
4952
  defaultValue,
4622
- counter: context.cteCounter++,
4953
+ // Use the reserved counter for LATERAL strategy, otherwise increment as before
4954
+ counter: reservedCounter !== undefined ? reservedCounter : context.cteCounter++,
4623
4955
  navigationJoins: allNavigationJoins.length > 0 ? allNavigationJoins : undefined,
4624
4956
  selectorNavigationJoins: navigationJoins.length > 0 ? navigationJoins : undefined,
4625
4957
  };