linkgress-orm 0.4.48 → 0.4.50
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/database/postgres-client.d.ts.map +1 -1
- package/dist/database/postgres-client.js +25 -0
- package/dist/database/postgres-client.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -4
- package/dist/index.js.map +1 -1
- package/dist/query/future-query.d.ts +21 -0
- package/dist/query/future-query.d.ts.map +1 -1
- package/dist/query/future-query.js.map +1 -1
- package/dist/query/query-batch.d.ts +93 -0
- package/dist/query/query-batch.d.ts.map +1 -0
- package/dist/query/query-batch.js +146 -0
- package/dist/query/query-batch.js.map +1 -0
- package/dist/query/query-builder.d.ts +38 -1
- package/dist/query/query-builder.d.ts.map +1 -1
- package/dist/query/query-builder.js +129 -3
- package/dist/query/query-builder.js.map +1 -1
- package/dist/query/union-builder.d.ts +12 -0
- package/dist/query/union-builder.d.ts.map +1 -1
- package/dist/query/union-builder.js +39 -0
- package/dist/query/union-builder.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-client.d.ts","sourceRoot":"","sources":["../../src/database/postgres-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,qBAAqB,EAAqB,MAAM,6BAA6B,CAAC;AACtI,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,KAAK,GAAG,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"postgres-client.d.ts","sourceRoot":"","sources":["../../src/database/postgres-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,qBAAqB,EAAqB,MAAM,6BAA6B,CAAC;AACtI,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,KAAK,GAAG,GAAG,GAAG,CAAC;AAuLf;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,cAAc,CAAU;IAChC,yEAAyE;IACzE,OAAO,CAAC,uBAAuB,CAAC,CAAS;IAEzC;;;OAGG;gBACS,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,GAAG;IAsClD;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAyBjB,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAMrG,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAcpC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAO1B,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,6BAA6B,IAAI,OAAO;IAIxC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAQxC;;;;OAIG;IACG,WAAW,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAqBhE;;;OAGG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAU3D;;;OAGG;IACG,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI9D;;;OAGG;IACG,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAYzJ;;;OAGG;IACH,sBAAsB,IAAI,OAAO;IAIjC;;OAEG;IACH,MAAM,IAAI,GAAG;CAGd"}
|
|
@@ -14,6 +14,28 @@ function isPostgresSqlInstance(value) {
|
|
|
14
14
|
function normalizeTimeoutMs(timeoutMs) {
|
|
15
15
|
return Number.isFinite(timeoutMs) ? Math.max(0, Math.floor(timeoutMs)) : 0;
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Read the connection-level `statement_timeout` back off an already-constructed porsager
|
|
19
|
+
* instance (`sql.options.connection`, where porsager keeps the parameters it sends at
|
|
20
|
+
* connect). Callers that build their own pool — typically to keep ownership of it for
|
|
21
|
+
* failover recycling — never go through {@link PostgresClient.normalizeConfig}, so this is
|
|
22
|
+
* the only way the client can learn which cap the server is enforcing. Without it every
|
|
23
|
+
* cancellation by that cap is reported as the `timeoutMs ?? 0` sentinel and renders as
|
|
24
|
+
* "Query exceeded its timeout of 0ms and was cancelled", naming no limit at all.
|
|
25
|
+
*
|
|
26
|
+
* Returns `undefined` when the instance sets no timeout, so the sentinel behaviour is
|
|
27
|
+
* unchanged for pools that genuinely have no connection-level cap.
|
|
28
|
+
*/
|
|
29
|
+
function readConnectionStatementTimeout(sqlInstance) {
|
|
30
|
+
const configured = sqlInstance?.options?.connection?.statement_timeout;
|
|
31
|
+
if (configured === undefined || configured === null) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
// porsager passes connection parameters through as given — a number here, but a string
|
|
35
|
+
// when it came from a connection-string parameter.
|
|
36
|
+
const timeoutMs = typeof configured === 'number' ? configured : Number(configured);
|
|
37
|
+
return Number.isFinite(timeoutMs) ? timeoutMs : undefined;
|
|
38
|
+
}
|
|
17
39
|
/**
|
|
18
40
|
* Translate a statement-timeout cancellation (PostgreSQL `57014`) into a typed
|
|
19
41
|
* {@link QueryTimeoutError}. Any other error is returned unchanged.
|
|
@@ -162,6 +184,9 @@ class PostgresClient extends database_client_interface_1.DatabaseClient {
|
|
|
162
184
|
if (isPostgresSqlInstance(config)) {
|
|
163
185
|
this.sql = config;
|
|
164
186
|
this.ownsConnection = false;
|
|
187
|
+
// The instance already carries its connection parameters — recover the default cap
|
|
188
|
+
// from them so timeout errors can name it (see readConnectionStatementTimeout).
|
|
189
|
+
this.defaultStatementTimeout = readConnectionStatementTimeout(config);
|
|
165
190
|
}
|
|
166
191
|
else {
|
|
167
192
|
let postgres;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-client.js","sourceRoot":"","sources":["../../src/database/postgres-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"postgres-client.js","sourceRoot":"","sources":["../../src/database/postgres-client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export { UnionQueryBuilder, isUnionQueryBuilder, } from './query/union-builder';
|
|
|
9
9
|
export type { UnionType, } from './query/union-builder';
|
|
10
10
|
export { FutureQuery, FutureSingleQuery, FutureCountQuery, FutureQueryRunner, isFutureQuery, isFutureSingleQuery, isFutureCountQuery, } from './query/future-query';
|
|
11
11
|
export type { AnyFutureQuery, FutureQueryResult, FutureQueryResults, } from './query/future-query';
|
|
12
|
+
export { QueryBatch } from './query/query-batch';
|
|
13
|
+
export type { BatchListKey, BatchItemKey, BatchCountKey, BatchListSource, BatchItemSource, BatchCountSource, } from './query/query-batch';
|
|
12
14
|
export { PreparedQuery, } from './query/prepared-query';
|
|
13
15
|
export { GroupedQueryBuilder, GroupedSelectQueryBuilder, GroupedJoinedQueryBuilder, } from './query/grouped-query';
|
|
14
16
|
export type { GroupedItem, } from './query/grouped-query';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,MAAM,EACN,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,EACP,OAAO,EACP,IAAI,EACJ,eAAe,EACf,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,SAAS,EACT,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,UAAU,EACV,aAAa,GACd,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,MAAM,EACN,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,kBAAkB,EAClB,UAAU,GACX,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,WAAW,EACX,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,SAAS,GACV,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,EACf,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,aAAa,GACd,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,QAAQ,EACR,cAAc,GACf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,WAAW,EACX,EAAE,EACF,EAAE,EACF,EAAE,EACF,GAAG,EACH,EAAE,EACF,GAAG,EACH,IAAI,EACJ,KAAK,EACL,UAAU,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,2BAA2B,EAC3B,YAAY,EACZ,2BAA2B,EAC3B,OAAO,EACP,UAAU,EACV,MAAM,EACN,SAAS,EACT,OAAO,EACP,GAAG,EACH,EAAE,EACF,GAAG,EACH,GAAG,EACH,QAAQ,EACR,UAAU,EACV,WAAW,EACX,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,OAAO,EACP,UAAU,EACV,UAAU,EACV,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,YAAY,GACb,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,QAAQ,EACR,UAAU,EACV,MAAM,EACN,SAAS,EACT,UAAU,EACV,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,KAAK,EACL,YAAY,EACZ,KAAK,GACN,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,WAAW,EACX,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,MAAM,GACP,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,aAAa,EACb,UAAU,GACX,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,cAAc,GACf,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,mBAAmB,EACnB,sBAAsB,IAAI,kBAAkB,EAC5C,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,yBAAyB,GAC1B,MAAM,qCAAqC,CAAC;AAI7C,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,OAAO,EACP,UAAU,EACV,YAAY,GACb,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,QAAQ,EACR,UAAU,GACX,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,aAAa,GACd,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,eAAe,IAAI,SAAS,EAC5B,aAAa,EACb,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,UAAU,GACX,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,UAAU,EACV,cAAc,EACd,SAAS,GACV,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,IAAI,IAAI,QAAQ,EAChB,KAAK,EACL,QAAQ,EACR,KAAK,EACL,MAAM,EACN,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,UAAU,EACV,KAAK,EACL,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,UAAU,IAAI,gBAAgB,EAC9B,cAAc,EACd,aAAa,EACb,eAAe,EACf,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,UAAU,EACV,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,UAAU,EACV,eAAe,EACf,QAAQ,GACT,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,cAAc,GACf,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,YAAY,GACb,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EACV,SAAS,EACT,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,eAAe,GAChB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,eAAe,GAChB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AAExC,YAAY,EACV,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,sCAAsC,CAAC;AAE9C,YAAY,EACV,gBAAgB,EAChB,WAAW,IAAI,iBAAiB,GACjC,MAAM,sCAAsC,CAAC;AAE9C,YAAY,EACV,qBAAqB,GACtB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EACL,cAAc,GACf,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,SAAS,GACV,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,UAAU,EACV,eAAe,EACf,aAAa,GACd,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
exports.
|
|
6
|
-
exports.BunClient = exports.PgClient = exports.PostgresClient = exports.QueryTimeoutError = exports.DatabaseClient = exports.MigrationScaffold = void 0;
|
|
3
|
+
exports.eq = exports.Placeholder = exports.RawSql = exports.SqlFragment = exports.ConditionBuilder = exports.JoinQueryBuilder = exports.GroupedJoinedQueryBuilder = exports.GroupedSelectQueryBuilder = exports.GroupedQueryBuilder = exports.PreparedQuery = exports.QueryBatch = exports.isFutureCountQuery = exports.isFutureSingleQuery = exports.isFutureQuery = exports.FutureQueryRunner = exports.FutureCountQuery = exports.FutureSingleQuery = exports.FutureQuery = exports.isUnionQueryBuilder = exports.UnionQueryBuilder = exports.CollectionQueryBuilder = exports.SelectQueryBuilder = exports.QueryBuilder = exports.CollationRegistry = exports.pgCollation = exports.EnumTypeRegistry = exports.pgEnum = exports.ColumnBuilder = exports.enumColumn = exports.bytea = exports.jsonb = exports.json = exports.uuid = exports.time = exports.date = exports.timestamptz = exports.timestamp = exports.boolean = exports.text = exports.char = exports.varchar = exports.doublePrecision = exports.real = exports.numeric = exports.decimal = exports.smallint = exports.bigserial = exports.bigint = exports.serial = exports.integer = void 0;
|
|
4
|
+
exports.neSubquery = exports.eqSubquery = exports.notInSubquery = exports.inSubquery = exports.notExists = exports.exists = exports.isSubquery = exports.Subquery = exports.flagHasNone = exports.flagHasAny = exports.flagHasAll = exports.flagHas = exports.div = exports.mul = exports.sub = exports.add = exports.jsonbConditionUnwrap = exports.jsonbArraySome = exports.jsonbSelectText = exports.jsonbSelect = exports.jsonbMerge = exports.coalesce = exports.sql = exports.not = exports.or = exports.and = exports.between = exports.isNotNull = exports.isNull = exports.notInArray = exports.inArray = exports.regexNoMatchCaseInsensitive = exports.regexNoMatch = exports.regexMatchesCaseInsensitive = exports.regexMatches = exports.normalizedStartsWith = exports.normalizedLike = exports.normalizedEq = exports.endsWithSearch = exports.startsWithSearch = exports.containsSearch = exports.searchNormalize = exports.startsWith = exports.ilike = exports.like = exports.lte = exports.lt = exports.gte = exports.gt = exports.ne = void 0;
|
|
5
|
+
exports.MigrationJournal = exports.MigrationRunner = exports.EnumMigrator = exports.DbSchemaManager = exports.sequence = exports.SequenceBuilder = exports.DbSequence = exports.applyFromDriverArray = exports.applyFromDriver = exports.applyToDriver = exports.identityMapper = exports.createCustomType = exports.interval = exports.vector = exports.point = exports.enumType = exports.array = exports.jsonType = exports.customType = exports.CustomTypeBuilder = exports.TypeAliases = exports.EntityInsertBuilder = exports.DbEntityTable = exports.DbContext = exports.DbModelConfig = exports.HasOneNavigationBuilder = exports.HasManyNavigationBuilder = exports.EntityNavigationBuilder = exports.EntityPropertyBuilder = exports.EntityConfigBuilder = exports.isDbColumn = exports.DbColumn = exports.ixNormalized = exports.ixUnaccent = exports.ixLower = exports.EntityMetadataStore = exports.DbEntity = exports.CollectionStrategyFactory = exports.TimeTracer = exports.defaultLogger = exports.onTrue = exports.CteJoinedQueryBuilder = exports.CteRootQueryBuilder = exports.isCte = exports.DbCteBuilder = exports.DbCte = exports.lteSubquery = exports.ltSubquery = exports.gteSubquery = exports.gtSubquery = void 0;
|
|
6
|
+
exports.BunClient = exports.PgClient = exports.PostgresClient = exports.QueryTimeoutError = exports.DatabaseClient = exports.MigrationScaffold = exports.MigrationLoader = void 0;
|
|
7
7
|
// Internal schema builders (exported for DbContext use only)
|
|
8
8
|
var column_builder_1 = require("./schema/column-builder");
|
|
9
9
|
Object.defineProperty(exports, "integer", { enumerable: true, get: function () { return column_builder_1.integer; } });
|
|
@@ -55,6 +55,9 @@ Object.defineProperty(exports, "FutureQueryRunner", { enumerable: true, get: fun
|
|
|
55
55
|
Object.defineProperty(exports, "isFutureQuery", { enumerable: true, get: function () { return future_query_1.isFutureQuery; } });
|
|
56
56
|
Object.defineProperty(exports, "isFutureSingleQuery", { enumerable: true, get: function () { return future_query_1.isFutureSingleQuery; } });
|
|
57
57
|
Object.defineProperty(exports, "isFutureCountQuery", { enumerable: true, get: function () { return future_query_1.isFutureCountQuery; } });
|
|
58
|
+
// QueryBatch — heterogeneous queries in ONE round trip (UNION ALL + json envelopes)
|
|
59
|
+
var query_batch_1 = require("./query/query-batch");
|
|
60
|
+
Object.defineProperty(exports, "QueryBatch", { enumerable: true, get: function () { return query_batch_1.QueryBatch; } });
|
|
58
61
|
// Prepared statements
|
|
59
62
|
var prepared_query_1 = require("./query/prepared-query");
|
|
60
63
|
Object.defineProperty(exports, "PreparedQuery", { enumerable: true, get: function () { return prepared_query_1.PreparedQuery; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import type { DatabaseClient } from '../database/database-client.interface';
|
|
2
2
|
import type { QueryExecutor } from '../entity/db-context';
|
|
3
|
+
/**
|
|
4
|
+
* Metadata attached by the query builder so QueryBatch can safely embed the
|
|
5
|
+
* query as a json_agg branch of a single UNION ALL statement.
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export interface FutureBatchMeta {
|
|
9
|
+
/** Selection produces nested-path rows (nested object selections) — not batchable. */
|
|
10
|
+
hasNestedPaths: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Restores driver-equivalent values on a row delivered via JSON
|
|
13
|
+
* (timestamps/dates/decimals lose their driver parsing through json_agg).
|
|
14
|
+
* Undefined when no selected column needs revival.
|
|
15
|
+
*/
|
|
16
|
+
reviveJsonRow?: (row: any) => any;
|
|
17
|
+
}
|
|
3
18
|
/**
|
|
4
19
|
* Represents a deferred query that will be executed later.
|
|
5
20
|
* Captures the SQL, parameters, and transformation logic at creation time.
|
|
@@ -19,6 +34,8 @@ export declare class FutureQuery<TResult> {
|
|
|
19
34
|
readonly _executor?: QueryExecutor;
|
|
20
35
|
/** @internal */
|
|
21
36
|
readonly _mode: 'list' | 'single' | 'count';
|
|
37
|
+
/** @internal Populated by the query builder for QueryBatch support */
|
|
38
|
+
_batchMeta?: FutureBatchMeta;
|
|
22
39
|
constructor(sql: string, params: any[], transformFn: (rows: any[]) => TResult[], client: DatabaseClient, executor?: QueryExecutor, mode?: 'list' | 'single' | 'count');
|
|
23
40
|
/**
|
|
24
41
|
* Get the SQL that will be executed
|
|
@@ -56,6 +73,8 @@ export declare class FutureSingleQuery<TResult> {
|
|
|
56
73
|
readonly _executor?: QueryExecutor;
|
|
57
74
|
/** @internal */
|
|
58
75
|
readonly _mode: 'single';
|
|
76
|
+
/** @internal Populated by the query builder for QueryBatch support */
|
|
77
|
+
_batchMeta?: FutureBatchMeta;
|
|
59
78
|
constructor(sql: string, params: any[], transformFn: (rows: any[]) => TResult[], client: DatabaseClient, executor?: QueryExecutor);
|
|
60
79
|
/**
|
|
61
80
|
* Get the SQL that will be executed
|
|
@@ -90,6 +109,8 @@ export declare class FutureCountQuery {
|
|
|
90
109
|
readonly _executor?: QueryExecutor;
|
|
91
110
|
/** @internal */
|
|
92
111
|
readonly _mode: 'count';
|
|
112
|
+
/** @internal Populated by the query builder for QueryBatch support */
|
|
113
|
+
_batchMeta?: FutureBatchMeta;
|
|
93
114
|
constructor(sql: string, params: any[], client: DatabaseClient, executor?: QueryExecutor);
|
|
94
115
|
/**
|
|
95
116
|
* Get the SQL that will be executed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"future-query.d.ts","sourceRoot":"","sources":["../../src/query/future-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,uCAAuC,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;GAKG;AACH,qBAAa,WAAW,CAAC,OAAO;IAC9B,gBAAgB;IAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gBAAgB;IAChB,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;IACxB,gBAAgB;IAChB,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,EAAE,CAAC;IAClD,gBAAgB;IAChB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,gBAAgB;IAChB,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACnC,gBAAgB;IAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"future-query.d.ts","sourceRoot":"","sources":["../../src/query/future-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"future-query.js","sourceRoot":"","sources":["../../src/query/future-query.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"future-query.js","sourceRoot":"","sources":["../../src/query/future-query.ts"],"names":[],"mappings":";;;AAsWA,sCAEC;AAKD,kDAEC;AAKD,gDAEC;AAnWD;;;;;GAKG;AACH,MAAa,WAAW;IAgBtB,YACE,GAAW,EACX,MAAa,EACb,WAAuC,EACvC,MAAsB,EACtB,QAAwB,EACxB,OAAoC,MAAM;QAE1C,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS;YAC3B,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;YACrD,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,IAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF;AAjED,kCAiEC;AAED;;;GAGG;AACH,MAAa,iBAAiB;IAgB5B,YACE,GAAW,EACX,MAAa,EACb,WAAuC,EACvC,MAAsB,EACtB,QAAwB;QAV1B,gBAAgB;QACP,UAAK,GAAa,QAAQ,CAAC;QAWlC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS;YAC3B,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;YACrD,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,IAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF;AA/DD,8CA+DC;AAED;;;GAGG;AACH,MAAa,gBAAgB;IAc3B,YACE,GAAW,EACX,MAAa,EACb,MAAsB,EACtB,QAAwB;QAT1B,gBAAgB;QACP,UAAK,GAAY,OAAO,CAAC;QAUhC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS;YAC3B,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;YACrD,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtD,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,IAAW;QACpB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF;AA1DD,4CA0DC;AAuBD;;;;;;;;;;;;;;GAcG;AACH,MAAa,iBAAiB;IAC5B;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CACnB,OAAU;QAEV,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAsC,CAAC;QAChD,CAAC;QAED,sCAAsC;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAElC,mDAAmD;QACnD,kEAAkE;QAClE,MAAM,oBAAoB,GAAG,MAAM,CAAC,6BAA6B,EAAE;YACjE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAE7C,IAAI,oBAAoB,EAAE,CAAC;YACzB,OAAO,iBAAiB,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,OAAO,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,KAAK,CAAC,qBAAqB,CACxC,OAAU,EACV,MAAsB;QAEtB,6BAA6B;QAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzD,kGAAkG;QAClG,IAAI,CAAC,CAAC,kBAAkB,IAAI,MAAM,CAAC,IAAI,OAAQ,MAAc,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YAC9F,iDAAiD;YACjD,OAAO,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,OAAO,GAAkB,MAAO,MAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAEnF,+DAA+D;QAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAChD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC;YAEnC,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAI,MAAiC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAClE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5C,CAAC;iBAAM,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBACpC,OAAQ,MAA2B,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,OAAQ,MAA2B,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,WAAoC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,KAAK,CAAC,iBAAiB,CACpC,OAAU;QAEV,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,OAAO,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,OAAgC,CAAC;IAC1C,CAAC;CACF;AA5FD,8CA4FC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,KAAU;IACtC,OAAO,KAAK,YAAY,WAAW,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAU;IAC5C,OAAO,KAAK,YAAY,iBAAiB,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAAU;IAC3C,OAAO,KAAK,YAAY,gBAAgB,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { FutureCountQuery, FutureQuery, FutureSingleQuery } from './future-query';
|
|
2
|
+
/**
|
|
3
|
+
* Typed handle returned by QueryBatch.addList(). Carries the element type so
|
|
4
|
+
* getList(key) infers without manual generics; stringly-typed lookup remains
|
|
5
|
+
* available as an escape hatch.
|
|
6
|
+
*/
|
|
7
|
+
export interface BatchListKey<T> {
|
|
8
|
+
readonly id: string;
|
|
9
|
+
readonly kind: 'list';
|
|
10
|
+
/** @internal phantom type carrier — never assigned */
|
|
11
|
+
readonly __element?: T;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Typed handle returned by QueryBatch.addFirstOrDefault().
|
|
15
|
+
*/
|
|
16
|
+
export interface BatchItemKey<T> {
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly kind: 'first';
|
|
19
|
+
/** @internal phantom type carrier — never assigned */
|
|
20
|
+
readonly __element?: T;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Typed handle returned by QueryBatch.addCount().
|
|
24
|
+
*/
|
|
25
|
+
export interface BatchCountKey {
|
|
26
|
+
readonly id: string;
|
|
27
|
+
readonly kind: 'count';
|
|
28
|
+
}
|
|
29
|
+
/** Query sources accepted by the add* methods (any builder exposing the future factories). */
|
|
30
|
+
export interface BatchListSource<T> {
|
|
31
|
+
future(): FutureQuery<T>;
|
|
32
|
+
}
|
|
33
|
+
export interface BatchItemSource<T> {
|
|
34
|
+
futureFirstOrDefault(): FutureSingleQuery<T>;
|
|
35
|
+
}
|
|
36
|
+
export interface BatchCountSource {
|
|
37
|
+
futureCount(): FutureCountQuery;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Collects heterogeneous queries and executes them in a SINGLE database round
|
|
41
|
+
* trip as one UNION ALL statement of json envelopes:
|
|
42
|
+
*
|
|
43
|
+
* SELECT 0 AS __batch_ix, coalesce(json_agg(row_to_json(__batch_q)), '[]'::json) AS __batch_items FROM (...) __batch_q
|
|
44
|
+
* UNION ALL
|
|
45
|
+
* SELECT 1, ... FROM (...) __batch_q
|
|
46
|
+
*
|
|
47
|
+
* Each branch is planned independently by PostgreSQL (Append node), so every
|
|
48
|
+
* query keeps its own indexes. Results are demultiplexed by ordinal and pushed
|
|
49
|
+
* through the SAME transform pipeline standalone execution uses, after JSON
|
|
50
|
+
* value revival (timestamps/dates/decimals) driven by declared column types.
|
|
51
|
+
*
|
|
52
|
+
* A batch is one-shot: register queries, execute once, read results.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* const batch = new QueryBatch();
|
|
56
|
+
* const ordersKey = batch.addList(db.orders.where(o => eq(o.userId, id)).select(o => ({ id: o.id })), 'orders');
|
|
57
|
+
* const userKey = batch.addFirstOrDefault(db.users.where(u => eq(u.id, id)).select(u => u), 'user');
|
|
58
|
+
* const cntKey = batch.addCount(db.tickets.where(t => eq(t.eventId, ev)), 'tickets');
|
|
59
|
+
* await batch.executeBatch();
|
|
60
|
+
* const orders = batch.getList(ordersKey); // typed
|
|
61
|
+
* const user = batch.getItem(userKey); // typed | null
|
|
62
|
+
* const tickets = batch.getCount(cntKey); // number
|
|
63
|
+
*/
|
|
64
|
+
export declare class QueryBatch {
|
|
65
|
+
private readonly entries;
|
|
66
|
+
private results;
|
|
67
|
+
/**
|
|
68
|
+
* Register a query whose full result list is wanted.
|
|
69
|
+
* Returns a typed key for getList().
|
|
70
|
+
*/
|
|
71
|
+
addList<T>(query: BatchListSource<T>, id: string): BatchListKey<T>;
|
|
72
|
+
/**
|
|
73
|
+
* Register a query whose first row (or null) is wanted. LIMIT 1 is applied.
|
|
74
|
+
* Returns a typed key for getItem().
|
|
75
|
+
*/
|
|
76
|
+
addFirstOrDefault<T>(query: BatchItemSource<T>, id: string): BatchItemKey<T>;
|
|
77
|
+
/**
|
|
78
|
+
* Register a COUNT query. Returns a typed key for getCount().
|
|
79
|
+
*/
|
|
80
|
+
addCount(query: BatchCountSource, id: string): BatchCountKey;
|
|
81
|
+
/**
|
|
82
|
+
* Execute every registered query in one round trip and store the results.
|
|
83
|
+
*/
|
|
84
|
+
executeBatch(): Promise<void>;
|
|
85
|
+
getList<T>(key: BatchListKey<T>): T[];
|
|
86
|
+
getList<T = any>(id: string): T[];
|
|
87
|
+
getItem<T>(key: BatchItemKey<T>): T | null;
|
|
88
|
+
getItem<T = any>(id: string): T | null;
|
|
89
|
+
getCount(keyOrId: BatchCountKey | string): number;
|
|
90
|
+
private register;
|
|
91
|
+
private lookup;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=query-batch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-batch.d.ts","sourceRoot":"","sources":["../../src/query/query-batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnG;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,sDAAsD;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,8FAA8F;AAC9F,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,oBAAoB,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,IAAI,gBAAgB,CAAC;CACjC;AAYD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,OAAO,CAA6D;IAE5E;;;OAGG;IACH,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;IAMlE;;;OAGG;IACH,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;IAM5E;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa;IAM5D;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAsEnC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;IACrC,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE;IAKjC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;IAC1C,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAKtC,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM;IAIjD,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,MAAM;CAkBf"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QueryBatch = void 0;
|
|
4
|
+
const PARAM_PLACEHOLDER = /\$(\d+)/g;
|
|
5
|
+
/**
|
|
6
|
+
* Collects heterogeneous queries and executes them in a SINGLE database round
|
|
7
|
+
* trip as one UNION ALL statement of json envelopes:
|
|
8
|
+
*
|
|
9
|
+
* SELECT 0 AS __batch_ix, coalesce(json_agg(row_to_json(__batch_q)), '[]'::json) AS __batch_items FROM (...) __batch_q
|
|
10
|
+
* UNION ALL
|
|
11
|
+
* SELECT 1, ... FROM (...) __batch_q
|
|
12
|
+
*
|
|
13
|
+
* Each branch is planned independently by PostgreSQL (Append node), so every
|
|
14
|
+
* query keeps its own indexes. Results are demultiplexed by ordinal and pushed
|
|
15
|
+
* through the SAME transform pipeline standalone execution uses, after JSON
|
|
16
|
+
* value revival (timestamps/dates/decimals) driven by declared column types.
|
|
17
|
+
*
|
|
18
|
+
* A batch is one-shot: register queries, execute once, read results.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* const batch = new QueryBatch();
|
|
22
|
+
* const ordersKey = batch.addList(db.orders.where(o => eq(o.userId, id)).select(o => ({ id: o.id })), 'orders');
|
|
23
|
+
* const userKey = batch.addFirstOrDefault(db.users.where(u => eq(u.id, id)).select(u => u), 'user');
|
|
24
|
+
* const cntKey = batch.addCount(db.tickets.where(t => eq(t.eventId, ev)), 'tickets');
|
|
25
|
+
* await batch.executeBatch();
|
|
26
|
+
* const orders = batch.getList(ordersKey); // typed
|
|
27
|
+
* const user = batch.getItem(userKey); // typed | null
|
|
28
|
+
* const tickets = batch.getCount(cntKey); // number
|
|
29
|
+
*/
|
|
30
|
+
class QueryBatch {
|
|
31
|
+
constructor() {
|
|
32
|
+
this.entries = [];
|
|
33
|
+
this.results = null;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Register a query whose full result list is wanted.
|
|
37
|
+
* Returns a typed key for getList().
|
|
38
|
+
*/
|
|
39
|
+
addList(query, id) {
|
|
40
|
+
this.register(id, 'list', query.future());
|
|
41
|
+
return { id, kind: 'list' };
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Register a query whose first row (or null) is wanted. LIMIT 1 is applied.
|
|
45
|
+
* Returns a typed key for getItem().
|
|
46
|
+
*/
|
|
47
|
+
addFirstOrDefault(query, id) {
|
|
48
|
+
this.register(id, 'first', query.futureFirstOrDefault());
|
|
49
|
+
return { id, kind: 'first' };
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Register a COUNT query. Returns a typed key for getCount().
|
|
53
|
+
*/
|
|
54
|
+
addCount(query, id) {
|
|
55
|
+
this.register(id, 'count', query.futureCount());
|
|
56
|
+
return { id, kind: 'count' };
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Execute every registered query in one round trip and store the results.
|
|
60
|
+
*/
|
|
61
|
+
async executeBatch() {
|
|
62
|
+
if (this.results) {
|
|
63
|
+
throw new Error('QueryBatch has already been executed — create a new batch for further queries');
|
|
64
|
+
}
|
|
65
|
+
if (this.entries.length === 0) {
|
|
66
|
+
throw new Error('QueryBatch is empty — register queries before executing');
|
|
67
|
+
}
|
|
68
|
+
const first = this.entries[0].future;
|
|
69
|
+
const client = first._client;
|
|
70
|
+
const executor = first._executor;
|
|
71
|
+
for (const entry of this.entries) {
|
|
72
|
+
if (entry.future._client !== client || entry.future._executor !== executor) {
|
|
73
|
+
throw new Error(`QueryBatch: query "${entry.id}" uses a different database client or transaction than the rest of the batch — all queries must share one connection context`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const branches = [];
|
|
77
|
+
const params = [];
|
|
78
|
+
this.entries.forEach((entry, ix) => {
|
|
79
|
+
const offset = params.length;
|
|
80
|
+
const branchSql = offset === 0
|
|
81
|
+
? entry.future._sql
|
|
82
|
+
: entry.future._sql.replace(PARAM_PLACEHOLDER, (_match, n) => `$${Number(n) + offset}`);
|
|
83
|
+
branches.push(`SELECT ${ix} AS __batch_ix, coalesce(json_agg(row_to_json(__batch_q)), '[]'::json) AS __batch_items FROM (\n${branchSql}\n) __batch_q`);
|
|
84
|
+
params.push(...entry.future._params);
|
|
85
|
+
});
|
|
86
|
+
const sql = branches.join('\nUNION ALL\n');
|
|
87
|
+
const result = executor ? await executor.query(sql, params) : await client.query(sql, params);
|
|
88
|
+
const itemsByIx = new Map();
|
|
89
|
+
for (const row of result.rows) {
|
|
90
|
+
const raw = row.__batch_items;
|
|
91
|
+
const items = typeof raw === 'string' ? JSON.parse(raw) : raw;
|
|
92
|
+
itemsByIx.set(Number(row.__batch_ix), Array.isArray(items) ? items : []);
|
|
93
|
+
}
|
|
94
|
+
const results = new Map();
|
|
95
|
+
this.entries.forEach((entry, ix) => {
|
|
96
|
+
const meta = entry.future._batchMeta;
|
|
97
|
+
let rows = itemsByIx.get(ix) ?? [];
|
|
98
|
+
if (meta?.reviveJsonRow) {
|
|
99
|
+
rows = rows.map(meta.reviveJsonRow);
|
|
100
|
+
}
|
|
101
|
+
if (entry.kind === 'count') {
|
|
102
|
+
results.set(entry.id, { kind: entry.kind, value: entry.future._transform(rows) });
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
const transformed = entry.future._transform(rows);
|
|
106
|
+
const value = entry.kind === 'first' ? (transformed.length > 0 ? transformed[0] : null) : transformed;
|
|
107
|
+
results.set(entry.id, { kind: entry.kind, value });
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
this.results = results;
|
|
111
|
+
}
|
|
112
|
+
getList(keyOrId) {
|
|
113
|
+
return this.lookup(keyOrId, 'list');
|
|
114
|
+
}
|
|
115
|
+
getItem(keyOrId) {
|
|
116
|
+
return this.lookup(keyOrId, 'first');
|
|
117
|
+
}
|
|
118
|
+
getCount(keyOrId) {
|
|
119
|
+
return this.lookup(keyOrId, 'count');
|
|
120
|
+
}
|
|
121
|
+
register(id, kind, future) {
|
|
122
|
+
if (this.results) {
|
|
123
|
+
throw new Error('QueryBatch has already been executed — create a new batch for further queries');
|
|
124
|
+
}
|
|
125
|
+
if (this.entries.some((entry) => entry.id === id)) {
|
|
126
|
+
throw new Error(`QueryBatch: identifier "${id}" is already registered`);
|
|
127
|
+
}
|
|
128
|
+
this.entries.push({ id, kind, future });
|
|
129
|
+
}
|
|
130
|
+
lookup(keyOrId, expected) {
|
|
131
|
+
if (!this.results) {
|
|
132
|
+
throw new Error('QueryBatch results are not available — call executeBatch() first');
|
|
133
|
+
}
|
|
134
|
+
const id = typeof keyOrId === 'string' ? keyOrId : keyOrId.id;
|
|
135
|
+
const entry = this.results.get(id);
|
|
136
|
+
if (!entry) {
|
|
137
|
+
throw new Error(`QueryBatch: unknown identifier "${id}"`);
|
|
138
|
+
}
|
|
139
|
+
if (entry.kind !== expected) {
|
|
140
|
+
throw new Error(`QueryBatch: "${id}" was registered as ${entry.kind}, not ${expected}`);
|
|
141
|
+
}
|
|
142
|
+
return entry.value;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.QueryBatch = QueryBatch;
|
|
146
|
+
//# sourceMappingURL=query-batch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-batch.js","sourceRoot":"","sources":["../../src/query/query-batch.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import { GroupedQueryBuilder } from './grouped-query';
|
|
|
9
9
|
import { DbCte } from './cte-builder';
|
|
10
10
|
import type { SelectedField, NavigationJoin } from './collection-strategy.interface';
|
|
11
11
|
import { UnionQueryBuilder } from './union-builder';
|
|
12
|
-
import { FutureQuery, FutureSingleQuery, FutureCountQuery } from './future-query';
|
|
12
|
+
import { FutureQuery, FutureSingleQuery, FutureCountQuery, FutureBatchMeta } from './future-query';
|
|
13
13
|
/**
|
|
14
14
|
* Performance utility: Get column name map from schema, using cached version if available
|
|
15
15
|
*/
|
|
@@ -490,6 +490,43 @@ export declare class SelectQueryBuilder<TSelection> {
|
|
|
490
490
|
* ```
|
|
491
491
|
*/
|
|
492
492
|
futureCount(): FutureCountQuery;
|
|
493
|
+
/**
|
|
494
|
+
* Build a value reviver for rows delivered as JSON (QueryBatch json_agg
|
|
495
|
+
* envelope). JSON serialization bypasses the driver's type parsers:
|
|
496
|
+
* timestamps and dates arrive as ISO strings, numerics as JSON numbers.
|
|
497
|
+
* The reviver restores driver-equivalent values BEFORE the normal transform
|
|
498
|
+
* pipeline runs, driven by the DECLARED column types of the selected fields —
|
|
499
|
+
* never by value shape, so string columns are never misinterpreted.
|
|
500
|
+
* Returns undefined when no selected column needs revival.
|
|
501
|
+
* @internal
|
|
502
|
+
*/
|
|
503
|
+
private buildJsonRowReviver;
|
|
504
|
+
/**
|
|
505
|
+
* Walk a selection — including nested-object projections — collecting revival
|
|
506
|
+
* entries keyed by the FLAT column alias each leaf is delivered under: top-level
|
|
507
|
+
* keys as-is, nested leaves under the `__nested__<path>__<leaf>` path-encoded
|
|
508
|
+
* alias that tryBuildFlatNestedSelect emits (revival runs BEFORE nested
|
|
509
|
+
* reconstruction, so it must target the flat row shape). Only plain object
|
|
510
|
+
* literals are recursed into; collections, SqlFragments and subquery builders
|
|
511
|
+
* are skipped — they are delivered as json under standalone execution too, so
|
|
512
|
+
* they need no revival.
|
|
513
|
+
* @internal
|
|
514
|
+
*/
|
|
515
|
+
private collectJsonRowRevivals;
|
|
516
|
+
/**
|
|
517
|
+
* Union-leg hook: builds the json-row reviver for a previously consumed union
|
|
518
|
+
* selection so UnionQueryBuilder.future() can attach batch metadata. Same
|
|
519
|
+
* mechanics as the standalone future factories.
|
|
520
|
+
* @internal
|
|
521
|
+
*/
|
|
522
|
+
_buildUnionJsonRowReviver(selectionResult: any): FutureBatchMeta['reviveJsonRow'];
|
|
523
|
+
/**
|
|
524
|
+
* Resolve the declared column config for a selected FieldRef: base table
|
|
525
|
+
* fast path, then schema registry lookup for navigation-sourced fields.
|
|
526
|
+
* Mirrors the mapper resolution order used by transformResults().
|
|
527
|
+
* @internal
|
|
528
|
+
*/
|
|
529
|
+
private resolveFieldColumnConfig;
|
|
493
530
|
/**
|
|
494
531
|
* Execute query and return results as array
|
|
495
532
|
* Collection results are automatically resolved to arrays
|