@proteinjs/db-query 1.2.12 → 1.3.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.3.0](https://github.com/proteinjs/db/compare/@proteinjs/db-query@1.2.13...@proteinjs/db-query@1.3.0) (2025-08-20)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * broken subquery test ([c1c449b](https://github.com/proteinjs/db/commit/c1c449b14772d81b9f26ba056a9a6560b880e523))
12
+
13
+
14
+ ### Features
15
+
16
+ * Run onBeforeInsert during insert ([c736f62](https://github.com/proteinjs/db/commit/c736f625b7bbee5f02ad364228c7175699e46dff))
17
+
18
+
19
+
20
+
21
+
6
22
  ## [1.2.7](https://github.com/proteinjs/db/compare/@proteinjs/db-query@1.2.6...@proteinjs/db-query@1.2.7) (2024-08-16)
7
23
 
8
24
 
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Brent Bahry
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -85,8 +85,20 @@ var QueryBuilder = /** @class */ (function () {
85
85
  */
86
86
  QueryBuilder.fromQueryBuilder = function (qb, tableName) {
87
87
  var newQb = new QueryBuilder(tableName);
88
- var serializedGraph = util_1.graphSerializer.serialize(qb.graph);
89
- newQb.graph = util_1.graphSerializer.deserialize(serializedGraph);
88
+ var clonedGraph = util_1.graphSerializer.deserialize(util_1.graphSerializer.serialize(qb.graph));
89
+ var subQueries = [];
90
+ qb.graph.nodes().forEach(function (nodeId) {
91
+ var nodeValue = qb.graph.node(nodeId).value;
92
+ if (nodeValue instanceof QueryBuilder) {
93
+ subQueries.push([nodeId, QueryBuilder.fromQueryBuilder(qb.graph.node(nodeId).value, nodeValue.tableName)]);
94
+ }
95
+ });
96
+ subQueries.forEach(function (_a) {
97
+ var nodeId = _a[0], subQuery = _a[1];
98
+ var node = clonedGraph.node(nodeId);
99
+ clonedGraph.setNode(nodeId, __assign(__assign({}, node), { value: subQuery }));
100
+ });
101
+ newQb.graph = clonedGraph;
90
102
  newQb.__serializerId = qb.__serializerId;
91
103
  newQb.idCounter = qb.idCounter;
92
104
  newQb.rootId = qb.rootId;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../src/QueryBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../src/QueryBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA2C;AAC3C,wCAAuE;AACvE,uDAAuF;AAyDvF;IASE,sBAAmB,SAAiB;QAApC,iBAGC;QAHkB,cAAS,GAAT,SAAS,CAAQ;QAR7B,mBAAc,GAAG,sCAAsC,CAAC;QAExD,cAAS,GAAW,CAAC,CAAC;QACtB,WAAM,GAAW,MAAM,CAAC;QACxB,sBAAiB,GAAa,EAAE,CAAC;QAEhC,yBAAoB,GAAG,KAAK,CAAC;QA+DrC;;;;;;;;WAQG;QACK,wBAAmB,GAAG,UAAC,MAAuB,EAAE,kBAA0B,EAAE,KAAU;YAC5F,IAAM,MAAM,GAAG,IAAI,eAAM,CAAC,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAAC,CAAC;YACxE,IAAI;gBACF,IAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB;oBACxC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC;oBAC7D,CAAC,CAAC,kBAAkB,CAAC;gBACvB,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;aAC3G;YAAC,OAAO,KAAU,EAAE;gBACnB,MAAM,CAAC,KAAK,CAAC;oBACX,OAAO,EAAE,iDAA0C,KAAI,CAAC,SAAS,cAAI,kBAAkB,CAAE;oBACzF,GAAG,EAAE,EAAE,KAAK,OAAA,EAAE;iBACf,CAAC,CAAC;gBACH,OAAO,OAAO,KAAK,CAAC;aACrB;QACH,CAAC,CAAC;QAnFA,IAAI,CAAC,KAAK,GAAG,IAAI,YAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACI,uBAAU,GAAjB,UAAoC,GAAe,EAAE,SAAiB;QACpE,IAAM,EAAE,GAAG,IAAI,YAAY,CAAI,SAAS,CAAC,CAAC;QAC1C,KAAmB,UAAgB,EAAhB,KAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAhB,cAAgB,EAAhB,IAAgB,EAAE;YAAhC,IAAM,IAAI,SAAA;YACb,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAe,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,IAAe,CAAe,EAAE,CAAC,CAAC;SACpG;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;OAMG;IACI,6BAAgB,GAAvB,UAAiC,EAAmB,EAAE,SAAiB;QACrE,IAAM,KAAK,GAAG,IAAI,YAAY,CAAI,SAAS,CAAC,CAAC;QAE7C,IAAM,WAAW,GAAU,sBAAe,CAAC,WAAW,CAAC,sBAAe,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAE5F,IAAM,UAAU,GAAkC,EAAE,CAAC;QACpD,EAAE,CAAC,KAAK,CAAC,KAAK,EAAe,CAAC,OAAO,CAAC,UAAC,MAAc;YACpD,IAAM,SAAS,GAAI,EAAE,CAAC,KAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;YACvD,IAAI,SAAS,YAAY,YAAY,EAAE;gBACrC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC5G;QACH,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,OAAO,CAAC,UAAC,EAAkB;gBAAjB,MAAM,QAAA,EAAE,QAAQ,QAAA;YACnC,IAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,WAAW,CAAC,OAAO,CAAC,MAAM,wBAAO,IAAI,KAAE,KAAK,EAAE,QAAQ,IAAG,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;QAE1B,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,cAAc,CAAC;QACzC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;QAC/B,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,iBAAiB,qBAAO,EAAE,CAAC,iBAAiB,OAAC,CAAC;QACpD,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAC;QAC7C,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,oBAAoB,CAAC;QAErD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iCAAU,GAAlB;QACE,OAAO,eAAQ,IAAI,CAAC,SAAS,EAAE,CAAE,CAAC;IACpC,CAAC;IA2BD,6BAAM,GAAN,UAAO,MAAiB;QACtB,IAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,aAAI,IAAI,EAAE,QAAQ,IAAK,MAAM,EAAG,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,0BAAG,GAAH,UAAI,QAAiE;QACnE,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,yBAAE,GAAF,UAAG,QAAiE;QAClE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACH,mCAAY,GAAZ,UACE,QAAyB,EACzB,QAAiE,EACjE,QAAiB;QAHnB,iBAiDC;QA5CC,IAAM,MAAM,GAAG,IAAI,eAAM,CAAC;YACxB,IAAI,EAAE,UAAG,IAAI,CAAC,WAAW,CAAC,IAAI,kBAAe;YAC7C,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;SACvD,CAAC,CAAC;QACH,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,wBAAiB,QAAQ,eAAK,OAAO,MAAG,EAAE,CAAC,CAAC;QACpE,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAa,QAAQ,iBAAO,OAAO,CAAE,EAAE,CAAC,CAAC;SAClE;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAa,IAAI,CAAC,MAAM,iBAAO,OAAO,CAAE,EAAE,CAAC,CAAC;SACrE;QAED,IAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,8CAA8C;QAC9C,QAAQ,CAAC,OAAO,CAAC,UAAC,OAAO;YACvB,IAAI,IAAA,mBAAY,EAAC,OAAO,EAAE,YAAY,CAAC,EAAE;gBACvC,uEAAuE;gBACvE,IAAI,KAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrC,QAAQ,CAAC,OAAO,CAAC,KAAI,CAAC,iBAAiB,CAAC,GAAG,EAAY,CAAC,CAAC;iBAC1D;aACF;iBAAM,IAAI,UAAU,IAAI,OAAO,IAAI,UAAU,IAAI,OAAO,EAAE;gBACzD,2CAA2C;gBAC3C,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aAChE;iBAAM;gBACL,4BAA4B;gBAC5B,KAAI,CAAC,SAAS,CAAC,OAAuB,EAAE,OAAO,CAAC,CAAC;aAClD;QACH,CAAC,CAAC,CAAC;QAEH,2CAA2C;QAC3C,KAAsB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;YAA3B,IAAM,OAAO,iBAAA;YAChB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAa,OAAO,iBAAO,OAAO,CAAE,EAAE,CAAC,CAAC;YAChE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;gBAC5C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC5C,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,wBAAiB,IAAI,CAAC,MAAM,iBAAO,OAAO,CAAE,EAAE,CAAC,CAAC;aACzE;SACF;QAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,gCAAS,GAAT,UAAU,SAAuB,EAAE,QAAiB,EAAE,aAA6B;QAA7B,8BAAA,EAAA,oBAA6B;QACjF,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QAED,IAAI,iBAAiB,GAAG,SAAS,CAAC;QAClC,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;YAC/D,CAAC,CAAC,SAAS,CAAC,QAAQ,KAAK,IAAI,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EACtF;YACA,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAyB,CAAC;SAC5G;QAED,IAAI,OAAO,iBAAiB,CAAC,KAAK,KAAK,WAAW,EAAE;YAClD,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,IAAI,SAAS,CAAC,QAAQ,KAAK,aAAa,EAAE;gBAC5E,MAAM,IAAI,KAAK,CACb,iIAA0H,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAE,CACtJ,CAAC;aACH;YACD,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC;SAChC;QAED,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,aAAa,eAAA,EAAE,CAAyB,CAAC;QAEhG,IAAM,MAAM,GAAG,IAAI,eAAM,CAAC;YACxB,IAAI,EAAE,UAAG,IAAI,CAAC,WAAW,CAAC,IAAI,eAAY;YAC1C,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;SACvD,CAAC,CAAC;QACH,IAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,wBAAO,iBAAiB,KAAE,IAAI,EAAE,WAAW,IAAG,CAAC;QAC7E,MAAM,CAAC,KAAK,CAAC;YACX,OAAO,EAAE,wBAAwB;YACjC,GAAG,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,aAAA,EAAE;SACnD,CAAC,CAAC;QACH,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAa,QAAQ,iBAAO,WAAW,CAAE,EAAE,CAAC,CAAC;SACtE;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAa,IAAI,CAAC,MAAM,iBAAO,WAAW,CAAE,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC1C;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gCAAS,GAAT,UAAU,SAAuB;QAC/B,IAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,GAAe,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,wBAAO,SAAS,KAAE,IAAI,EAAE,WAAW,IAAG,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8BAAO,GAAP,UAAQ,MAAmB;QACzB,IAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+BAAQ,GAAR,UAAS,UAAsB;QAC7B,IAAM,oBAAoB,GAAG,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,CAAC;QAC1E,IAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7E,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,aAAI,IAAI,EAAE,YAAY,IAAK,UAAU,EAAG,CAAC;QAC9D,IAAI,CAAC,oBAAoB,EAAE;YACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2BAAI,GAAJ,UAAK,YAA+B;QAApC,iBAOC;QANC,YAAY,CAAC,OAAO,CAAC,UAAC,QAAQ;YAC5B,IAAM,EAAE,GAAG,KAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;YACnD,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oCAAa,GAAb,UAAc,MAAuB,EAAE,qBAA6C;QAApF,iBAuFC;QAtFC,IAAM,YAAY,GAAG,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,wCAAqB,CAAC,MAAM,CAAC,CAAC;QAEvG,2EAA2E;QAC3E,IAAM,WAAW,GAAG,UAAC,MAAc;YACjC,IAAM,IAAI,GAAQ,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACjB,KAAK,WAAW,CAAC,CAAC;oBAChB,IAAM,iBAAiB,GACrB,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;oBAE3G,IAAM,sBAAsB,GAAG,WAAK,iBAAiB,MAAI,CAAC;oBAC1D,IAAI,kBAAkB,GAAG,sBAAsB,CAAC;oBAChD,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;oBAChC,qEAAqE;oBACrE,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,qBAAqB,EAAE;wBAC3D,kBAAkB,GAAG,MAAM,CAAC,qBAAqB,CAAC,KAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;wBACzG,kBAAkB,GAAG,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CAAC;wBAC3F,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;4BACvB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gCAC7B,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAS,IAAK,OAAA,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAtD,CAAsD,CAAC,CAAC;6BACxG;iCAAM,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;gCACzC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;6BAC3C;yBACF;qBACF;oBAED,IAAI,IAAI,CAAC,KAAK,EAAE;wBACd,OAAO,KAAK,CAAC;qBACd;yBAAM,IAAI,IAAA,mBAAY,EAAC,cAAc,EAAE,YAAY,CAAC,EAAE;wBACrD,IAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;wBACvE,OAAO,UAAG,kBAAkB,cAAI,IAAI,CAAC,QAAQ,cAAI,QAAQ,CAAE,CAAC;qBAC7D;yBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;wBAC/D,IAAI,MAAM,CAAC,cAAc,EAAE;4BACzB,IAAM,WAAS,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;gCAC7C,CAAC,CAAC,YAAY,CAAC,YAAY,CACvB,cAAc,EACd,KAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAChE;gCACH,CAAC,CAAC,YAAY,CAAC,YAAY,CACvB,cAAc,EACd,KAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAC7D,CAAC;4BACN,OAAO,UAAG,kBAAkB,cAAI,IAAI,CAAC,QAAQ,qBAAW,WAAS,MAAG,CAAC;yBACtE;wBACD,IAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;4BAC7C,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,UAAC,GAAQ,IAAK,OAAA,YAAY,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,EAA1C,CAA0C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;4BACzF,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,cAAc,CAAC,CAAC;wBACrE,OAAO,UAAG,kBAAkB,cAAI,IAAI,CAAC,QAAQ,eAAK,SAAS,MAAG,CAAC;qBAChE;yBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;wBACtC,iEAAiE;wBACjE,IAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;4BAC7C,CAAC,CAAC,cAAc;iCACX,GAAG,CAAC,UAAC,GAAQ,IAAK,OAAA,YAAY,CAAC,YAAY,CAAC,GAAG,EAAE,KAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAjF,CAAiF,CAAC;iCACpG,IAAI,CAAC,OAAO,CAAC;4BAClB,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE,KAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;wBAC5G,OAAO,UAAG,kBAAkB,cAAI,IAAI,CAAC,QAAQ,cAAI,SAAS,CAAE,CAAC;qBAC9D;yBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa,EAAE;wBACzE,OAAO,UAAG,kBAAkB,cAAI,IAAI,CAAC,QAAQ,CAAE,CAAC;qBACjD;yBAAM;wBACL,IAAI,cAAc,KAAK,IAAI,EAAE;4BAC3B,OAAO,UAAG,kBAAkB,aAAU,CAAC;yBACxC;wBAED,IAAM,cAAc,GAAG,YAAY,CAAC,YAAY,CAC9C,cAAc,EACd,KAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAC7D,CAAC;wBACF,OAAO,UAAG,kBAAkB,cAAI,IAAI,CAAC,QAAQ,cAAI,cAAc,CAAE,CAAC;qBACnE;iBACF;gBACD,KAAK,SAAS,CAAC,CAAC;oBACd,IAAM,QAAQ,GAAa,KAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC/D,IAAM,eAAe,GAAa,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,EAAE,EAAX,CAAW,CAAC,CAAC;oBAC1F,IAAM,kBAAkB,GAAG,eAAe,CAAC,IAAI,CAAC,WAAI,IAAI,CAAC,QAAQ,MAAG,CAAC,CAAC;oBACtE,OAAO,kBAAkB,CAAC,CAAC,CAAC,WAAI,kBAAkB,MAAG,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5D;gBACD;oBACE,OAAO,EAAE,CAAC;aACb;QACH,CAAC,CAAC;QAEF,sCAAsC;QACtC,IAAM,YAAY,GAAa,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACxE,IAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,GAAG,CAAC,EAAf,CAAe,CAAC,CAAC;QACnF,IAAM,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAS,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,kBAAS,GAAG,EAAE,WAAW,IAAK,YAAY,CAAC,SAAS,EAAE,EAAG;IAC3D,CAAC;IAED,4BAAK,GAAL,UAAM,MAAuB;QAA7B,iBAyGC;QAxGC,IAAI,MAA+B,CAAC;QACpC,IAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,UAAkC,CAAC;QACvC,IAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAM,YAAY,GAAG,IAAI,wCAAqB,CAAC,MAAM,CAAC,CAAC;QAEvD,mEAAmE;QACnE,IAAM,WAAW,GAAG,UAAC,MAAc;YACjC,IAAM,IAAI,GAAQ,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACjB,KAAK,QAAQ;oBACX,MAAM,GAAG,IAAI,CAAC;oBACd,OAAO,EAAE,CAAC;gBACZ,KAAK,WAAW,CAAC,CAAC;oBAChB,IAAM,oBAAoB,GACxB,IAAI,CAAC,KAAK,KAAK,GAAG;wBAChB,CAAC,CAAC,GAAG;wBACL,CAAC,CAAC,MAAM,CAAC,gBAAgB;4BACvB,CAAC,CAAC,WAAK,MAAM,CAAC,gBAAgB,CAAC,KAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAI;4BAC9D,CAAC,CAAC,WAAK,IAAI,CAAC,KAAK,MAAI,CAAC;oBAC5B,UAAU,CAAC,IAAI,CACb,UAAG,IAAI,CAAC,QAAQ,cAAI,oBAAoB,cAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,cAAO,IAAI,CAAC,UAAU,CAAE,CAAC,CAAC,CAAC,EAAE,CAAE,CAC9F,CAAC;oBACF,OAAO,EAAE,CAAC;iBACX;gBACD,KAAK,UAAU,CAAC,CAAC;oBACf,QAAQ,CAAC,IAAI,OAAb,QAAQ,EACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,KAAc;wBAChC,OAAA,MAAM,CAAC,gBAAgB;4BACrB,CAAC,CAAC,WAAK,MAAM,CAAC,gBAAgB,CAAC,KAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAI;4BACjE,CAAC,CAAC,WAAK,MAAM,CAAC,KAAK,CAAC,MAAI;oBAF1B,CAE0B,CAC3B,EACD;oBACF,OAAO,EAAE,CAAC;iBACX;gBACD,KAAK,YAAY;oBACf,UAAU,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;oBAClD,OAAO,EAAE,CAAC;gBACZ,KAAK,MAAM,CAAC,CAAC;oBACL,IAAA,KAA4B,IAAI,CAAC,QAAQ,EAAvC,KAAK,WAAA,EAAE,IAAI,UAAA,EAAE,QAAQ,cAAkB,CAAC;oBAChD,IAAM,uBAAqB,GAAG,MAAM,CAAC,gBAAgB;wBACnD,CAAC,CAAC,WAAK,MAAM,CAAC,gBAAgB,CAAC,KAAI,CAAC,SAAS,EAAE,KAAK,CAAC,MAAI;wBACzD,CAAC,CAAC,WAAK,KAAK,MAAI,CAAC;oBACnB,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;wBACnC,+DAA+D;wBAC/D,IAAM,KAAK,GAAG,QAAQ;6BACnB,GAAG,CACF,UAAC,KAAa,EAAE,KAAa;4BAC3B,OAAA,eAAQ,uBAAqB,gBAAM,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,KAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,mBAAS,KAAK,CAAE;wBAAxI,CAAwI,CAC3I;6BACA,IAAI,CAAC,GAAG,CAAC,CAAC;wBACb,IAAM,WAAW,GAAG,eAAQ,KAAK,mBAAS,QAAQ,CAAC,MAAM,SAAM,CAAC;wBAChE,WAAW,CAAC,IAAI,CAAC,UAAG,WAAW,SAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC,CAAC;qBAC9D;yBAAM;wBACL,mBAAmB;wBACnB,IAAM,UAAU,GAAG,UAAG,uBAAqB,SAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC;wBACxE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBAC9B;oBACD,OAAO,EAAE,CAAC;iBACX;gBACD;oBACE,OAAO,EAAE,CAAC;aACb;QACH,CAAC,CAAC;QAEF,sCAAsC;QACtC,IAAM,YAAY,GAAa,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAExE,wEAAwE;QAChE,IAAK,WAAW,GAAK,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,IAA7C,CAA8C;QACtE,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,GAAG,CAAC,EAAf,CAAe,CAAC,CAAC;QAChE,wEAAwE;QAExE,IAAI,GAAG,GAAG,SAAS,CAAC;QACpB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE;YAClB,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,WAAK,MAAM,CAAC,KAAK,CAAC,MAAI,EAAtB,CAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxE;aAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9B;aAAM;YACL,GAAG,IAAI,GAAG,CAAC;SACZ;QACD,GAAG,IAAI,gBAAS,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAK,MAAM,CAAC,MAAM,OAAK,CAAC,CAAC,CAAC,EAAE,cAAK,IAAI,CAAC,SAAS,MAAI,CAAC;QAEpF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,GAAG,IAAI,WAAI,WAAW,CAAE,CAAC;SAC1B;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,GAAG,IAAI,oBAAa,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;SAC3C;QAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,GAAG,IAAI,oBAAa,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;SAC9C;QAED,IAAI,UAAU,EAAE;YACd,IAAM,KAAK,GAAG,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC;YAChD,IAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;YAChC,GAAG,IAAI,iBAAU,KAAK,qBAAW,MAAM,CAAE,CAAC;SAC3C;QAED,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC;QACvB,kBAAS,GAAG,KAAA,IAAK,YAAY,CAAC,SAAS,EAAE,EAAG;IAC9C,CAAC;IACH,mBAAC;AAAD,CAAC,AA5cD,IA4cC;AA5cY,oCAAY"}
@@ -64,6 +64,7 @@ export declare class StatementParamManager {
64
64
  private paramNames;
65
65
  private paramTypes;
66
66
  private paramCounter;
67
+ private subQueryCounter;
67
68
  constructor(config: StatementConfig);
68
69
  /**
69
70
  * Process and parameterize values (ie. condition values), including handling subqueries
@@ -123,6 +123,7 @@ var StatementParamManager = /** @class */ (function () {
123
123
  this.paramNames = {};
124
124
  this.paramTypes = {};
125
125
  this.paramCounter = 0;
126
+ this.subQueryCounter = 0;
126
127
  }
127
128
  /**
128
129
  * Process and parameterize values (ie. condition values), including handling subqueries
@@ -134,21 +135,27 @@ var StatementParamManager = /** @class */ (function () {
134
135
  var subQuery = value.toSql(this.config);
135
136
  if (this.config.useParams) {
136
137
  if (this.config.useNamedParams && subQuery.namedParams) {
137
- // Merge parameters and types from subquery
138
+ // Namespace subquery param names to avoid collisions and update SQL accordingly
139
+ var prefix = "sq".concat(this.subQueryCounter++, "_");
140
+ var subSql = subQuery.sql.slice(0, -1); // Remove trailing semicolon
138
141
  for (var _i = 0, _b = Object.keys(subQuery.namedParams.params); _i < _b.length; _i++) {
139
142
  var key = _b[_i];
140
- var paramName = "param".concat(this.paramCounter++);
141
- this.paramNames[paramName] = subQuery.namedParams.params[key];
142
- this.paramTypes[paramName] = subQuery.namedParams.types[key];
143
+ var newName = "".concat(prefix).concat(key);
144
+ this.paramNames[newName] = subQuery.namedParams.params[key];
145
+ this.paramTypes[newName] = subQuery.namedParams.types[key];
146
+ // Replace occurrences of @key with @prefix_key in subquery SQL
147
+ var escapedKey = key.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
148
+ var regex = new RegExp("@".concat(escapedKey, "(?=\\b)"), 'g');
149
+ subSql = subSql.replace(regex, "@".concat(newName));
143
150
  }
144
- return "(".concat(subQuery.sql.slice(0, -1), ")"); // Remove the trailing semicolon from subquery SQL
151
+ return "(".concat(subSql, ")");
145
152
  }
146
153
  else if (subQuery.params) {
147
- // Append parameters from subquery
154
+ // Append positional parameters from subquery
148
155
  (_a = this.params).push.apply(_a, subQuery.params);
149
156
  }
150
157
  }
151
- return "(".concat(subQuery.sql.slice(0, -1), ")"); // Subquery SQL for non-parameterized config
158
+ return "(".concat(subQuery.sql.slice(0, -1), ")"); // Subquery SQL for non-parameterized config or when not using named params
152
159
  }
153
160
  else if (this.config.useParams) {
154
161
  if (this.config.useNamedParams) {
@@ -1 +1 @@
1
- {"version":3,"file":"StatementFactory.js","sourceRoot":"","sources":["../../src/StatementFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StatementFactory.js","sourceRoot":"","sources":["../../src/StatementFactory.ts"],"names":[],"mappings":"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"}
@@ -26,9 +26,9 @@ describe('QueryBuilder - Sub Query Support', function () {
26
26
  expect(result.params).toEqual(['Engineering']);
27
27
  // SQL output with named parameters and types for subquery
28
28
  result = qb.toSql({ dbName: dbName, useParams: true, useNamedParams: true });
29
- expect(result.sql).toContain('SELECT * FROM `test`.`Employee` WHERE `id` IN (SELECT * FROM `test`.`Employee` WHERE `department` = @param0);');
30
- expect((_a = result.namedParams) === null || _a === void 0 ? void 0 : _a.params).toEqual({ param0: 'Engineering' });
31
- expect((_b = result.namedParams) === null || _b === void 0 ? void 0 : _b.types).toEqual({ param0: 'string' });
29
+ expect(result.sql).toContain('SELECT * FROM `test`.`Employee` WHERE `id` IN (SELECT * FROM `test`.`Employee` WHERE `department` = @sq0_param0);');
30
+ expect((_a = result.namedParams) === null || _a === void 0 ? void 0 : _a.params).toEqual({ sq0_param0: 'Engineering' });
31
+ expect((_b = result.namedParams) === null || _b === void 0 ? void 0 : _b.types).toEqual({ sq0_param0: 'string' });
32
32
  });
33
33
  test('Complex query with deeply nested, complex subquery', function () {
34
34
  var _a, _b;
@@ -74,23 +74,23 @@ describe('QueryBuilder - Sub Query Support', function () {
74
74
  param0: 'Engineering',
75
75
  param1: 50000,
76
76
  param2: 3,
77
- param3: 'HR',
78
- param4: 5,
79
- param5: 60000,
80
- param6: 'IT',
81
- param7: 80000,
77
+ sq0_param0: 'HR',
78
+ sq0_param1: 5,
79
+ sq0_param2: 60000,
80
+ sq0_param3: 'IT',
81
+ sq0_param4: 80000,
82
82
  };
83
- expect(result.sql).toContain('SELECT * FROM `test`.`Employee` WHERE (`department` = @param0 OR (`salary` > @param1 AND (`yearsOfExperience` <= @param2 OR `id` IN (SELECT * FROM `test`.`Employee` WHERE (`department` = @param0 AND `yearsOfExperience` > @param1 AND `salary` < @param2) AND (`department` = @param3 OR `salary` >= @param4)))));');
83
+ expect(result.sql).toContain('SELECT * FROM `test`.`Employee` WHERE (`department` = @param0 OR (`salary` > @param1 AND (`yearsOfExperience` <= @param2 OR `id` IN (SELECT * FROM `test`.`Employee` WHERE (`department` = @sq0_param0 AND `yearsOfExperience` > @sq0_param1 AND `salary` < @sq0_param2) AND (`department` = @sq0_param3 OR `salary` >= @sq0_param4)))));');
84
84
  expect((_a = result.namedParams) === null || _a === void 0 ? void 0 : _a.params).toEqual(expectedParams);
85
85
  expect((_b = result.namedParams) === null || _b === void 0 ? void 0 : _b.types).toEqual({
86
86
  param0: 'string',
87
87
  param1: 'number',
88
88
  param2: 'number',
89
- param3: 'string',
90
- param4: 'number',
91
- param5: 'number',
92
- param6: 'string',
93
- param7: 'number',
89
+ sq0_param0: 'string',
90
+ sq0_param1: 'number',
91
+ sq0_param2: 'number',
92
+ sq0_param3: 'string',
93
+ sq0_param4: 'number',
94
94
  });
95
95
  });
96
96
  test('Throws error when using same QueryBuilder instance for subquery', function () {
@@ -1 +1 @@
1
- {"version":3,"file":"SubQueries.test.js","sourceRoot":"","sources":["../../test/SubQueries.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubQueries.test.js","sourceRoot":"","sources":["../../test/SubQueries.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proteinjs/db-query",
3
- "version": "1.2.12",
3
+ "version": "1.3.0",
4
4
  "description": "A sql query builder",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -22,8 +22,8 @@
22
22
  "test": "jest"
23
23
  },
24
24
  "dependencies": {
25
- "@proteinjs/logger": "1.0.9",
26
- "@proteinjs/serializer": "1.0.18",
25
+ "@proteinjs/logger": "1.0.10",
26
+ "@proteinjs/serializer": "1.0.19",
27
27
  "@proteinjs/util": "1.5.0"
28
28
  },
29
29
  "devDependencies": {
@@ -39,5 +39,6 @@
39
39
  "typescript": "5.2.2"
40
40
  },
41
41
  "main": "./dist/index.js",
42
- "types": "./dist/index.d.ts"
42
+ "types": "./dist/index.d.ts",
43
+ "gitHead": "fd8bc8a83b75ca63e7ee976a783947e972b8408e"
43
44
  }
@@ -96,8 +96,22 @@ export class QueryBuilder<T = any> {
96
96
  static fromQueryBuilder<T = any>(qb: QueryBuilder<T>, tableName: string): QueryBuilder<T> {
97
97
  const newQb = new QueryBuilder<T>(tableName);
98
98
 
99
- const serializedGraph = graphSerializer.serialize(qb.graph);
100
- newQb.graph = graphSerializer.deserialize(serializedGraph);
99
+ const clonedGraph: Graph = graphSerializer.deserialize(graphSerializer.serialize(qb.graph));
100
+
101
+ const subQueries: Array<[string, QueryBuilder]> = [];
102
+ (qb.graph.nodes() as string[]).forEach((nodeId: string) => {
103
+ const nodeValue = (qb.graph as any).node(nodeId).value;
104
+ if (nodeValue instanceof QueryBuilder) {
105
+ subQueries.push([nodeId, QueryBuilder.fromQueryBuilder(qb.graph.node(nodeId).value, nodeValue.tableName)]);
106
+ }
107
+ });
108
+
109
+ subQueries.forEach(([nodeId, subQuery]) => {
110
+ const node = clonedGraph.node(nodeId);
111
+ clonedGraph.setNode(nodeId, { ...node, value: subQuery });
112
+ });
113
+
114
+ newQb.graph = clonedGraph;
101
115
 
102
116
  newQb.__serializerId = qb.__serializerId;
103
117
  newQb.idCounter = qb.idCounter;
@@ -180,6 +180,7 @@ export class StatementParamManager {
180
180
  private paramNames: Record<string, any> = {};
181
181
  private paramTypes: Record<string, any> = {};
182
182
  private paramCounter = 0;
183
+ private subQueryCounter = 0;
183
184
 
184
185
  constructor(private config: StatementConfig) {}
185
186
 
@@ -192,19 +193,27 @@ export class StatementParamManager {
192
193
  const subQuery = value.toSql(this.config);
193
194
  if (this.config.useParams) {
194
195
  if (this.config.useNamedParams && subQuery.namedParams) {
195
- // Merge parameters and types from subquery
196
+ // Namespace subquery param names to avoid collisions and update SQL accordingly
197
+ const prefix = `sq${this.subQueryCounter++}_`;
198
+ let subSql = subQuery.sql.slice(0, -1); // Remove trailing semicolon
199
+
196
200
  for (const key of Object.keys(subQuery.namedParams.params)) {
197
- const paramName = `param${this.paramCounter++}`;
198
- this.paramNames[paramName] = subQuery.namedParams.params[key];
199
- this.paramTypes[paramName] = subQuery.namedParams.types[key];
201
+ const newName = `${prefix}${key}`;
202
+ this.paramNames[newName] = subQuery.namedParams.params[key];
203
+ this.paramTypes[newName] = subQuery.namedParams.types[key];
204
+
205
+ // Replace occurrences of @key with @prefix_key in subquery SQL
206
+ const escapedKey = key.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
207
+ const regex = new RegExp(`@${escapedKey}(?=\\b)`, 'g');
208
+ subSql = subSql.replace(regex, `@${newName}`);
200
209
  }
201
- return `(${subQuery.sql.slice(0, -1)})`; // Remove the trailing semicolon from subquery SQL
210
+ return `(${subSql})`;
202
211
  } else if (subQuery.params) {
203
- // Append parameters from subquery
212
+ // Append positional parameters from subquery
204
213
  this.params.push(...subQuery.params);
205
214
  }
206
215
  }
207
- return `(${subQuery.sql.slice(0, -1)})`; // Subquery SQL for non-parameterized config
216
+ return `(${subQuery.sql.slice(0, -1)})`; // Subquery SQL for non-parameterized config or when not using named params
208
217
  } else if (this.config.useParams) {
209
218
  if (this.config.useNamedParams) {
210
219
  const paramName = `param${this.paramCounter++}`;
@@ -40,10 +40,10 @@ describe('QueryBuilder - Sub Query Support', () => {
40
40
  // SQL output with named parameters and types for subquery
41
41
  result = qb.toSql({ dbName, useParams: true, useNamedParams: true });
42
42
  expect(result.sql).toContain(
43
- 'SELECT * FROM `test`.`Employee` WHERE `id` IN (SELECT * FROM `test`.`Employee` WHERE `department` = @param0);'
43
+ 'SELECT * FROM `test`.`Employee` WHERE `id` IN (SELECT * FROM `test`.`Employee` WHERE `department` = @sq0_param0);'
44
44
  );
45
- expect(result.namedParams?.params).toEqual({ param0: 'Engineering' });
46
- expect(result.namedParams?.types).toEqual({ param0: 'string' });
45
+ expect(result.namedParams?.params).toEqual({ sq0_param0: 'Engineering' });
46
+ expect(result.namedParams?.types).toEqual({ sq0_param0: 'string' });
47
47
  });
48
48
 
49
49
  test('Complex query with deeply nested, complex subquery', () => {
@@ -96,25 +96,25 @@ describe('QueryBuilder - Sub Query Support', () => {
96
96
  param0: 'Engineering',
97
97
  param1: 50000,
98
98
  param2: 3,
99
- param3: 'HR',
100
- param4: 5,
101
- param5: 60000,
102
- param6: 'IT',
103
- param7: 80000,
99
+ sq0_param0: 'HR',
100
+ sq0_param1: 5,
101
+ sq0_param2: 60000,
102
+ sq0_param3: 'IT',
103
+ sq0_param4: 80000,
104
104
  };
105
105
  expect(result.sql).toContain(
106
- 'SELECT * FROM `test`.`Employee` WHERE (`department` = @param0 OR (`salary` > @param1 AND (`yearsOfExperience` <= @param2 OR `id` IN (SELECT * FROM `test`.`Employee` WHERE (`department` = @param0 AND `yearsOfExperience` > @param1 AND `salary` < @param2) AND (`department` = @param3 OR `salary` >= @param4)))));'
106
+ 'SELECT * FROM `test`.`Employee` WHERE (`department` = @param0 OR (`salary` > @param1 AND (`yearsOfExperience` <= @param2 OR `id` IN (SELECT * FROM `test`.`Employee` WHERE (`department` = @sq0_param0 AND `yearsOfExperience` > @sq0_param1 AND `salary` < @sq0_param2) AND (`department` = @sq0_param3 OR `salary` >= @sq0_param4)))));'
107
107
  );
108
108
  expect(result.namedParams?.params).toEqual(expectedParams);
109
109
  expect(result.namedParams?.types).toEqual({
110
110
  param0: 'string',
111
111
  param1: 'number',
112
112
  param2: 'number',
113
- param3: 'string',
114
- param4: 'number',
115
- param5: 'number',
116
- param6: 'string',
117
- param7: 'number',
113
+ sq0_param0: 'string',
114
+ sq0_param1: 'number',
115
+ sq0_param2: 'number',
116
+ sq0_param3: 'string',
117
+ sq0_param4: 'number',
118
118
  });
119
119
  });
120
120