linkgress-orm 0.4.62 → 0.4.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/entity/db-context.d.ts +1 -1
- package/dist/entity/db-context.js +65 -65
- package/dist/entity/db-context.js.map +1 -1
- package/dist/entity/entity-base.d.ts +1 -1
- package/dist/entity/entity-base.js +1 -1
- package/dist/entity/entity-builder.d.ts +9 -9
- package/dist/entity/entity-builder.js +9 -9
- package/dist/query/collection-strategy.interface.d.ts +1 -1
- package/dist/query/conditions.d.ts +17 -9
- package/dist/query/conditions.d.ts.map +1 -1
- package/dist/query/conditions.js +30 -10
- package/dist/query/conditions.js.map +1 -1
- package/dist/query/mutation-batch.d.ts +2 -2
- package/dist/query/mutation-batch.js +2 -2
- package/dist/query/query-builder.d.ts +1 -1
- package/dist/query/query-builder.js +15 -15
- package/dist/query/query-builder.js.map +1 -1
- package/dist/query/sql-utils.d.ts.map +1 -1
- package/dist/query/sql-utils.js +22 -8
- package/dist/query/sql-utils.js.map +1 -1
- package/dist/query/strategies/cte-collection-strategy.d.ts +1 -1
- package/dist/query/strategies/cte-collection-strategy.js +1 -1
- package/dist/query/strategies/lateral-collection-strategy.d.ts +1 -1
- package/dist/query/strategies/lateral-collection-strategy.js +1 -1
- package/dist/query/strategies/temptable-collection-strategy.d.ts +1 -1
- package/dist/query/strategies/temptable-collection-strategy.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-utils.d.ts","sourceRoot":"","sources":["../../src/query/sql-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"sql-utils.d.ts","sourceRoot":"","sources":["../../src/query/sql-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA0B3D,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,KAAG,MAGpE,CAAC;AAEJ;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE;QACP,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;QAC9B,UAAU,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;KACjC,CAAC;IACF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAIjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAIpE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAMxF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,GAAG,GAAG,CAKzE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,GAAG,GAAG,CAI3E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAS/D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAW3F;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,CAMR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,oBAAoB,GAAE,OAAe,GACpC,YAAY,EAAE,CAoBhB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAChC,MAAM,EAAE,WAAW,EACnB,oBAAoB,GAAE,OAAe,GACpC,MAAM,EAAE,CAoCV;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAChC,aAAa,EAAE,YAAY,EAAE,EAC7B,eAAe,GAAE,MAAU,GAC1B,kBAAkB,CAuBpB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,MAAM,EAAE,EACzB,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,WAAW,EACnB,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAoCR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAO3E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO7E"}
|
package/dist/query/sql-utils.js
CHANGED
|
@@ -17,14 +17,28 @@ exports.buildColumnNameMap = buildColumnNameMap;
|
|
|
17
17
|
exports.getDbColumnName = getDbColumnName;
|
|
18
18
|
/**
|
|
19
19
|
* Quoted SQL segments (single-quoted literals with '' escaping, double-quoted
|
|
20
|
-
* identifiers with "" escaping)
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
20
|
+
* identifiers with "" escaping) and COMMENTS (`--` line comments and
|
|
21
|
+
* slash-star block comments) pass through verbatim; only bare $N placeholders
|
|
22
|
+
* outside them are renumbered. Without this, a leg at a nonzero offset would
|
|
23
|
+
* corrupt dollar-digit sequences INSIDE string literals
|
|
24
|
+
* (`'price: $1'` → `'price: $8'`) or inside comments.
|
|
25
|
+
*
|
|
26
|
+
* Comments MUST be a recognized token class of their own: an apostrophe inside
|
|
27
|
+
* a `--` comment (`-- the user's own orders`) otherwise opens what the
|
|
28
|
+
* string-literal arm believes is a literal, which then runs to the NEXT
|
|
29
|
+
* apostrophe anywhere later in the statement — swallowing every real
|
|
30
|
+
* placeholder in between verbatim (unrenumbered). In a MutationBatch that
|
|
31
|
+
* manifests as the spliced fragment's `$N` keeping its standalone numbers,
|
|
32
|
+
* colliding with the preceding legs' bindings (`operator does not exist:
|
|
33
|
+
* integer = jsonb` against a leg's jsonb payload param) and decomposing the
|
|
34
|
+
* whole fused batch. `$N` sequences inside comments are likewise left alone —
|
|
35
|
+
* they are prose, not parameters.
|
|
36
|
+
*
|
|
37
|
+
* Shared by QueryBatch, MutationBatch and insertWithChildren for cross-leg
|
|
38
|
+
* parameter renumbering.
|
|
39
|
+
*/
|
|
40
|
+
const QUOTED_OR_PLACEHOLDER = /('(?:[^']|'')*')|("(?:[^"]|"")*")|(--[^\n]*)|(\/\*[\s\S]*?\*\/)|\$(\d+)/g;
|
|
41
|
+
const renumberPlaceholders = (sqlText, offset) => sqlText.replace(QUOTED_OR_PLACEHOLDER, (match, _single, _dbl, _lineComment, _blockComment, digits) => digits !== undefined ? `$${Number(digits) + offset}` : match);
|
|
28
42
|
exports.renumberPlaceholders = renumberPlaceholders;
|
|
29
43
|
/**
|
|
30
44
|
* Get qualified table name with schema prefix if specified
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-utils.js","sourceRoot":"","sources":["../../src/query/sql-utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"sql-utils.js","sourceRoot":"","sources":["../../src/query/sql-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ export declare class CteCollectionStrategy implements ICollectionStrategy {
|
|
|
42
42
|
*
|
|
43
43
|
* Without this, the CTE strategy groups every target row by FK column with no
|
|
44
44
|
* filtering, leaking historical / closed SCD2 rows into the projected
|
|
45
|
-
* collection — the exact
|
|
45
|
+
* collection — the exact constant-FK projection symptom.
|
|
46
46
|
*
|
|
47
47
|
* @param config The aggregation config (carries `foreignKeys`/`matches`).
|
|
48
48
|
* @param targetTable Alias of the target table inside the CTE's inner SELECT.
|
|
@@ -49,7 +49,7 @@ class CteCollectionStrategy {
|
|
|
49
49
|
*
|
|
50
50
|
* Without this, the CTE strategy groups every target row by FK column with no
|
|
51
51
|
* filtering, leaking historical / closed SCD2 rows into the projected
|
|
52
|
-
* collection — the exact
|
|
52
|
+
* collection — the exact constant-FK projection symptom.
|
|
53
53
|
*
|
|
54
54
|
* @param config The aggregation config (carries `foreignKeys`/`matches`).
|
|
55
55
|
* @param targetTable Alias of the target table inside the CTE's inner SELECT.
|
|
@@ -48,7 +48,7 @@ export declare class LateralCollectionStrategy implements ICollectionStrategy {
|
|
|
48
48
|
* like `__LIT:true`). Falls back to the legacy single-column form when the
|
|
49
49
|
* navigation metadata doesn't carry the array form.
|
|
50
50
|
*
|
|
51
|
-
* This is the load-bearing helper for the
|
|
51
|
+
* This is the load-bearing helper for the constant-FK projection fix: navigation
|
|
52
52
|
* properties may declare additional literal predicates beyond the column
|
|
53
53
|
* equality (e.g. `withForeignKey: [col, isCurrent], withPrincipalKey: [id, true]`)
|
|
54
54
|
* that must fire on every projection. Without this helper, the strategy
|
|
@@ -55,7 +55,7 @@ class LateralCollectionStrategy {
|
|
|
55
55
|
* like `__LIT:true`). Falls back to the legacy single-column form when the
|
|
56
56
|
* navigation metadata doesn't carry the array form.
|
|
57
57
|
*
|
|
58
|
-
* This is the load-bearing helper for the
|
|
58
|
+
* This is the load-bearing helper for the constant-FK projection fix: navigation
|
|
59
59
|
* properties may declare additional literal predicates beyond the column
|
|
60
60
|
* equality (e.g. `withForeignKey: [col, isCurrent], withPrincipalKey: [id, true]`)
|
|
61
61
|
* that must fire on every projection. Without this helper, the strategy
|
|
@@ -49,7 +49,7 @@ export declare class TempTableCollectionStrategy implements ICollectionStrategy
|
|
|
49
49
|
* with any literal FK predicates declared on the navigation (e.g. SCD2
|
|
50
50
|
* `is_current = TRUE`). Returns "" or " AND <preds...>". Without this, the
|
|
51
51
|
* temptable strategy leaks SCD2-closed target rows into the projection — the
|
|
52
|
-
* exact
|
|
52
|
+
* exact constant-FK projection symptom.
|
|
53
53
|
*/
|
|
54
54
|
private buildAdditionalWhere;
|
|
55
55
|
requiresParentIds(): boolean;
|
|
@@ -57,7 +57,7 @@ class TempTableCollectionStrategy {
|
|
|
57
57
|
* with any literal FK predicates declared on the navigation (e.g. SCD2
|
|
58
58
|
* `is_current = TRUE`). Returns "" or " AND <preds...>". Without this, the
|
|
59
59
|
* temptable strategy leaks SCD2-closed target rows into the projection — the
|
|
60
|
-
* exact
|
|
60
|
+
* exact constant-FK projection symptom.
|
|
61
61
|
*/
|
|
62
62
|
buildAdditionalWhere(config, targetTable, rewrittenWhereClause) {
|
|
63
63
|
const literalPreds = (0, join_utils_1.buildLiteralOnlyPredicates)(targetTable, config.foreignKeys, config.matches);
|
package/package.json
CHANGED