uql-orm 0.6.0 → 0.7.2
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 +25 -0
- package/README.md +6 -5
- package/dist/bunSql/bunSql.util.d.ts +30 -0
- package/dist/bunSql/bunSql.util.d.ts.map +1 -0
- package/dist/bunSql/bunSql.util.js +91 -0
- package/dist/bunSql/bunSql.util.js.map +1 -0
- package/dist/bunSql/bunSqlQuerier.d.ts +14 -0
- package/dist/bunSql/bunSqlQuerier.d.ts.map +1 -0
- package/dist/bunSql/bunSqlQuerier.js +37 -0
- package/dist/bunSql/bunSqlQuerier.js.map +1 -0
- package/dist/bunSql/bunSqlQuerierPool.d.ts +19 -0
- package/dist/bunSql/bunSqlQuerierPool.d.ts.map +1 -0
- package/dist/bunSql/bunSqlQuerierPool.js +58 -0
- package/dist/bunSql/bunSqlQuerierPool.js.map +1 -0
- package/dist/bunSql/index.d.ts +3 -0
- package/dist/bunSql/index.d.ts.map +1 -0
- package/dist/bunSql/index.js +3 -0
- package/dist/bunSql/index.js.map +1 -0
- package/dist/cockroachdb/crdbQuerier.d.ts +3 -8
- package/dist/cockroachdb/crdbQuerier.d.ts.map +1 -1
- package/dist/cockroachdb/crdbQuerier.js +2 -30
- package/dist/cockroachdb/crdbQuerier.js.map +1 -1
- package/dist/cockroachdb/crdbQuerierPool.d.ts +4 -4
- package/dist/cockroachdb/crdbQuerierPool.d.ts.map +1 -1
- package/dist/cockroachdb/crdbQuerierPool.js +5 -7
- package/dist/cockroachdb/crdbQuerierPool.js.map +1 -1
- package/dist/d1/d1Querier.d.ts +2 -1
- package/dist/d1/d1Querier.d.ts.map +1 -1
- package/dist/d1/d1Querier.js +3 -4
- package/dist/d1/d1Querier.js.map +1 -1
- package/dist/d1/d1QuerierPool.d.ts +2 -1
- package/dist/d1/d1QuerierPool.d.ts.map +1 -1
- package/dist/d1/d1QuerierPool.js +3 -2
- package/dist/d1/d1QuerierPool.js.map +1 -1
- package/dist/dialect/abstractDialect.d.ts +1 -0
- package/dist/dialect/abstractDialect.d.ts.map +1 -1
- package/dist/dialect/abstractDialect.js +3 -0
- package/dist/dialect/abstractDialect.js.map +1 -1
- package/dist/dialect/abstractSqlDialect.d.ts +57 -52
- package/dist/dialect/abstractSqlDialect.d.ts.map +1 -1
- package/dist/dialect/abstractSqlDialect.js +194 -142
- package/dist/dialect/abstractSqlDialect.js.map +1 -1
- package/dist/dialect/dialectConfig.d.ts +19 -8
- package/dist/dialect/dialectConfig.d.ts.map +1 -1
- package/dist/dialect/dialectConfig.js +6 -0
- package/dist/dialect/dialectConfig.js.map +1 -1
- package/dist/dialect/mysqlLikeSqlDialect.d.ts +3 -5
- package/dist/dialect/mysqlLikeSqlDialect.d.ts.map +1 -1
- package/dist/dialect/mysqlLikeSqlDialect.js +12 -24
- package/dist/dialect/mysqlLikeSqlDialect.js.map +1 -1
- package/dist/dialect/queryContext.js +1 -1
- package/dist/dialect/queryContext.js.map +1 -1
- package/dist/express/querierMiddleware.d.ts.map +1 -1
- package/dist/express/querierMiddleware.js +13 -20
- package/dist/express/querierMiddleware.js.map +1 -1
- package/dist/libsql/libsqlQuerier.d.ts +2 -1
- package/dist/libsql/libsqlQuerier.d.ts.map +1 -1
- package/dist/libsql/libsqlQuerier.js +3 -4
- package/dist/libsql/libsqlQuerier.js.map +1 -1
- package/dist/libsql/libsqlQuerierPool.d.ts +2 -1
- package/dist/libsql/libsqlQuerierPool.d.ts.map +1 -1
- package/dist/libsql/libsqlQuerierPool.js +3 -2
- package/dist/libsql/libsqlQuerierPool.js.map +1 -1
- package/dist/maria/mariaDialect.d.ts +2 -4
- package/dist/maria/mariaDialect.d.ts.map +1 -1
- package/dist/maria/mariaDialect.js +1 -5
- package/dist/maria/mariaDialect.js.map +1 -1
- package/dist/maria/mariadbQuerier.d.ts +2 -1
- package/dist/maria/mariadbQuerier.d.ts.map +1 -1
- package/dist/maria/mariadbQuerier.js +4 -6
- package/dist/maria/mariadbQuerier.js.map +1 -1
- package/dist/maria/mariadbQuerierPool.d.ts +2 -1
- package/dist/maria/mariadbQuerierPool.d.ts.map +1 -1
- package/dist/maria/mariadbQuerierPool.js +3 -2
- package/dist/maria/mariadbQuerierPool.js.map +1 -1
- package/dist/mongo/mongodbQuerierPool.d.ts +2 -1
- package/dist/mongo/mongodbQuerierPool.d.ts.map +1 -1
- package/dist/mongo/mongodbQuerierPool.js +2 -3
- package/dist/mongo/mongodbQuerierPool.js.map +1 -1
- package/dist/mysql/mysql2Querier.d.ts +2 -1
- package/dist/mysql/mysql2Querier.d.ts.map +1 -1
- package/dist/mysql/mysql2Querier.js +7 -11
- package/dist/mysql/mysql2Querier.js.map +1 -1
- package/dist/mysql/mysql2QuerierPool.d.ts +2 -1
- package/dist/mysql/mysql2QuerierPool.d.ts.map +1 -1
- package/dist/mysql/mysql2QuerierPool.js +3 -2
- package/dist/mysql/mysql2QuerierPool.js.map +1 -1
- package/dist/neon/neonQuerier.d.ts +3 -7
- package/dist/neon/neonQuerier.d.ts.map +1 -1
- package/dist/neon/neonQuerier.js +2 -18
- package/dist/neon/neonQuerier.js.map +1 -1
- package/dist/neon/neonQuerierPool.d.ts +4 -4
- package/dist/neon/neonQuerierPool.d.ts.map +1 -1
- package/dist/neon/neonQuerierPool.js +5 -7
- package/dist/neon/neonQuerierPool.js.map +1 -1
- package/dist/postgres/abstractPgQuerier.d.ts +18 -0
- package/dist/postgres/abstractPgQuerier.d.ts.map +1 -0
- package/dist/postgres/abstractPgQuerier.js +33 -0
- package/dist/postgres/abstractPgQuerier.js.map +1 -0
- package/dist/postgres/abstractPgQuerierPool.d.ts +15 -0
- package/dist/postgres/abstractPgQuerierPool.d.ts.map +1 -0
- package/dist/postgres/abstractPgQuerierPool.js +10 -0
- package/dist/postgres/abstractPgQuerierPool.js.map +1 -0
- package/dist/postgres/pgQuerier.d.ts +3 -8
- package/dist/postgres/pgQuerier.d.ts.map +1 -1
- package/dist/postgres/pgQuerier.js +2 -30
- package/dist/postgres/pgQuerier.js.map +1 -1
- package/dist/postgres/pgQuerierPool.d.ts +6 -6
- package/dist/postgres/pgQuerierPool.d.ts.map +1 -1
- package/dist/postgres/pgQuerierPool.js +7 -9
- package/dist/postgres/pgQuerierPool.js.map +1 -1
- package/dist/postgres/postgresDialect.d.ts +6 -16
- package/dist/postgres/postgresDialect.d.ts.map +1 -1
- package/dist/postgres/postgresDialect.js +49 -72
- package/dist/postgres/postgresDialect.js.map +1 -1
- package/dist/querier/abstractQuerierPool.d.ts +5 -3
- package/dist/querier/abstractQuerierPool.d.ts.map +1 -1
- package/dist/querier/abstractQuerierPool.js +6 -3
- package/dist/querier/abstractQuerierPool.js.map +1 -1
- package/dist/querier/abstractSqlQuerier.d.ts +5 -0
- package/dist/querier/abstractSqlQuerier.d.ts.map +1 -1
- package/dist/querier/abstractSqlQuerier.js +15 -5
- package/dist/querier/abstractSqlQuerier.js.map +1 -1
- package/dist/sqlite/abstractSqliteQuerier.d.ts +0 -2
- package/dist/sqlite/abstractSqliteQuerier.d.ts.map +1 -1
- package/dist/sqlite/abstractSqliteQuerier.js +0 -9
- package/dist/sqlite/abstractSqliteQuerier.js.map +1 -1
- package/dist/sqlite/sqliteDialect.d.ts +6 -20
- package/dist/sqlite/sqliteDialect.d.ts.map +1 -1
- package/dist/sqlite/sqliteDialect.js +20 -33
- package/dist/sqlite/sqliteDialect.js.map +1 -1
- package/dist/sqlite/sqliteQuerier.d.ts +2 -1
- package/dist/sqlite/sqliteQuerier.d.ts.map +1 -1
- package/dist/sqlite/sqliteQuerier.js +3 -4
- package/dist/sqlite/sqliteQuerier.js.map +1 -1
- package/dist/sqlite/sqliteQuerierPool.d.ts +2 -1
- package/dist/sqlite/sqliteQuerierPool.d.ts.map +1 -1
- package/dist/sqlite/sqliteQuerierPool.js +3 -2
- package/dist/sqlite/sqliteQuerierPool.js.map +1 -1
- package/dist/type/querierPool.d.ts +16 -0
- package/dist/type/querierPool.d.ts.map +1 -1
- package/dist/type/query.d.ts +8 -3
- package/dist/type/query.d.ts.map +1 -1
- package/dist/type/utility.d.ts +4 -0
- package/dist/type/utility.d.ts.map +1 -1
- package/dist/util/sql.util.d.ts +26 -3
- package/dist/util/sql.util.d.ts.map +1 -1
- package/dist/util/sql.util.js +51 -9
- package/dist/util/sql.util.js.map +1 -1
- package/package.json +6 -5
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AbstractPoolQuerier } from '../querier/abstractPoolQuerier.js';
|
|
2
|
+
/**
|
|
3
|
+
* Shared base class for Postgres-compatible queriers (standard pg, CockroachDB, Neon).
|
|
4
|
+
*/
|
|
5
|
+
export class AbstractPgQuerier extends AbstractPoolQuerier {
|
|
6
|
+
constructor(connect, dialect, extra) {
|
|
7
|
+
super(dialect, connect, extra);
|
|
8
|
+
}
|
|
9
|
+
async internalAll(query, values) {
|
|
10
|
+
const res = await this.conn.query(query, values);
|
|
11
|
+
return res.rows;
|
|
12
|
+
}
|
|
13
|
+
async internalRun(query, values) {
|
|
14
|
+
const res = await this.conn.query(query, values);
|
|
15
|
+
return this.buildUpdateResult({ rows: res.rows, changes: res.rowCount ?? 0 });
|
|
16
|
+
}
|
|
17
|
+
async *internalStream(query, values) {
|
|
18
|
+
const { default: QueryStream } = await import('pg-query-stream');
|
|
19
|
+
const stream = this.conn.query(new QueryStream(query, values));
|
|
20
|
+
try {
|
|
21
|
+
for await (const row of stream) {
|
|
22
|
+
yield row;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
finally {
|
|
26
|
+
stream.destroy();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
async releaseConn(conn) {
|
|
30
|
+
await conn.release();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=abstractPgQuerier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstractPgQuerier.js","sourceRoot":"","sources":["../../src/postgres/abstractPgQuerier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAQxE;;GAEG;AACH,MAAM,OAAgB,iBAGpB,SAAQ,mBAAsB;IAC9B,YAAY,OAAyB,EAAE,OAAU,EAAE,KAAoB;QACrE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAEQ,KAAK,CAAC,WAAW,CAAI,KAAa,EAAE,MAAkB;QAC7D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAK,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,GAAG,CAAC,IAAW,CAAC;IACzB,CAAC;IAEQ,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,MAAkB;QAC1D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAK,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IAEQ,KAAK,CAAC,CAAC,cAAc,CAAI,KAAa,EAAE,MAAkB;QACjE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACjE,MAAM,MAAM,GAAI,IAAI,CAAC,IAAY,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBAC/B,MAAM,GAAQ,CAAC;YACjB,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAEkB,KAAK,CAAC,WAAW,CAAC,IAAO;QAC1C,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AbstractSqlDialect } from '../dialect/index.js';
|
|
2
|
+
import { AbstractQuerierPool } from '../querier/index.js';
|
|
3
|
+
import type { AbstractPgQuerier, PgAnyClient } from './abstractPgQuerier.js';
|
|
4
|
+
export interface PgAnyPool<C extends PgAnyClient> {
|
|
5
|
+
connect: () => Promise<C>;
|
|
6
|
+
end: () => Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Shared base class for Postgres-compatible querier pools.
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class AbstractPgQuerierPool<C extends PgAnyClient, D extends AbstractSqlDialect, Q extends AbstractPgQuerier<C, D>> extends AbstractQuerierPool<D, Q> {
|
|
12
|
+
abstract readonly pool: PgAnyPool<C>;
|
|
13
|
+
end(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=abstractPgQuerierPool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstractPgQuerierPool.d.ts","sourceRoot":"","sources":["../../src/postgres/abstractPgQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE7E,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,WAAW;IAC9C,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,8BAAsB,qBAAqB,CACzC,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,kBAAkB,EAC5B,CAAC,SAAS,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CACjC,SAAQ,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAE/B,GAAG;CAGV"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AbstractQuerierPool } from '../querier/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Shared base class for Postgres-compatible querier pools.
|
|
4
|
+
*/
|
|
5
|
+
export class AbstractPgQuerierPool extends AbstractQuerierPool {
|
|
6
|
+
async end() {
|
|
7
|
+
await this.pool.end();
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=abstractPgQuerierPool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstractPgQuerierPool.js","sourceRoot":"","sources":["../../src/postgres/abstractPgQuerierPool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAQ1D;;GAEG;AACH,MAAM,OAAgB,qBAIpB,SAAQ,mBAAyB;IAGjC,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACxB,CAAC;CACF"}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import type { PoolClient } from 'pg';
|
|
2
|
-
import {
|
|
3
|
-
import type {
|
|
4
|
-
export declare class PgQuerier extends
|
|
5
|
-
constructor(connect: () => Promise<PoolClient>, extra?: ExtraOptions);
|
|
6
|
-
internalAll<T>(query: string, values?: unknown[]): Promise<(T & RawRow)[]>;
|
|
7
|
-
internalRun(query: string, values?: unknown[]): Promise<import("../type/query.js").QueryUpdateResult>;
|
|
8
|
-
internalStream<T>(query: string, values?: unknown[]): AsyncGenerator<Awaited<T>, void, unknown>;
|
|
9
|
-
protected releaseConn(conn: PoolClient): Promise<void>;
|
|
2
|
+
import { AbstractPgQuerier } from './abstractPgQuerier.js';
|
|
3
|
+
import type { PostgresDialect } from './postgresDialect.js';
|
|
4
|
+
export declare class PgQuerier extends AbstractPgQuerier<PoolClient, PostgresDialect> {
|
|
10
5
|
}
|
|
11
6
|
//# sourceMappingURL=pgQuerier.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pgQuerier.d.ts","sourceRoot":"","sources":["../../src/postgres/pgQuerier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pgQuerier.d.ts","sourceRoot":"","sources":["../../src/postgres/pgQuerier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,qBAAa,SAAU,SAAQ,iBAAiB,CAAC,UAAU,EAAE,eAAe,CAAC;CAAG"}
|
|
@@ -1,32 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { PostgresDialect } from './postgresDialect.js';
|
|
4
|
-
export class PgQuerier extends AbstractPoolQuerier {
|
|
5
|
-
constructor(connect, extra) {
|
|
6
|
-
super(new PostgresDialect(extra?.namingStrategy), connect, extra);
|
|
7
|
-
}
|
|
8
|
-
async internalAll(query, values) {
|
|
9
|
-
const res = await this.conn.query(query, values);
|
|
10
|
-
return res.rows;
|
|
11
|
-
}
|
|
12
|
-
async internalRun(query, values) {
|
|
13
|
-
const { rowCount, rows = [] } = await this.conn.query(query, values);
|
|
14
|
-
return extractInsertResult(rows, rowCount ?? undefined);
|
|
15
|
-
}
|
|
16
|
-
async *internalStream(query, values) {
|
|
17
|
-
const { default: QueryStream } = await import('pg-query-stream');
|
|
18
|
-
const stream = this.conn.query(new QueryStream(query, values));
|
|
19
|
-
try {
|
|
20
|
-
for await (const row of stream) {
|
|
21
|
-
yield row;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
finally {
|
|
25
|
-
stream.destroy();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
async releaseConn(conn) {
|
|
29
|
-
await conn.release();
|
|
30
|
-
}
|
|
1
|
+
import { AbstractPgQuerier } from './abstractPgQuerier.js';
|
|
2
|
+
export class PgQuerier extends AbstractPgQuerier {
|
|
31
3
|
}
|
|
32
4
|
//# sourceMappingURL=pgQuerier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pgQuerier.js","sourceRoot":"","sources":["../../src/postgres/pgQuerier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pgQuerier.js","sourceRoot":"","sources":["../../src/postgres/pgQuerier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,MAAM,OAAO,SAAU,SAAQ,iBAA8C;CAAG"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { AbstractQuerierPool } from '../querier/index.js';
|
|
1
|
+
import { Pool, type PoolClient, type PoolConfig } from 'pg';
|
|
3
2
|
import type { ExtraOptions } from '../type/index.js';
|
|
3
|
+
import { AbstractPgQuerierPool } from './abstractPgQuerierPool.js';
|
|
4
4
|
import { PgQuerier } from './pgQuerier.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
import { PostgresDialect } from './postgresDialect.js';
|
|
6
|
+
export declare class PgQuerierPool extends AbstractPgQuerierPool<PoolClient, PostgresDialect, PgQuerier> {
|
|
7
|
+
readonly pool: Pool;
|
|
8
|
+
constructor(opts: PoolConfig, extra?: ExtraOptions);
|
|
8
9
|
getQuerier(): Promise<PgQuerier>;
|
|
9
|
-
end(): Promise<void>;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=pgQuerierPool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pgQuerierPool.d.ts","sourceRoot":"","sources":["../../src/postgres/pgQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pgQuerierPool.d.ts","sourceRoot":"","sources":["../../src/postgres/pgQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,IAAI,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,aAAc,SAAQ,qBAAqB,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC;IAC9F,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;gBAER,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,YAAY;IAK5C,UAAU;CAGjB"}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { Pool } from 'pg';
|
|
2
|
+
import { AbstractPgQuerierPool } from './abstractPgQuerierPool.js';
|
|
3
3
|
import { PgQuerier } from './pgQuerier.js';
|
|
4
|
-
|
|
4
|
+
import { PostgresDialect } from './postgresDialect.js';
|
|
5
|
+
export class PgQuerierPool extends AbstractPgQuerierPool {
|
|
5
6
|
pool;
|
|
6
7
|
constructor(opts, extra) {
|
|
7
|
-
super(
|
|
8
|
-
this.pool = new
|
|
8
|
+
super(new PostgresDialect(extra?.namingStrategy), extra);
|
|
9
|
+
this.pool = new Pool(opts);
|
|
9
10
|
}
|
|
10
11
|
async getQuerier() {
|
|
11
|
-
return new PgQuerier(() => this.pool.connect(), this.extra);
|
|
12
|
-
}
|
|
13
|
-
async end() {
|
|
14
|
-
await this.pool.end();
|
|
12
|
+
return new PgQuerier(() => this.pool.connect(), this.dialectInstance, this.extra);
|
|
15
13
|
}
|
|
16
14
|
}
|
|
17
15
|
//# sourceMappingURL=pgQuerierPool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pgQuerierPool.js","sourceRoot":"","sources":["../../src/postgres/pgQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"pgQuerierPool.js","sourceRoot":"","sources":["../../src/postgres/pgQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoC,MAAM,IAAI,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,OAAO,aAAc,SAAQ,qBAA6D;IACrF,IAAI,CAAO;IAEpB,YAAY,IAAgB,EAAE,KAAoB;QAChD,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACpF,CAAC;CACF"}
|
|
@@ -2,7 +2,7 @@ import { AbstractSqlDialect } from '../dialect/index.js';
|
|
|
2
2
|
import { type Dialect, type EntityMeta, type FieldKey, type FieldOptions, type JsonUpdateOp, type NamingStrategy, type QueryComparisonOptions, type QueryConflictPaths, type QueryContext, type QueryOptions, type QueryVectorSearch, type QueryWhereFieldOperatorMap, type Type } from '../type/index.js';
|
|
3
3
|
export declare class PostgresDialect extends AbstractSqlDialect {
|
|
4
4
|
constructor(namingStrategy?: NamingStrategy, dialect?: Dialect);
|
|
5
|
-
|
|
5
|
+
normalizeValue(value: unknown): unknown;
|
|
6
6
|
placeholder(index: number): string;
|
|
7
7
|
insert<E>(ctx: QueryContext, entity: Type<E>, payload: E | E[], opts?: QueryOptions): void;
|
|
8
8
|
upsert<E>(ctx: QueryContext, entity: Type<E>, conflictPaths: QueryConflictPaths<E>, payload: E | E[]): void;
|
|
@@ -14,21 +14,11 @@ export declare class PostgresDialect extends AbstractSqlDialect {
|
|
|
14
14
|
* - Objects with operators ($ilike, $regex, etc.): Use EXISTS subquery
|
|
15
15
|
*/
|
|
16
16
|
private buildElemMatchCondition;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
protected getBaseJsonConfig(): {
|
|
23
|
-
numericCast: (expr: string) => string;
|
|
24
|
-
likeFn: string;
|
|
25
|
-
ilikeExpr: (f: string, ph: string) => string;
|
|
26
|
-
regexpOp: string;
|
|
27
|
-
addValue: (c: QueryContext, v: unknown) => string;
|
|
28
|
-
inExpr: (f: string, ph: string) => string;
|
|
29
|
-
ninExpr: (f: string, ph: string) => string;
|
|
30
|
-
neExpr: (f: string, ph: string) => string;
|
|
31
|
-
};
|
|
17
|
+
protected get regexpOp(): string;
|
|
18
|
+
protected ilikeExpr(f: string, ph: string): string;
|
|
19
|
+
protected get neOp(): string;
|
|
20
|
+
protected formatIn(ctx: QueryContext, values: unknown[], negate: boolean): string;
|
|
21
|
+
protected numericCast(expr: string): string;
|
|
32
22
|
protected formatPersistableValue<E>(ctx: QueryContext, field: FieldOptions, value: unknown): void;
|
|
33
23
|
/** pgvector distance operators. */
|
|
34
24
|
private static readonly VECTOR_OPS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresDialect.d.ts","sourceRoot":"","sources":["../../src/postgres/postgresDialect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"postgresDialect.d.ts","sourceRoot":"","sources":["../../src/postgres/postgresDialect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,YAAY,EAIjB,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,IAAI,EAEV,MAAM,kBAAkB,CAAC;AAG1B,qBAAa,eAAgB,SAAQ,kBAAkB;gBACzC,cAAc,CAAC,EAAE,cAAc,EAAE,OAAO,GAAE,OAAoB;IAIjE,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAMvC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIlC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI;IAK1F,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;IAY3G,OAAO,CAAC,CAAC,EAChB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,OAAO,EACZ,IAAI,GAAE,sBAA2B,GAChC,IAAI;IAmBE,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,0BAA0B,CAAC,CAAC,CAAC,EAC5E,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAChB,EAAE,EAAE,CAAC,EACL,GAAG,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACrC,IAAI,GAAE,YAAiB,GACtB,IAAI;IA+BP;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAuC/B,cAAuB,QAAQ,IAAI,MAAM,CAExC;cAEkB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAI3D,cAAuB,IAAI,IAAI,MAAM,CAEpC;cAEkB,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM;cAMvE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;cAIjC,sBAAsB,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAkB1G,mCAAmC;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAMhC;IAEF,0EAA0E;cACvD,gBAAgB,CAAC,CAAC,EACnC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,GACxB,IAAI;cAQY,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAyBlG,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;CAGxC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import sqlstring from 'sqlstring-sqlite';
|
|
2
2
|
import { AbstractSqlDialect } from '../dialect/index.js';
|
|
3
|
+
import { buildElemMatchConditions } from '../dialect/jsonArrayElemMatchUtils.js';
|
|
3
4
|
import { getMeta } from '../entity/index.js';
|
|
4
5
|
import { QueryRaw, } from '../type/index.js';
|
|
5
6
|
import { hasKeys, isJsonType } from '../util/index.js';
|
|
@@ -7,9 +8,12 @@ export class PostgresDialect extends AbstractSqlDialect {
|
|
|
7
8
|
constructor(namingStrategy, dialect = 'postgres') {
|
|
8
9
|
super(dialect, namingStrategy);
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
normalizeValue(value) {
|
|
12
|
+
if (typeof value === 'boolean')
|
|
13
|
+
return value ? 'true' : 'false';
|
|
14
|
+
if (value !== null && typeof value === 'object')
|
|
15
|
+
return Array.isArray(value) ? toPgArray(value) : value;
|
|
16
|
+
return super.normalizeValue(value);
|
|
13
17
|
}
|
|
14
18
|
placeholder(index) {
|
|
15
19
|
return `$${index}`;
|
|
@@ -47,43 +51,6 @@ export class PostgresDialect extends AbstractSqlDialect {
|
|
|
47
51
|
}
|
|
48
52
|
compareFieldOperator(ctx, entity, key, op, val, opts = {}) {
|
|
49
53
|
switch (op) {
|
|
50
|
-
case '$istartsWith':
|
|
51
|
-
this.getComparisonKey(ctx, entity, key, opts);
|
|
52
|
-
ctx.append(' ILIKE ');
|
|
53
|
-
ctx.addValue(`${val}%`);
|
|
54
|
-
break;
|
|
55
|
-
case '$iendsWith':
|
|
56
|
-
this.getComparisonKey(ctx, entity, key, opts);
|
|
57
|
-
ctx.append(' ILIKE ');
|
|
58
|
-
ctx.addValue(`%${val}`);
|
|
59
|
-
break;
|
|
60
|
-
case '$iincludes':
|
|
61
|
-
this.getComparisonKey(ctx, entity, key, opts);
|
|
62
|
-
ctx.append(' ILIKE ');
|
|
63
|
-
ctx.addValue(`%${val}%`);
|
|
64
|
-
break;
|
|
65
|
-
case '$ilike':
|
|
66
|
-
this.getComparisonKey(ctx, entity, key, opts);
|
|
67
|
-
ctx.append(' ILIKE ');
|
|
68
|
-
ctx.addValue(val);
|
|
69
|
-
break;
|
|
70
|
-
case '$in':
|
|
71
|
-
this.getComparisonKey(ctx, entity, key, opts);
|
|
72
|
-
ctx.append(' = ANY(');
|
|
73
|
-
ctx.addValue(val);
|
|
74
|
-
ctx.append(')');
|
|
75
|
-
break;
|
|
76
|
-
case '$nin':
|
|
77
|
-
this.getComparisonKey(ctx, entity, key, opts);
|
|
78
|
-
ctx.append(' <> ALL(');
|
|
79
|
-
ctx.addValue(val);
|
|
80
|
-
ctx.append(')');
|
|
81
|
-
break;
|
|
82
|
-
case '$regex':
|
|
83
|
-
this.getComparisonKey(ctx, entity, key, opts);
|
|
84
|
-
ctx.append(' ~ ');
|
|
85
|
-
ctx.addValue(val);
|
|
86
|
-
break;
|
|
87
54
|
case '$elemMatch':
|
|
88
55
|
this.buildElemMatchCondition(ctx, entity, key, val, opts);
|
|
89
56
|
break;
|
|
@@ -130,41 +97,27 @@ export class PostgresDialect extends AbstractSqlDialect {
|
|
|
130
97
|
ctx.append('EXISTS (SELECT 1 FROM jsonb_array_elements(');
|
|
131
98
|
this.getComparisonKey(ctx, entity, key, opts);
|
|
132
99
|
ctx.append(') AS elem WHERE ');
|
|
133
|
-
const conditions =
|
|
134
|
-
for (const [field, value] of Object.entries(match)) {
|
|
135
|
-
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
136
|
-
// Value is an operator object
|
|
137
|
-
const ops = value;
|
|
138
|
-
for (const [op, opVal] of Object.entries(ops)) {
|
|
139
|
-
conditions.push(this.buildJsonFieldOperator(ctx, field, op, opVal));
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
// Simple equality
|
|
144
|
-
conditions.push(`elem->>'${field}' = ${this.addValue(ctx.values, value)}`);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
100
|
+
const conditions = buildElemMatchConditions(match, (field, op, opVal) => this.buildJsonFieldCondition(ctx, (f) => `elem->>'${this.escapeJsonKey(f)}'`, field, op, opVal), (field, value) => `elem->>'${this.escapeJsonKey(field)}' = ${this.addValue(ctx.values, value)}`);
|
|
147
101
|
ctx.append(conditions.join(' AND '));
|
|
148
102
|
ctx.append(')');
|
|
149
103
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
};
|
|
104
|
+
get regexpOp() {
|
|
105
|
+
return '~';
|
|
106
|
+
}
|
|
107
|
+
ilikeExpr(f, ph) {
|
|
108
|
+
return `${f} ILIKE ${ph}`;
|
|
109
|
+
}
|
|
110
|
+
get neOp() {
|
|
111
|
+
return 'IS DISTINCT FROM';
|
|
112
|
+
}
|
|
113
|
+
formatIn(ctx, values, negate) {
|
|
114
|
+
if (values.length === 0)
|
|
115
|
+
return negate ? ' NOT IN (NULL)' : ' IN (NULL)';
|
|
116
|
+
const ph = this.addValue(ctx.values, values);
|
|
117
|
+
return negate ? ` <> ALL(${ph})` : ` = ANY(${ph})`;
|
|
118
|
+
}
|
|
119
|
+
numericCast(expr) {
|
|
120
|
+
return `(${expr})::numeric`;
|
|
168
121
|
}
|
|
169
122
|
formatPersistableValue(ctx, field, value) {
|
|
170
123
|
if (value instanceof QueryRaw) {
|
|
@@ -225,4 +178,28 @@ export class PostgresDialect extends AbstractSqlDialect {
|
|
|
225
178
|
return sqlstring.escape(value);
|
|
226
179
|
}
|
|
227
180
|
}
|
|
181
|
+
/**
|
|
182
|
+
* Converts a JS array to a Postgres array literal string: `{"val1","val2"}`.
|
|
183
|
+
* Safely handles nesting and escaping of special characters.
|
|
184
|
+
*/
|
|
185
|
+
function toPgArray(arr) {
|
|
186
|
+
const elements = arr.map((val) => {
|
|
187
|
+
if (val == null)
|
|
188
|
+
return 'NULL';
|
|
189
|
+
if (Array.isArray(val))
|
|
190
|
+
return toPgArray(val);
|
|
191
|
+
if (typeof val === 'boolean')
|
|
192
|
+
return val ? 'true' : 'false';
|
|
193
|
+
if (val instanceof Uint8Array || (typeof Buffer !== 'undefined' && Buffer.isBuffer(val))) {
|
|
194
|
+
const hex = Array.from(val)
|
|
195
|
+
.map((b) => b.toString(16).padStart(2, '0'))
|
|
196
|
+
.join('');
|
|
197
|
+
return `"\\\\x${hex}"`;
|
|
198
|
+
}
|
|
199
|
+
const str = String(val);
|
|
200
|
+
const escaped = str.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
201
|
+
return `"${escaped}"`;
|
|
202
|
+
});
|
|
203
|
+
return `{${elements.join(',')}}`;
|
|
204
|
+
}
|
|
228
205
|
//# sourceMappingURL=postgresDialect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresDialect.js","sourceRoot":"","sources":["../../src/postgres/postgresDialect.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAWL,QAAQ,GAOT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,OAAO,eAAgB,SAAQ,kBAAkB;IACrD,YAAY,cAA+B,EAAE,UAAmB,UAAU;QACxE,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACjC,CAAC;IAEQ,
|
|
1
|
+
{"version":3,"file":"postgresDialect.js","sourceRoot":"","sources":["../../src/postgres/postgresDialect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import type { AbstractDialect } from '../dialect/index.js';
|
|
1
2
|
import type { Dialect, ExtraOptions, Querier, QuerierPool, TransactionOptions } from '../type/index.js';
|
|
2
|
-
export declare abstract class AbstractQuerierPool<Q extends Querier> implements QuerierPool<Q> {
|
|
3
|
-
readonly
|
|
3
|
+
export declare abstract class AbstractQuerierPool<D extends AbstractDialect, Q extends Querier> implements QuerierPool<Q> {
|
|
4
|
+
readonly dialectInstance: D;
|
|
4
5
|
readonly extra?: ExtraOptions | undefined;
|
|
5
|
-
constructor(
|
|
6
|
+
constructor(dialectInstance: D, extra?: ExtraOptions | undefined);
|
|
7
|
+
get dialect(): Dialect;
|
|
6
8
|
/**
|
|
7
9
|
* get a querier from the pool.
|
|
8
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstractQuerierPool.d.ts","sourceRoot":"","sources":["../../src/querier/abstractQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExG,8BAAsB,mBAAmB,CAAC,CAAC,SAAS,OAAO,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"abstractQuerierPool.d.ts","sourceRoot":"","sources":["../../src/querier/abstractQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExG,8BAAsB,mBAAmB,CAAC,CAAC,SAAS,eAAe,EAAE,CAAC,SAAS,OAAO,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IAE7G,QAAQ,CAAC,eAAe,EAAE,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY;gBADpB,eAAe,EAAE,CAAC,EAClB,KAAK,CAAC,EAAE,YAAY,YAAA;IAG/B,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC;IAEjC;;OAEG;IACG,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKjG;;OAEG;IACG,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAStE;;OAEG;IACH,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAC9B"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
export class AbstractQuerierPool {
|
|
2
|
-
|
|
2
|
+
dialectInstance;
|
|
3
3
|
extra;
|
|
4
|
-
constructor(
|
|
5
|
-
this.
|
|
4
|
+
constructor(dialectInstance, extra) {
|
|
5
|
+
this.dialectInstance = dialectInstance;
|
|
6
6
|
this.extra = extra;
|
|
7
7
|
}
|
|
8
|
+
get dialect() {
|
|
9
|
+
return this.dialectInstance.dialect;
|
|
10
|
+
}
|
|
8
11
|
/**
|
|
9
12
|
* get a querier from the pool and run the given callback inside a transaction.
|
|
10
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstractQuerierPool.js","sourceRoot":"","sources":["../../src/querier/abstractQuerierPool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"abstractQuerierPool.js","sourceRoot":"","sources":["../../src/querier/abstractQuerierPool.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,mBAAmB;IAE5B;IACA;IAFX,YACW,eAAkB,EAClB,KAAoB;QADpB,oBAAe,GAAf,eAAe,CAAG;QAClB,UAAK,GAAL,KAAK,CAAe;IAC5B,CAAC;IAEJ,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;IACtC,CAAC;IAOD;;OAEG;IACH,KAAK,CAAC,WAAW,CAAI,QAAoC,EAAE,IAAyB;QAClF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAI,QAAoC;QACvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;CAMF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AbstractSqlDialect } from '../dialect/index.js';
|
|
2
2
|
import type { ExtraOptions, IdValue, Query, QueryAggregate, QueryConflictPaths, QueryOptions, QuerySearch, QueryUpdateResult, SqlQuerier, TransactionOptions, Type, UpdatePayload } from '../type/index.js';
|
|
3
|
+
import type { BuildUpdateResultPayload } from '../util/sql.util.js';
|
|
3
4
|
import { AbstractQuerier } from './abstractQuerier.js';
|
|
4
5
|
export declare abstract class AbstractSqlQuerier extends AbstractQuerier implements SqlQuerier {
|
|
5
6
|
readonly dialect: AbstractSqlDialect;
|
|
@@ -14,6 +15,10 @@ export declare abstract class AbstractSqlQuerier extends AbstractQuerier impleme
|
|
|
14
15
|
* internal insert/update/delete/ddl query.
|
|
15
16
|
*/
|
|
16
17
|
protected abstract internalRun(query: string, values?: unknown[]): Promise<QueryUpdateResult>;
|
|
18
|
+
/**
|
|
19
|
+
* Build a QueryUpdateResult with affected changes and calculated IDs.
|
|
20
|
+
*/
|
|
21
|
+
protected buildUpdateResult(payload: BuildUpdateResultPayload): QueryUpdateResult;
|
|
17
22
|
/**
|
|
18
23
|
* Hook for subclasses (e.g. pool queriers) to establish a connection.
|
|
19
24
|
* Called before every query but outside the `@Log()` timer.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstractSqlQuerier.d.ts","sourceRoot":"","sources":["../../src/querier/abstractSqlQuerier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,KAAK,EACL,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,iBAAiB,EAEjB,UAAU,EACV,kBAAkB,EAClB,IAAI,EACJ,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,8BAAsB,kBAAmB,SAAQ,eAAgB,YAAW,UAAU;IAIlF,QAAQ,CAAC,OAAO,EAAE,kBAAkB;aAClB,KAAK,CAAC,EAAE,YAAY;IAJxC,OAAO,CAAC,qBAAqB,CAAC,CAAU;gBAG7B,OAAO,EAAE,kBAAkB,EAClB,KAAK,CAAC,EAAE,YAAY,YAAA;IAKxC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAElF;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAE7F;;;OAGG;cACa,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAGtC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;YAM/C,QAAQ;IAKhB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAM1D,QAAQ;cAIG,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;cAS9D,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"abstractSqlQuerier.d.ts","sourceRoot":"","sources":["../../src/querier/abstractSqlQuerier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import { getMeta } from '../entity/index.js';
|
|
3
|
-
import { clone, obtainAttrsPaths, unflatObject, unflatObjects } from '../util/index.js';
|
|
3
|
+
import { buildUpdateResult, clone, obtainAttrsPaths, unflatObject, unflatObjects } from '../util/index.js';
|
|
4
4
|
import { AbstractQuerier } from './abstractQuerier.js';
|
|
5
5
|
import { Log, Serialized } from './decorator/index.js';
|
|
6
6
|
export class AbstractSqlQuerier extends AbstractQuerier {
|
|
@@ -12,6 +12,15 @@ export class AbstractSqlQuerier extends AbstractQuerier {
|
|
|
12
12
|
this.dialect = dialect;
|
|
13
13
|
this.extra = extra;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Build a QueryUpdateResult with affected changes and calculated IDs.
|
|
17
|
+
*/
|
|
18
|
+
buildUpdateResult(payload) {
|
|
19
|
+
return buildUpdateResult({
|
|
20
|
+
insertIdStrategy: this.dialect.insertIdStrategy,
|
|
21
|
+
...payload,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
15
24
|
/**
|
|
16
25
|
* Hook for subclasses (e.g. pool queriers) to establish a connection.
|
|
17
26
|
* Called before every query but outside the `@Log()` timer.
|
|
@@ -22,14 +31,14 @@ export class AbstractSqlQuerier extends AbstractQuerier {
|
|
|
22
31
|
return this.timedAll(query, values);
|
|
23
32
|
}
|
|
24
33
|
async timedAll(query, values) {
|
|
25
|
-
return this.internalAll(query, values);
|
|
34
|
+
return this.internalAll(query, this.dialect.normalizeValues(values));
|
|
26
35
|
}
|
|
27
36
|
async run(query, values) {
|
|
28
37
|
await this.lazyConnect();
|
|
29
38
|
return this.timedRun(query, values);
|
|
30
39
|
}
|
|
31
40
|
async timedRun(query, values) {
|
|
32
|
-
return this.internalRun(query, values);
|
|
41
|
+
return this.internalRun(query, this.dialect.normalizeValues(values));
|
|
33
42
|
}
|
|
34
43
|
async internalFindMany(entity, q) {
|
|
35
44
|
const ctx = this.dialect.createContext();
|
|
@@ -42,8 +51,9 @@ export class AbstractSqlQuerier extends AbstractQuerier {
|
|
|
42
51
|
async *internalFindManyStream(entity, q) {
|
|
43
52
|
const ctx = this.dialect.createContext();
|
|
44
53
|
this.dialect.find(ctx, entity, q);
|
|
54
|
+
const normalizedParams = this.dialect.normalizeValues(ctx.values);
|
|
45
55
|
let attrsPaths;
|
|
46
|
-
for await (const row of this.internalStream(ctx.sql,
|
|
56
|
+
for await (const row of this.internalStream(ctx.sql, normalizedParams)) {
|
|
47
57
|
attrsPaths ??= obtainAttrsPaths(row);
|
|
48
58
|
yield unflatObject(row, attrsPaths);
|
|
49
59
|
}
|
|
@@ -54,7 +64,7 @@ export class AbstractSqlQuerier extends AbstractQuerier {
|
|
|
54
64
|
* Drivers with native cursor/streaming APIs (SQLite, Pg) should override this.
|
|
55
65
|
*/
|
|
56
66
|
async *internalStream(query, values) {
|
|
57
|
-
const rows = await this.internalAll(query, values);
|
|
67
|
+
const rows = await this.internalAll(query, this.dialect.normalizeValues(values));
|
|
58
68
|
yield* rows;
|
|
59
69
|
}
|
|
60
70
|
async internalCount(entity, q = {}) {
|