linkgress-orm 0.4.24 → 0.4.25
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.
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SqlBuildContext } from './conditions';
|
|
2
2
|
import type { QueryExecutor, OrderDirection } from '../entity/db-context';
|
|
3
3
|
import type { DatabaseClient } from '../database/database-client.interface';
|
|
4
|
+
import { Subquery } from './subquery';
|
|
4
5
|
/**
|
|
5
6
|
* Union type: UNION removes duplicates, UNION ALL keeps all rows
|
|
6
7
|
*/
|
|
@@ -147,6 +148,45 @@ export declare class UnionQueryBuilder<TSelection> {
|
|
|
147
148
|
sql: string;
|
|
148
149
|
params: any[];
|
|
149
150
|
};
|
|
151
|
+
/**
|
|
152
|
+
* Build the SQL for this union query inside an outer context (e.g. when
|
|
153
|
+
* this union is used as a subquery via {@link asSubquery}). Reuses the
|
|
154
|
+
* outer context's `paramCounter` and `params` array so parameter indices
|
|
155
|
+
* chain correctly across the whole composite statement.
|
|
156
|
+
*
|
|
157
|
+
* @internal
|
|
158
|
+
*/
|
|
159
|
+
buildSql(outerContext: SqlBuildContext): string;
|
|
160
|
+
/**
|
|
161
|
+
* Convert this union query to a subquery usable in WHERE, SELECT, JOIN, or
|
|
162
|
+
* FROM clauses of an outer query. Mirrors {@link SelectQueryBuilder.asSubquery}
|
|
163
|
+
* but composes a UNION ALL / UNION across multiple SELECT legs into a single
|
|
164
|
+
* subquery expression.
|
|
165
|
+
*
|
|
166
|
+
* @template TMode - 'scalar' for a single value, 'array' for column list (use
|
|
167
|
+
* with `inSubquery(...)`), 'table' for full rows
|
|
168
|
+
* @returns Subquery that can be passed to `inSubquery`, `exists`, etc.
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```typescript
|
|
172
|
+
* // Filter outer query by the union of two id selections
|
|
173
|
+
* const friendIds = db.userRelations
|
|
174
|
+
* .where(r => eq(r.parentId, userId))
|
|
175
|
+
* .select(r => r.slaveId)
|
|
176
|
+
* .unionAll(
|
|
177
|
+
* db.userRelations
|
|
178
|
+
* .where(r => eq(r.slaveId, userId))
|
|
179
|
+
* .select(r => r.parentId)
|
|
180
|
+
* )
|
|
181
|
+
* .asSubquery('array');
|
|
182
|
+
*
|
|
183
|
+
* const rows = await db.usersEshop
|
|
184
|
+
* .where(u => inSubquery(u.id, friendIds))
|
|
185
|
+
* .select(u => ({ id: u.id, name: u.name }))
|
|
186
|
+
* .toList();
|
|
187
|
+
* ```
|
|
188
|
+
*/
|
|
189
|
+
asSubquery<TMode extends 'scalar' | 'array' | 'table' = 'table'>(mode?: TMode): Subquery<TMode extends 'scalar' ? TSelection : TMode extends 'array' ? TSelection[] : TSelection[], TMode>;
|
|
150
190
|
/**
|
|
151
191
|
* Get the SQL string for debugging
|
|
152
192
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union-builder.d.ts","sourceRoot":"","sources":["../../src/query/union-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,eAAe,EAA6B,MAAM,cAAc,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"union-builder.d.ts","sourceRoot":"","sources":["../../src/query/union-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.UnionQueryBuilder = void 0;
|
|
4
4
|
exports.isUnionQueryBuilder = isUnionQueryBuilder;
|
|
5
5
|
const query_utils_1 = require("./query-utils");
|
|
6
|
+
const subquery_1 = require("./subquery");
|
|
6
7
|
/**
|
|
7
8
|
* Builder for UNION and UNION ALL queries.
|
|
8
9
|
* Combines multiple SELECT queries into a single result set.
|
|
@@ -160,15 +161,14 @@ class UnionQueryBuilder {
|
|
|
160
161
|
: await this.client.query(sql, params);
|
|
161
162
|
return parseInt(result.rows[0]?.count || '0', 10);
|
|
162
163
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
};
|
|
164
|
+
buildSql(outerContext) {
|
|
165
|
+
const isNested = outerContext !== undefined;
|
|
166
|
+
const context = isNested
|
|
167
|
+
? outerContext
|
|
168
|
+
: {
|
|
169
|
+
paramCounter: 1,
|
|
170
|
+
params: [],
|
|
171
|
+
};
|
|
172
172
|
const sqlParts = [];
|
|
173
173
|
for (let i = 0; i < this.components.length; i++) {
|
|
174
174
|
const component = this.components[i];
|
|
@@ -193,8 +193,48 @@ class UnionQueryBuilder {
|
|
|
193
193
|
if (this.offsetValue !== undefined) {
|
|
194
194
|
sql += `\nOFFSET ${this.offsetValue}`;
|
|
195
195
|
}
|
|
196
|
+
if (isNested) {
|
|
197
|
+
return sql;
|
|
198
|
+
}
|
|
196
199
|
return { sql, params: context.params };
|
|
197
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Convert this union query to a subquery usable in WHERE, SELECT, JOIN, or
|
|
203
|
+
* FROM clauses of an outer query. Mirrors {@link SelectQueryBuilder.asSubquery}
|
|
204
|
+
* but composes a UNION ALL / UNION across multiple SELECT legs into a single
|
|
205
|
+
* subquery expression.
|
|
206
|
+
*
|
|
207
|
+
* @template TMode - 'scalar' for a single value, 'array' for column list (use
|
|
208
|
+
* with `inSubquery(...)`), 'table' for full rows
|
|
209
|
+
* @returns Subquery that can be passed to `inSubquery`, `exists`, etc.
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* ```typescript
|
|
213
|
+
* // Filter outer query by the union of two id selections
|
|
214
|
+
* const friendIds = db.userRelations
|
|
215
|
+
* .where(r => eq(r.parentId, userId))
|
|
216
|
+
* .select(r => r.slaveId)
|
|
217
|
+
* .unionAll(
|
|
218
|
+
* db.userRelations
|
|
219
|
+
* .where(r => eq(r.slaveId, userId))
|
|
220
|
+
* .select(r => r.parentId)
|
|
221
|
+
* )
|
|
222
|
+
* .asSubquery('array');
|
|
223
|
+
*
|
|
224
|
+
* const rows = await db.usersEshop
|
|
225
|
+
* .where(u => inSubquery(u.id, friendIds))
|
|
226
|
+
* .select(u => ({ id: u.id, name: u.name }))
|
|
227
|
+
* .toList();
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
asSubquery(mode = 'table') {
|
|
231
|
+
const sqlBuilder = (outerContext) => {
|
|
232
|
+
// Reuse the outer context so $1, $2, ... numbering and the params array
|
|
233
|
+
// chain across the whole composite statement.
|
|
234
|
+
return this.buildSql(outerContext);
|
|
235
|
+
};
|
|
236
|
+
return new subquery_1.Subquery(sqlBuilder, mode);
|
|
237
|
+
}
|
|
198
238
|
/**
|
|
199
239
|
* Get the SQL string for debugging
|
|
200
240
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union-builder.js","sourceRoot":"","sources":["../../src/query/union-builder.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"union-builder.js","sourceRoot":"","sources":["../../src/query/union-builder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED