uql-orm 0.14.1 → 0.15.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.
Files changed (53) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +12 -2
  3. package/dist/bunSql/bunSqlQuerierPool.d.ts +2 -2
  4. package/dist/bunSql/bunSqlQuerierPool.d.ts.map +1 -1
  5. package/dist/bunSql/bunSqlQuerierPool.js +2 -2
  6. package/dist/bunSql/bunSqlQuerierPool.js.map +1 -1
  7. package/dist/cockroachdb/crdbQuerierPool.d.ts +1 -1
  8. package/dist/cockroachdb/crdbQuerierPool.d.ts.map +1 -1
  9. package/dist/d1/d1QuerierPool.d.ts +2 -2
  10. package/dist/d1/d1QuerierPool.d.ts.map +1 -1
  11. package/dist/d1/d1QuerierPool.js +2 -2
  12. package/dist/d1/d1QuerierPool.js.map +1 -1
  13. package/dist/libsql/libsqlQuerierPool.d.ts +2 -2
  14. package/dist/libsql/libsqlQuerierPool.d.ts.map +1 -1
  15. package/dist/libsql/libsqlQuerierPool.js +2 -2
  16. package/dist/libsql/libsqlQuerierPool.js.map +1 -1
  17. package/dist/maria/mariadbQuerierPool.d.ts +2 -2
  18. package/dist/maria/mariadbQuerierPool.d.ts.map +1 -1
  19. package/dist/maria/mariadbQuerierPool.js +2 -2
  20. package/dist/maria/mariadbQuerierPool.js.map +1 -1
  21. package/dist/mongo/mongodbQuerierPool.d.ts +1 -1
  22. package/dist/mongo/mongodbQuerierPool.d.ts.map +1 -1
  23. package/dist/mysql/mysql2QuerierPool.d.ts +2 -2
  24. package/dist/mysql/mysql2QuerierPool.d.ts.map +1 -1
  25. package/dist/mysql/mysql2QuerierPool.js +2 -2
  26. package/dist/mysql/mysql2QuerierPool.js.map +1 -1
  27. package/dist/neon/neonQuerierPool.d.ts +1 -1
  28. package/dist/postgres/abstractPgQuerierPool.d.ts +2 -2
  29. package/dist/postgres/abstractPgQuerierPool.d.ts.map +1 -1
  30. package/dist/postgres/abstractPgQuerierPool.js +2 -2
  31. package/dist/postgres/abstractPgQuerierPool.js.map +1 -1
  32. package/dist/postgres/pgQuerierPool.d.ts +1 -1
  33. package/dist/querier/abstractQuerierPool.d.ts +10 -2
  34. package/dist/querier/abstractQuerierPool.d.ts.map +1 -1
  35. package/dist/querier/abstractQuerierPool.js +24 -3
  36. package/dist/querier/abstractQuerierPool.js.map +1 -1
  37. package/dist/querier/abstractSqlQuerierPool.d.ts +12 -0
  38. package/dist/querier/abstractSqlQuerierPool.d.ts.map +1 -0
  39. package/dist/querier/abstractSqlQuerierPool.js +14 -0
  40. package/dist/querier/abstractSqlQuerierPool.js.map +1 -0
  41. package/dist/querier/index.d.ts +1 -0
  42. package/dist/querier/index.d.ts.map +1 -1
  43. package/dist/querier/index.js +1 -0
  44. package/dist/querier/index.js.map +1 -1
  45. package/dist/sqlite/sqliteQuerierPool.d.ts +8 -3
  46. package/dist/sqlite/sqliteQuerierPool.d.ts.map +1 -1
  47. package/dist/sqlite/sqliteQuerierPool.js +22 -20
  48. package/dist/sqlite/sqliteQuerierPool.js.map +1 -1
  49. package/dist/type/querierPool.d.ts +27 -3
  50. package/dist/type/querierPool.d.ts.map +1 -1
  51. package/dist/type/universalQuerier.d.ts +9 -9
  52. package/dist/type/universalQuerier.d.ts.map +1 -1
  53. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -4,6 +4,36 @@ All notable changes to this project will be documented in this file. Please add
4
4
 
5
5
  date format is [yyyy-mm-dd]
6
6
 
7
+ ## [0.15.0] - 2026-07-09
8
+
9
+ Pool-level query methods: each call acquires its own querier, runs the single operation, and releases it, so `Promise.all` fans out across connections without ceremony - the same default as Sequelize/TypeORM/Prisma. (Single-connection backends - better-sqlite3, Bun sqlite, D1 - stay correct but serialize on their one connection.)
10
+
11
+ ### Breaking
12
+
13
+ - **Pool base-class generics are now querier-first**, matching the `QuerierPool<Q, D>` interface they implement: `AbstractQuerierPool<Q, D>` (was `<D, Q>`), `AbstractSqlQuerierPool<Q, D>`, and `AbstractPgQuerierPool<C, Q, D>` (was `<C, D, Q>`). Only custom pool subclasses and explicit type annotations are affected - swap the two arguments; runtime behavior is unchanged.
14
+
15
+ ### Features
16
+
17
+ - **Read helpers on the pool** - `pool.findMany` / `pool.findOne` / `pool.findOneById` / `pool.findManyAndCount` / `pool.count` / `pool.aggregate`:
18
+
19
+ ```ts
20
+ // Two connections, in parallel:
21
+ const [invoices, total] = await Promise.all([pool.findMany(Invoice, { $where: { paid: false } }), pool.count(Invoice, {})]);
22
+
23
+ // vs. one pinned connection (queries queue) - still the right tool for a unit of work:
24
+ await pool.withQuerier((q) => Promise.all([q.findMany(Invoice, {}), q.count(Invoice, {})]));
25
+ ```
26
+
27
+ The ambient `withContext` still scopes these (so `security` filters apply). They take the entity-as-argument form; for the `{ $entity }` form, multi-statement work, or streaming, use `withQuerier` / `transaction`.
28
+
29
+ - **Raw SQL on SQL pools** - `pool.all(sql, values)` / `pool.run(sql, values)`, with the same connection-per-call semantics. Raw SQL bypasses query generation, so it is not scoped by `security` filters.
30
+
31
+ - **Types** - the pool surfaces are *derived* from the querier contracts (`QuerierPool extends Pick<UniversalQuerier, ...reads>`, `SqlQuerierPool extends Pick<SqlQuerier, 'all' | 'run'>`), so they cannot drift. To support this, `UniversalQuerier`'s read and update signatures gained the trailing `opts?: QueryOptions` that `Querier` already declared - a non-breaking widening.
32
+
33
+ ### Fixes
34
+
35
+ - **`Sqlite3QuerierPool` hands out a querier per acquisition** (sharing the single database handle) instead of one memoized querier, so transaction state is per unit of work like every other pool. Previously, a pool-level unit of work started while a transaction was open (e.g. a pool read inside `pool.transaction(...)`) received the *same* querier, and its `release()` threw `pending transaction`, rolling back the outer transaction. Covered by new pool integration tests across all backends.
36
+
7
37
  ## [0.14.1] - 2026-07-09
8
38
 
9
39
  Context ergonomics for event-driven apps (background pipelines, queue consumers, webhooks) - shaped by adopting the multi-tenancy filters in a real multimedia app.
package/README.md CHANGED
@@ -41,7 +41,8 @@ Full docs: **[uql-orm.dev](https://uql-orm.dev)**
41
41
  | Query filters, multi-tenancy & row-level security | [Filters](https://uql-orm.dev/querying/filters) · [Multi-tenancy](https://uql-orm.dev/multi-tenancy) |
42
42
  | Aggregate queries, grouping, HAVING | [Aggregate](https://uql-orm.dev/querying/aggregate) |
43
43
  | Semantic search & vector similarity | [Semantic Search](https://uql-orm.dev/ai-semantic-search) |
44
- | Streaming, transactions, raw SQL | [Querying](https://uql-orm.dev/querying/querier) |
44
+ | Parallel reads & raw SQL on the pool | [Parallel reads](https://uql-orm.dev/querying/querier#parallel-reads-on-the-pool) · [Raw SQL](https://uql-orm.dev/querying/raw-sql) |
45
+ | Streaming, transactions | [Streaming](https://uql-orm.dev/querying/streaming) · [Transactions](https://uql-orm.dev/querying/transactions) |
45
46
  | REST API from your entities (any framework) | [HTTP](https://uql-orm.dev/extensions-http) |
46
47
  | Typed browser client, NestJS module | [Browser](https://uql-orm.dev/extensions-browser) · [NestJS](https://uql-orm.dev/nestjs) |
47
48
 
@@ -91,7 +92,16 @@ await querier.findMany(User, {
91
92
 
92
93
  25+ comparison operators (`$eq`, `$in`, `$between`, `$like`, `$elemMatch`), logical operators (`$and`, `$or`, `$not`, `$nor`), and type-safe JSON/JSONB dot-notation queries.
93
94
 
94
- > [Querying](https://uql-orm.dev/querying/querier) · [Operators](https://uql-orm.dev/querying/comparison-operators) · [JSON](https://uql-orm.dev/querying/json)
95
+ Independent reads run directly on the pool - each call gets its own connection, so `Promise.all` fans out in parallel:
96
+
97
+ ```ts
98
+ const [users, total] = await Promise.all([
99
+ pool.findMany(User, { $where: { status: 'active' } }),
100
+ pool.count(User, {}),
101
+ ]);
102
+ ```
103
+
104
+ > [Querying](https://uql-orm.dev/querying/querier) · [Parallel reads](https://uql-orm.dev/querying/querier#parallel-reads-on-the-pool) · [Operators](https://uql-orm.dev/querying/comparison-operators) · [JSON](https://uql-orm.dev/querying/json)
95
105
 
96
106
  ## Transactions
97
107
 
@@ -1,9 +1,9 @@
1
1
  import { SQL } from 'bun';
2
2
  import type { AbstractSqlDialect } from '../dialect/abstractSqlDialect.js';
3
- import { AbstractQuerierPool } from '../querier/index.js';
3
+ import { AbstractSqlQuerierPool } from '../querier/index.js';
4
4
  import type { ExtraOptions, SqlDialectName, SqlPoolCompat } from '../type/index.js';
5
5
  import { BunSqlQuerier } from './bunSqlQuerier.js';
6
- export declare class BunSqlQuerierPool extends AbstractQuerierPool<AbstractSqlDialect, BunSqlQuerier> {
6
+ export declare class BunSqlQuerierPool extends AbstractSqlQuerierPool<BunSqlQuerier, AbstractSqlDialect> {
7
7
  readonly config: SQL.Options;
8
8
  readonly sql: SQL;
9
9
  readonly sqlDialectName: SqlDialectName;
@@ -1 +1 @@
1
- {"version":3,"file":"bunSqlQuerierPool.d.ts","sourceRoot":"","sources":["../../src/bunSql/bunSqlQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,GAAG,EAAE,MAAM,KAAK,CAAC;AAG5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAWpF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAYnD,qBAAa,iBAAkB,SAAQ,mBAAmB,CAAC,kBAAkB,EAAE,aAAa,CAAC;IAKzF,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO;IAJ9B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC,YACW,MAAM,EAAE,GAAG,CAAC,OAAO,EAC5B,KAAK,CAAC,EAAE,YAAY,EAQrB;IAED;;;OAGG;IACH,IAAI,IAAI,IAAI,aAAa,CAWxB;IAEK,UAAU,2BASf;IAEK,GAAG,kBAER;CACF"}
1
+ {"version":3,"file":"bunSqlQuerierPool.d.ts","sourceRoot":"","sources":["../../src/bunSql/bunSqlQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,GAAG,EAAE,MAAM,KAAK,CAAC;AAG5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAWpF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAYnD,qBAAa,iBAAkB,SAAQ,sBAAsB,CAAC,aAAa,EAAE,kBAAkB,CAAC;IAK5F,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO;IAJ9B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC,YACW,MAAM,EAAE,GAAG,CAAC,OAAO,EAC5B,KAAK,CAAC,EAAE,YAAY,EAQrB;IAED;;;OAGG;IACH,IAAI,IAAI,IAAI,aAAa,CAWxB;IAEK,UAAU,2BASf;IAEK,GAAG,kBAER;CACF"}
@@ -2,7 +2,7 @@ import { SQL } from 'bun';
2
2
  import { CockroachDialect } from '../cockroachdb/cockroachDialect.js';
3
3
  import { MariaDialect } from '../maria/mariaDialect.js';
4
4
  import { MySqlDialect } from '../mysql/mysqlDialect.js';
5
- import { AbstractQuerierPool } from '../querier/index.js';
5
+ import { AbstractSqlQuerierPool } from '../querier/index.js';
6
6
  import { getAffectedRows, inferDialectName, isPoolableDialect, normalizeBunOpts, normalizeRows, } from './bunSql.util.js';
7
7
  import { BunSqliteDialect } from './bunSqliteDialect.js';
8
8
  import { BunSqlPostgresDialect } from './bunSqlPostgresDialect.js';
@@ -14,7 +14,7 @@ const DialectMap = {
14
14
  sqlite: BunSqliteDialect,
15
15
  cockroachdb: CockroachDialect,
16
16
  };
17
- export class BunSqlQuerierPool extends AbstractQuerierPool {
17
+ export class BunSqlQuerierPool extends AbstractSqlQuerierPool {
18
18
  config;
19
19
  sql;
20
20
  sqlDialectName;
@@ -1 +1 @@
1
- {"version":3,"file":"bunSqlQuerierPool.js","sourceRoot":"","sources":["../../src/bunSql/bunSqlQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAEL,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,MAAM,UAAU,GAAyD;IACvE,QAAQ,EAAE,qBAAqB;IAC/B,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,gBAAgB;IACxB,WAAW,EAAE,gBAAgB;CAC9B,CAAC;AAEF,MAAM,OAAO,iBAAkB,SAAQ,mBAAsD;IAKhF,MAAM;IAJR,GAAG,CAAM;IACT,cAAc,CAAiB;IAExC,YACW,MAAmB,EAC5B,KAAoB;QAEpB,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;sBAJ5E,MAAM;QAKf,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;QAElC,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,IAAI,IAAI;QACN,OAAO;YACL,KAAK,EAAE,CAAC,IAAY,EAAE,MAAkB,EAAE,EAAE,CAC1C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAe,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACvF,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC;gBACxB,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC;aAC/B,CAAC,CAAC;YACL,EAAE,EAAE,GAAG,EAAE;gBACP,+BAA+B;YACjC,CAAC;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;YAC7B,gFAAgF;YAChF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,GAAkB,CAAC;YACjC,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC,CAAC;QACF,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"bunSqlQuerierPool.js","sourceRoot":"","sources":["../../src/bunSql/bunSqlQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAEL,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,MAAM,UAAU,GAAyD;IACvE,QAAQ,EAAE,qBAAqB;IAC/B,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,gBAAgB;IACxB,WAAW,EAAE,gBAAgB;CAC9B,CAAC;AAEF,MAAM,OAAO,iBAAkB,SAAQ,sBAAyD;IAKnF,MAAM;IAJR,GAAG,CAAM;IACT,cAAc,CAAiB;IAExC,YACW,MAAmB,EAC5B,KAAoB;QAEpB,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;sBAJ5E,MAAM;QAKf,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;QAElC,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,IAAI,IAAI;QACN,OAAO;YACL,KAAK,EAAE,CAAC,IAAY,EAAE,MAAkB,EAAE,EAAE,CAC1C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAe,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACvF,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC;gBACxB,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC;aAC/B,CAAC,CAAC;YACL,EAAE,EAAE,GAAG,EAAE;gBACP,+BAA+B;YACjC,CAAC;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;YAC7B,gFAAgF;YAChF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,GAAkB,CAAC;YACjC,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC,CAAC;QACF,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF"}
@@ -6,7 +6,7 @@ import { CrdbQuerier } from './crdbQuerier.js';
6
6
  /**
7
7
  * QuerierPool for CockroachDB using the `pg` driver Pool.
8
8
  */
9
- export declare class CrdbQuerierPool extends AbstractPgQuerierPool<PoolClient, CockroachDialect, CrdbQuerier> {
9
+ export declare class CrdbQuerierPool extends AbstractPgQuerierPool<PoolClient, CrdbQuerier, CockroachDialect> {
10
10
  readonly pool: Pool;
11
11
  constructor(opts: PoolConfig, extra?: ExtraOptions);
12
12
  getQuerier(): Promise<CrdbQuerier>;
@@ -1 +1 @@
1
- {"version":3,"file":"crdbQuerierPool.d.ts","sourceRoot":"","sources":["../../src/cockroachdb/crdbQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,IAAI,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,qBAAqB,CAAC,UAAU,EAAE,gBAAgB,EAAE,WAAW,CAAC;IACnG,SAAiB,IAAI,EAAE,IAAI,CAAC;IAE5B,YAAY,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,YAAY,EAMjD;IAEK,UAAU,yBAEf;CACF"}
1
+ {"version":3,"file":"crdbQuerierPool.d.ts","sourceRoot":"","sources":["../../src/cockroachdb/crdbQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,IAAI,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,qBAAqB,CAAC,UAAU,EAAE,WAAW,EAAE,gBAAgB,CAAC;IACnG,SAAiB,IAAI,EAAE,IAAI,CAAC;IAE5B,YAAY,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,YAAY,EAMjD;IAEK,UAAU,yBAEf;CACF"}
@@ -1,8 +1,8 @@
1
- import { AbstractQuerierPool } from '../querier/index.js';
1
+ import { AbstractSqlQuerierPool } from '../querier/index.js';
2
2
  import type { ExtraOptions } from '../type/index.js';
3
3
  import { type D1Database, D1Querier } from './d1Querier.js';
4
4
  import { D1SqliteDialect } from './d1SqliteDialect.js';
5
- export declare class D1QuerierPool extends AbstractQuerierPool<D1SqliteDialect, D1Querier> {
5
+ export declare class D1QuerierPool extends AbstractSqlQuerierPool<D1Querier, D1SqliteDialect> {
6
6
  readonly db: D1Database;
7
7
  constructor(db: D1Database, extra?: ExtraOptions);
8
8
  getQuerier(): Promise<D1Querier>;
@@ -1 +1 @@
1
- {"version":3,"file":"d1QuerierPool.d.ts","sourceRoot":"","sources":["../../src/d1/d1QuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,aAAc,SAAQ,mBAAmB,CAAC,eAAe,EAAE,SAAS,CAAC;IAChF,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IAExB,YAAY,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,YAAY,EAG/C;IAEK,UAAU,uBAEf;IAEK,GAAG,kBAER;CACF"}
1
+ {"version":3,"file":"d1QuerierPool.d.ts","sourceRoot":"","sources":["../../src/d1/d1QuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,aAAc,SAAQ,sBAAsB,CAAC,SAAS,EAAE,eAAe,CAAC;IACnF,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IAExB,YAAY,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,YAAY,EAG/C;IAEK,UAAU,uBAEf;IAEK,GAAG,kBAER;CACF"}
@@ -1,7 +1,7 @@
1
- import { AbstractQuerierPool } from '../querier/index.js';
1
+ import { AbstractSqlQuerierPool } from '../querier/index.js';
2
2
  import { D1Querier } from './d1Querier.js';
3
3
  import { D1SqliteDialect } from './d1SqliteDialect.js';
4
- export class D1QuerierPool extends AbstractQuerierPool {
4
+ export class D1QuerierPool extends AbstractSqlQuerierPool {
5
5
  db;
6
6
  constructor(db, extra) {
7
7
  super(new D1SqliteDialect({ namingStrategy: extra?.namingStrategy }), extra);
@@ -1 +1 @@
1
- {"version":3,"file":"d1QuerierPool.js","sourceRoot":"","sources":["../../src/d1/d1QuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAmB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,OAAO,aAAc,SAAQ,mBAA+C;IACvE,EAAE,CAAa;IAExB,YAAY,EAAc,EAAE,KAAoB;QAC9C,KAAK,CAAC,IAAI,eAAe,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7E,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,GAAG;QACP,wBAAwB;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"d1QuerierPool.js","sourceRoot":"","sources":["../../src/d1/d1QuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAmB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,OAAO,aAAc,SAAQ,sBAAkD;IAC1E,EAAE,CAAa;IAExB,YAAY,EAAc,EAAE,KAAoB;QAC9C,KAAK,CAAC,IAAI,eAAe,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7E,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,GAAG;QACP,wBAAwB;IAC1B,CAAC;CACF"}
@@ -1,11 +1,11 @@
1
1
  import { type Client, type Config } from '@libsql/client';
2
- import { AbstractQuerierPool } from '../querier/index.js';
2
+ import { AbstractSqlQuerierPool } from '../querier/index.js';
3
3
  import type { ExtraOptions } from '../type/index.js';
4
4
  import { LibsqlDialect } from './libsqlDialect.js';
5
5
  import { LibsqlQuerier } from './libsqlQuerier.js';
6
6
  /** Embedded replica: local `file:` DB + `syncUrl` remote - DDL should run on the remote (sqld). */
7
7
  export declare function libsqlUseRemoteForMigrations(config: Pick<Config, 'url' | 'syncUrl'>): boolean;
8
- export declare class LibsqlQuerierPool extends AbstractQuerierPool<LibsqlDialect, LibsqlQuerier> {
8
+ export declare class LibsqlQuerierPool extends AbstractSqlQuerierPool<LibsqlQuerier, LibsqlDialect> {
9
9
  readonly client: Client;
10
10
  private readonly libsqlConfig;
11
11
  constructor(conf: Config, extra?: ExtraOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"libsqlQuerierPool.d.ts","sourceRoot":"","sources":["../../src/libsql/libsqlQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAgB,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,mGAAmG;AACnG,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC,GAAG,OAAO,CAE7F;AAQD,qBAAa,iBAAkB,SAAQ,mBAAmB,CAAC,aAAa,EAAE,aAAa,CAAC;IACtF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,YAAY,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,EAI7C;IAEK,UAAU,2BAEf;IAED;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,aAAa,CAAC,CAMlD;IAEK,GAAG,kBAER;CACF"}
1
+ {"version":3,"file":"libsqlQuerierPool.d.ts","sourceRoot":"","sources":["../../src/libsql/libsqlQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAgB,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,mGAAmG;AACnG,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC,GAAG,OAAO,CAE7F;AAQD,qBAAa,iBAAkB,SAAQ,sBAAsB,CAAC,aAAa,EAAE,aAAa,CAAC;IACzF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,YAAY,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,EAI7C;IAEK,UAAU,2BAEf;IAED;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,aAAa,CAAC,CAMlD;IAEK,GAAG,kBAER;CACF"}
@@ -1,5 +1,5 @@
1
1
  import { createClient } from '@libsql/client';
2
- import { AbstractQuerierPool } from '../querier/index.js';
2
+ import { AbstractSqlQuerierPool } from '../querier/index.js';
3
3
  import { LibsqlDialect } from './libsqlDialect.js';
4
4
  import { LibsqlQuerier } from './libsqlQuerier.js';
5
5
  /** Embedded replica: local `file:` DB + `syncUrl` remote - DDL should run on the remote (sqld). */
@@ -11,7 +11,7 @@ function remoteMigrationClientConfig(config) {
11
11
  const { syncUrl, url: _localUrl, ...rest } = config;
12
12
  return { ...rest, url: syncUrl };
13
13
  }
14
- export class LibsqlQuerierPool extends AbstractQuerierPool {
14
+ export class LibsqlQuerierPool extends AbstractSqlQuerierPool {
15
15
  client;
16
16
  libsqlConfig;
17
17
  constructor(conf, extra) {
@@ -1 +1 @@
1
- {"version":3,"file":"libsqlQuerierPool.js","sourceRoot":"","sources":["../../src/libsql/libsqlQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,mGAAmG;AACnG,MAAM,UAAU,4BAA4B,CAAC,MAAuC;IAClF,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,uHAAuH;AACvH,SAAS,2BAA2B,CAAC,MAAc;IACjD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACpD,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,OAAQ,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,OAAO,iBAAkB,SAAQ,mBAAiD;IAC7E,MAAM,CAAS;IACP,YAAY,CAAS;IAEtC,YAAY,IAAY,EAAE,KAAoB;QAC5C,KAAK,CAAC,IAAI,aAAa,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB;QACvB,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5E,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"libsqlQuerierPool.js","sourceRoot":"","sources":["../../src/libsql/libsqlQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,mGAAmG;AACnG,MAAM,UAAU,4BAA4B,CAAC,MAAuC;IAClF,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,uHAAuH;AACvH,SAAS,2BAA2B,CAAC,MAAc;IACjD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACpD,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,OAAQ,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,OAAO,iBAAkB,SAAQ,sBAAoD;IAChF,MAAM,CAAS;IACP,YAAY,CAAS;IAEtC,YAAY,IAAY,EAAE,KAAoB;QAC5C,KAAK,CAAC,IAAI,aAAa,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB;QACvB,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5E,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF"}
@@ -1,10 +1,10 @@
1
1
  import { createPool, type Pool } from 'mariadb';
2
- import { AbstractQuerierPool } from '../querier/index.js';
2
+ import { AbstractSqlQuerierPool } from '../querier/index.js';
3
3
  import type { ExtraOptions } from '../type/index.js';
4
4
  import { MariaDialect } from './mariaDialect.js';
5
5
  import { MariadbQuerier } from './mariadbQuerier.js';
6
6
  type PoolConfig = Exclude<Parameters<typeof createPool>[0], string>;
7
- export declare class MariadbQuerierPool extends AbstractQuerierPool<MariaDialect, MariadbQuerier> {
7
+ export declare class MariadbQuerierPool extends AbstractSqlQuerierPool<MariadbQuerier, MariaDialect> {
8
8
  readonly pool: Pool;
9
9
  constructor(opts: PoolConfig, extra?: ExtraOptions);
10
10
  getQuerier(): Promise<MariadbQuerier>;
@@ -1 +1 @@
1
- {"version":3,"file":"mariadbQuerierPool.d.ts","sourceRoot":"","sources":["../../src/maria/mariadbQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAEpE,qBAAa,kBAAmB,SAAQ,mBAAmB,CAAC,YAAY,EAAE,cAAc,CAAC;IACvF,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB,YAAY,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,YAAY,EAajD;IAEK,UAAU,4BAEf;IAEK,GAAG,kBAER;CACF"}
1
+ {"version":3,"file":"mariadbQuerierPool.d.ts","sourceRoot":"","sources":["../../src/maria/mariadbQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAEpE,qBAAa,kBAAmB,SAAQ,sBAAsB,CAAC,cAAc,EAAE,YAAY,CAAC;IAC1F,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB,YAAY,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,YAAY,EAajD;IAEK,UAAU,4BAEf;IAEK,GAAG,kBAER;CACF"}
@@ -1,9 +1,9 @@
1
1
  import { createPool } from 'mariadb';
2
- import { AbstractQuerierPool } from '../querier/index.js';
2
+ import { AbstractSqlQuerierPool } from '../querier/index.js';
3
3
  import { attachPoolErrorHandler } from '../util/index.js';
4
4
  import { MariaDialect } from './mariaDialect.js';
5
5
  import { MariadbQuerier } from './mariadbQuerier.js';
6
- export class MariadbQuerierPool extends AbstractQuerierPool {
6
+ export class MariadbQuerierPool extends AbstractSqlQuerierPool {
7
7
  pool;
8
8
  constructor(opts, extra) {
9
9
  super(new MariaDialect({ namingStrategy: extra?.namingStrategy }), extra);
@@ -1 +1 @@
1
- {"version":3,"file":"mariadbQuerierPool.js","sourceRoot":"","sources":["../../src/maria/mariadbQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAA0B,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,MAAM,OAAO,kBAAmB,SAAQ,mBAAiD;IAC9E,IAAI,CAAO;IAEpB,YAAY,IAAgB,EAAE,KAAoB;QAChD,KAAK,CAAC,IAAI,YAAY,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7B,uEAAuE;QACvE,sEAAsE;QACtE,0EAA0E;QAC1E,uEAAuE;QACvE,qEAAqE;QACrE,wEAAwE;QACxE,sBAAsB,CACpB,IAAI,CAAC,IAAoC,EACzC,mDAAmD,CACpD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"mariadbQuerierPool.js","sourceRoot":"","sources":["../../src/maria/mariadbQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAA0B,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,MAAM,OAAO,kBAAmB,SAAQ,sBAAoD;IACjF,IAAI,CAAO;IAEpB,YAAY,IAAgB,EAAE,KAAoB;QAChD,KAAK,CAAC,IAAI,YAAY,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7B,uEAAuE;QACvE,sEAAsE;QACtE,0EAA0E;QAC1E,uEAAuE;QACvE,qEAAqE;QACrE,wEAAwE;QACxE,sBAAsB,CACpB,IAAI,CAAC,IAAoC,EACzC,mDAAmD,CACpD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACxB,CAAC;CACF"}
@@ -3,7 +3,7 @@ import { AbstractQuerierPool } from '../querier/index.js';
3
3
  import type { ExtraOptions } from '../type/index.js';
4
4
  import { MongodbNativeDialect } from './mongodbNativeDialect.js';
5
5
  import { MongodbQuerier } from './mongodbQuerier.js';
6
- export declare class MongodbQuerierPool extends AbstractQuerierPool<MongodbNativeDialect, MongodbQuerier> {
6
+ export declare class MongodbQuerierPool extends AbstractQuerierPool<MongodbQuerier, MongodbNativeDialect> {
7
7
  private readonly client;
8
8
  constructor(uri: string, opts?: MongoClientOptions, extra?: ExtraOptions);
9
9
  getQuerier(): Promise<MongodbQuerier>;
@@ -1 +1 @@
1
- {"version":3,"file":"mongodbQuerierPool.d.ts","sourceRoot":"","sources":["../../src/mongo/mongodbQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,qBAAa,kBAAmB,SAAQ,mBAAmB,CAAC,oBAAoB,EAAE,cAAc,CAAC;IAC/F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAErC,YAAY,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAAE,YAAY,EAGvE;IAEK,UAAU,4BAGf;IAEK,GAAG,kBAER;CACF"}
1
+ {"version":3,"file":"mongodbQuerierPool.d.ts","sourceRoot":"","sources":["../../src/mongo/mongodbQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,qBAAa,kBAAmB,SAAQ,mBAAmB,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAC/F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAErC,YAAY,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAAE,YAAY,EAGvE;IAEK,UAAU,4BAGf;IAEK,GAAG,kBAER;CACF"}
@@ -1,9 +1,9 @@
1
1
  import { type Pool, type PoolOptions } from 'mysql2/promise';
2
- import { AbstractQuerierPool } from '../querier/index.js';
2
+ import { AbstractSqlQuerierPool } from '../querier/index.js';
3
3
  import type { ExtraOptions } from '../type/index.js';
4
4
  import { MySql2Dialect } from './mysql2Dialect.js';
5
5
  import { MySql2Querier } from './mysql2Querier.js';
6
- export declare class MySql2QuerierPool extends AbstractQuerierPool<MySql2Dialect, MySql2Querier> {
6
+ export declare class MySql2QuerierPool extends AbstractSqlQuerierPool<MySql2Querier, MySql2Dialect> {
7
7
  readonly pool: Pool;
8
8
  constructor(opts: PoolOptions, extra?: ExtraOptions);
9
9
  getQuerier(): Promise<MySql2Querier>;
@@ -1 +1 @@
1
- {"version":3,"file":"mysql2QuerierPool.d.ts","sourceRoot":"","sources":["../../src/mysql/mysql2QuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,iBAAkB,SAAQ,mBAAmB,CAAC,aAAa,EAAE,aAAa,CAAC;IACtF,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB,YAAY,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,YAAY,EAGlD;IAEK,UAAU,2BAEf;IAEK,GAAG,kBAER;CACF"}
1
+ {"version":3,"file":"mysql2QuerierPool.d.ts","sourceRoot":"","sources":["../../src/mysql/mysql2QuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,iBAAkB,SAAQ,sBAAsB,CAAC,aAAa,EAAE,aAAa,CAAC;IACzF,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB,YAAY,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,YAAY,EAGlD;IAEK,UAAU,2BAEf;IAEK,GAAG,kBAER;CACF"}
@@ -1,8 +1,8 @@
1
1
  import { createPool } from 'mysql2/promise';
2
- import { AbstractQuerierPool } from '../querier/index.js';
2
+ import { AbstractSqlQuerierPool } from '../querier/index.js';
3
3
  import { MySql2Dialect } from './mysql2Dialect.js';
4
4
  import { MySql2Querier } from './mysql2Querier.js';
5
- export class MySql2QuerierPool extends AbstractQuerierPool {
5
+ export class MySql2QuerierPool extends AbstractSqlQuerierPool {
6
6
  pool;
7
7
  constructor(opts, extra) {
8
8
  super(new MySql2Dialect({ namingStrategy: extra?.namingStrategy }), extra);
@@ -1 +1 @@
1
- {"version":3,"file":"mysql2QuerierPool.js","sourceRoot":"","sources":["../../src/mysql/mysql2QuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA+B,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,OAAO,iBAAkB,SAAQ,mBAAiD;IAC7E,IAAI,CAAO;IAEpB,YAAY,IAAiB,EAAE,KAAoB;QACjD,KAAK,CAAC,IAAI,aAAa,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"mysql2QuerierPool.js","sourceRoot":"","sources":["../../src/mysql/mysql2QuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA+B,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,OAAO,iBAAkB,SAAQ,sBAAoD;IAChF,IAAI,CAAO;IAEpB,YAAY,IAAiB,EAAE,KAAoB;QACjD,KAAK,CAAC,IAAI,aAAa,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACxB,CAAC;CACF"}
@@ -3,7 +3,7 @@ import { AbstractPgQuerierPool } from '../postgres/abstractPgQuerierPool.js';
3
3
  import type { ExtraOptions } from '../type/index.js';
4
4
  import { NeonDialect } from './neonDialect.js';
5
5
  import { NeonQuerier } from './neonQuerier.js';
6
- export declare class NeonQuerierPool extends AbstractPgQuerierPool<PoolClient, NeonDialect, NeonQuerier> {
6
+ export declare class NeonQuerierPool extends AbstractPgQuerierPool<PoolClient, NeonQuerier, NeonDialect> {
7
7
  readonly pool: Pool;
8
8
  constructor(opts: PoolConfig, extra?: ExtraOptions);
9
9
  getQuerier(): Promise<NeonQuerier>;
@@ -1,5 +1,5 @@
1
1
  import type { AbstractSqlDialect } from '../dialect/index.js';
2
- import { AbstractQuerierPool } from '../querier/index.js';
2
+ import { AbstractSqlQuerierPool } from '../querier/index.js';
3
3
  import type { ExtraOptions } from '../type/index.js';
4
4
  import { type ErrorEmittingPool } from '../util/index.js';
5
5
  import type { AbstractPgQuerier, PgAnyClient } from './abstractPgQuerier.js';
@@ -14,7 +14,7 @@ export interface PgAnyPool<C extends PgAnyClient> extends ErrorEmittingPool {
14
14
  * pool subclass can't be added without it - the constructor takes the already
15
15
  * constructed pool and attaches the handler unconditionally.
16
16
  */
17
- export declare abstract class AbstractPgQuerierPool<C extends PgAnyClient, D extends AbstractSqlDialect, Q extends AbstractPgQuerier<C, D>> extends AbstractQuerierPool<D, Q> {
17
+ export declare abstract class AbstractPgQuerierPool<C extends PgAnyClient, Q extends AbstractPgQuerier<C, D>, D extends AbstractSqlDialect> extends AbstractSqlQuerierPool<Q, D> {
18
18
  readonly pool: PgAnyPool<C>;
19
19
  constructor(dialect: D, pool: PgAnyPool<C>, extra?: ExtraOptions);
20
20
  end(): Promise<void>;
@@ -1 +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,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE7E,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,iBAAiB;IACzE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;;;;;GAMG;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;IAG/B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAF7B,YACE,OAAO,EAAE,CAAC,EACD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAC3B,KAAK,CAAC,EAAE,YAAY,EAIrB;IAEK,GAAG,kBAER;CACF"}
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,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE7E,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,iBAAiB;IACzE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,8BAAsB,qBAAqB,CACzC,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EACjC,CAAC,SAAS,kBAAkB,CAC5B,SAAQ,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC;IAGlC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAF7B,YACE,OAAO,EAAE,CAAC,EACD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAC3B,KAAK,CAAC,EAAE,YAAY,EAIrB;IAEK,GAAG,kBAER;CACF"}
@@ -1,4 +1,4 @@
1
- import { AbstractQuerierPool } from '../querier/index.js';
1
+ import { AbstractSqlQuerierPool } from '../querier/index.js';
2
2
  import { attachPoolErrorHandler } from '../util/index.js';
3
3
  /**
4
4
  * Shared base class for Postgres-compatible querier pools.
@@ -7,7 +7,7 @@ import { attachPoolErrorHandler } from '../util/index.js';
7
7
  * pool subclass can't be added without it - the constructor takes the already
8
8
  * constructed pool and attaches the handler unconditionally.
9
9
  */
10
- export class AbstractPgQuerierPool extends AbstractQuerierPool {
10
+ export class AbstractPgQuerierPool extends AbstractSqlQuerierPool {
11
11
  pool;
12
12
  constructor(dialect, pool, extra) {
13
13
  super(dialect, extra);
@@ -1 +1 @@
1
- {"version":3,"file":"abstractPgQuerierPool.js","sourceRoot":"","sources":["../../src/postgres/abstractPgQuerierPool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAA0B,MAAM,kBAAkB,CAAC;AAQlF;;;;;;GAMG;AACH,MAAM,OAAgB,qBAIpB,SAAQ,mBAAyB;IAGtB,IAAI;IAFf,YACE,OAAU,EACD,IAAkB,EAC3B,KAAoB;QAEpB,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAHb,IAAI;QAIb,sBAAsB,CAAC,IAAI,EAAE,gDAAgD,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"abstractPgQuerierPool.js","sourceRoot":"","sources":["../../src/postgres/abstractPgQuerierPool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAA0B,MAAM,kBAAkB,CAAC;AAQlF;;;;;;GAMG;AACH,MAAM,OAAgB,qBAIpB,SAAQ,sBAA4B;IAGzB,IAAI;IAFf,YACE,OAAU,EACD,IAAkB,EAC3B,KAAoB;QAEpB,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAHb,IAAI;QAIb,sBAAsB,CAAC,IAAI,EAAE,gDAAgD,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACxB,CAAC;CACF"}
@@ -3,7 +3,7 @@ import type { ExtraOptions } from '../type/index.js';
3
3
  import { AbstractPgQuerierPool } from './abstractPgQuerierPool.js';
4
4
  import { PgDialect } from './pgDialect.js';
5
5
  import { PgQuerier } from './pgQuerier.js';
6
- export declare class PgQuerierPool extends AbstractPgQuerierPool<PoolClient, PgDialect, PgQuerier> {
6
+ export declare class PgQuerierPool extends AbstractPgQuerierPool<PoolClient, PgQuerier, PgDialect> {
7
7
  readonly pool: Pool;
8
8
  constructor(opts: PoolConfig, extra?: ExtraOptions);
9
9
  getQuerier(): Promise<PgQuerier>;
@@ -1,9 +1,9 @@
1
1
  import type { AbstractDialect } from '../dialect/index.js';
2
- import type { ExtraOptions, PoolRunOptions, Querier, QuerierPool, TransactionOptions } from '../type/index.js';
2
+ import type { ExtraOptions, IdValue, PoolRunOptions, Querier, QuerierPool, Query, QueryAggregate, QueryAggregateResult, QueryOne, QueryOptions, QuerySearch, TransactionOptions, Type } from '../type/index.js';
3
3
  /**
4
4
  * Base pool: dialect id and behavior come only from the `dialect` instance (see {@link QuerierPool}).
5
5
  */
6
- export declare abstract class AbstractQuerierPool<D extends AbstractDialect, Q extends Querier> implements QuerierPool<Q, D> {
6
+ export declare abstract class AbstractQuerierPool<Q extends Querier, D extends AbstractDialect> implements QuerierPool<Q, D> {
7
7
  readonly dialect: D;
8
8
  readonly extra?: ExtraOptions | undefined;
9
9
  constructor(dialect: D, extra?: ExtraOptions | undefined);
@@ -19,6 +19,14 @@ export declare abstract class AbstractQuerierPool<D extends AbstractDialect, Q e
19
19
  * get a querier from the pool, run the given callback, and release the querier.
20
20
  */
21
21
  withQuerier<T>(callback: (querier: Q) => Promise<T>, opts?: PoolRunOptions): Promise<T>;
22
+ /** Run `fn` under `context` (an enclosing {@link withContext}) when provided, else run it as-is. */
23
+ private runScoped;
24
+ findOneById<E extends object>(entity: Type<E>, id: IdValue<E>, q?: QueryOne<E>, opts?: QueryOptions): Promise<E | undefined>;
25
+ findOne<E extends object>(entity: Type<E>, q: QueryOne<E>, opts?: QueryOptions): Promise<E | undefined>;
26
+ findMany<E extends object>(entity: Type<E>, q: Query<E>, opts?: QueryOptions): Promise<E[]>;
27
+ findManyAndCount<E extends object>(entity: Type<E>, q: Query<E>, opts?: QueryOptions): Promise<[E[], number]>;
28
+ count<E extends object>(entity: Type<E>, q: QuerySearch<E>, opts?: QueryOptions): Promise<number>;
29
+ aggregate<E extends object, const A extends QueryAggregate<E>>(entity: Type<E>, q: A, opts?: QueryOptions): Promise<QueryAggregateResult<E, A['$group']>[]>;
22
30
  /**
23
31
  * end the pool.
24
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"abstractQuerierPool.d.ts","sourceRoot":"","sources":["../../src/querier/abstractQuerierPool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE/G;;GAEG;AACH,8BAAsB,mBAAmB,CAAC,CAAC,SAAS,eAAe,EAAE,CAAC,SAAS,OAAO,CAAE,YAAW,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhH,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY;IAF/B,YACW,OAAO,EAAE,CAAC,EACV,KAAK,CAAC,EAAE,YAAY,YAAA,EAC3B;IAEJ;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC;;OAEG;IACG,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAIjH;IAED;;OAEG;IACG,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAO5F;IAED;;OAEG;IACH,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B"}
1
+ {"version":3,"file":"abstractQuerierPool.d.ts","sourceRoot":"","sources":["../../src/querier/abstractQuerierPool.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,7 @@ export class AbstractQuerierPool {
14
14
  */
15
15
  async transaction(callback, opts) {
16
16
  const querier = await this.getQuerier();
17
- const run = () => querier.transaction(() => callback(querier), opts);
18
- return opts?.context ? withContext(opts.context, run) : run();
17
+ return this.runScoped(opts?.context, () => querier.transaction(() => callback(querier), opts));
19
18
  }
20
19
  /**
21
20
  * get a querier from the pool, run the given callback, and release the querier.
@@ -23,11 +22,33 @@ export class AbstractQuerierPool {
23
22
  async withQuerier(callback, opts) {
24
23
  const querier = await this.getQuerier();
25
24
  try {
26
- return opts?.context ? await withContext(opts.context, () => callback(querier)) : await callback(querier);
25
+ return await this.runScoped(opts?.context, () => callback(querier));
27
26
  }
28
27
  finally {
29
28
  await querier.release();
30
29
  }
31
30
  }
31
+ /** Run `fn` under `context` (an enclosing {@link withContext}) when provided, else run it as-is. */
32
+ runScoped(context, fn) {
33
+ return context ? withContext(context, fn) : fn();
34
+ }
35
+ findOneById(entity, id, q, opts) {
36
+ return this.withQuerier((querier) => querier.findOneById(entity, id, q, opts));
37
+ }
38
+ findOne(entity, q, opts) {
39
+ return this.withQuerier((querier) => querier.findOne(entity, q, opts));
40
+ }
41
+ findMany(entity, q, opts) {
42
+ return this.withQuerier((querier) => querier.findMany(entity, q, opts));
43
+ }
44
+ findManyAndCount(entity, q, opts) {
45
+ return this.withQuerier((querier) => querier.findManyAndCount(entity, q, opts));
46
+ }
47
+ count(entity, q, opts) {
48
+ return this.withQuerier((querier) => querier.count(entity, q, opts));
49
+ }
50
+ aggregate(entity, q, opts) {
51
+ return this.withQuerier((querier) => querier.aggregate(entity, q, opts));
52
+ }
32
53
  }
33
54
  //# sourceMappingURL=abstractQuerierPool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"abstractQuerierPool.js","sourceRoot":"","sources":["../../src/querier/abstractQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD;;GAEG;AACH,MAAM,OAAgB,mBAAmB;IAE5B,OAAO;IACP,KAAK;IAFhB,YACW,OAAU,EACV,KAAoB;uBADpB,OAAO;qBACP,KAAK;IACb,CAAC;IAOJ;;OAEG;IACH,KAAK,CAAC,WAAW,CAAI,QAAoC,EAAE,IAA0C;QACnG,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;QACrE,OAAO,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAI,QAAoC,EAAE,IAAqB;QAC9E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5G,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;CAMF"}
1
+ {"version":3,"file":"abstractQuerierPool.js","sourceRoot":"","sources":["../../src/querier/abstractQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAmBpD;;GAEG;AACH,MAAM,OAAgB,mBAAmB;IAE5B,OAAO;IACP,KAAK;IAFhB,YACW,OAAU,EACV,KAAoB;uBADpB,OAAO;qBACP,KAAK;IACb,CAAC;IAOJ;;OAEG;IACH,KAAK,CAAC,WAAW,CAAI,QAAoC,EAAE,IAA0C;QACnG,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACjG,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAI,QAAoC,EAAE,IAAqB;QAC9E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACtE,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,oGAAoG;IAC5F,SAAS,CAAI,OAA+B,EAAE,EAAoB;QACxE,OAAO,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACnD,CAAC;IAED,WAAW,CACT,MAAe,EACf,EAAc,EACd,CAAe,EACf,IAAmB;QAEnB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,CAAmB,MAAe,EAAE,CAAc,EAAE,IAAmB;QAC5E,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,QAAQ,CAAmB,MAAe,EAAE,CAAW,EAAE,IAAmB;QAC1E,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,gBAAgB,CAAmB,MAAe,EAAE,CAAW,EAAE,IAAmB;QAClF,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAmB,MAAe,EAAE,CAAiB,EAAE,IAAmB;QAC7E,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,SAAS,CACP,MAAe,EACf,CAAI,EACJ,IAAmB;QAEnB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;CAMF"}
@@ -0,0 +1,12 @@
1
+ import type { AbstractSqlDialect } from '../dialect/index.js';
2
+ import type { QueryUpdateResult, SqlQuerier, SqlQuerierPool } from '../type/index.js';
3
+ import { AbstractQuerierPool } from './abstractQuerierPool.js';
4
+ /**
5
+ * Base pool for SQL dialects; implements the raw-SQL surface of {@link SqlQuerierPool}, which owns
6
+ * the connection-per-call semantics.
7
+ */
8
+ export declare abstract class AbstractSqlQuerierPool<Q extends SqlQuerier, D extends AbstractSqlDialect> extends AbstractQuerierPool<Q, D> implements SqlQuerierPool<Q, D> {
9
+ all<T>(query: string, values?: unknown[]): Promise<T[]>;
10
+ run(query: string, values?: unknown[]): Promise<QueryUpdateResult>;
11
+ }
12
+ //# sourceMappingURL=abstractSqlQuerierPool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstractSqlQuerierPool.d.ts","sourceRoot":"","sources":["../../src/querier/abstractSqlQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,8BAAsB,sBAAsB,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,kBAAkB,CAC7F,SAAQ,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAChC,YAAW,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IAE/B,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAEtD;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAEjE;CACF"}
@@ -0,0 +1,14 @@
1
+ import { AbstractQuerierPool } from './abstractQuerierPool.js';
2
+ /**
3
+ * Base pool for SQL dialects; implements the raw-SQL surface of {@link SqlQuerierPool}, which owns
4
+ * the connection-per-call semantics.
5
+ */
6
+ export class AbstractSqlQuerierPool extends AbstractQuerierPool {
7
+ all(query, values) {
8
+ return this.withQuerier((querier) => querier.all(query, values));
9
+ }
10
+ run(query, values) {
11
+ return this.withQuerier((querier) => querier.run(query, values));
12
+ }
13
+ }
14
+ //# sourceMappingURL=abstractSqlQuerierPool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstractSqlQuerierPool.js","sourceRoot":"","sources":["../../src/querier/abstractSqlQuerierPool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,MAAM,OAAgB,sBACpB,SAAQ,mBAAyB;IAGjC,GAAG,CAAI,KAAa,EAAE,MAAkB;QACtC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAI,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,MAAkB;QACnC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
1
  export * from './abstractQuerier.js';
2
2
  export * from './abstractQuerierPool.js';
3
3
  export * from './abstractSqlQuerier.js';
4
+ export * from './abstractSqlQuerierPool.js';
4
5
  export * from './decorator/index.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/querier/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/querier/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './abstractQuerier.js';
2
2
  export * from './abstractQuerierPool.js';
3
3
  export * from './abstractSqlQuerier.js';
4
+ export * from './abstractSqlQuerierPool.js';
4
5
  export * from './decorator/index.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/querier/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/querier/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC"}
@@ -1,14 +1,19 @@
1
1
  import type { Options } from 'better-sqlite3';
2
- import { AbstractQuerierPool } from '../querier/index.js';
2
+ import { AbstractSqlQuerierPool } from '../querier/index.js';
3
3
  import type { ExtraOptions } from '../type/index.js';
4
4
  import { BetterSqlite3Dialect } from './betterSqlite3Dialect.js';
5
5
  import { SqliteQuerier } from './sqliteQuerier.js';
6
- export declare class Sqlite3QuerierPool extends AbstractQuerierPool<BetterSqlite3Dialect, SqliteQuerier> {
6
+ export declare class Sqlite3QuerierPool extends AbstractSqlQuerierPool<SqliteQuerier, BetterSqlite3Dialect> {
7
7
  readonly filename: string | Buffer;
8
8
  readonly opts?: Options | undefined;
9
- private querier?;
9
+ private db?;
10
10
  constructor(filename?: string | Buffer, opts?: Options | undefined, extra?: ExtraOptions);
11
+ /**
12
+ * The database handle is shared (single connection), but each acquisition gets its own querier
13
+ * so transaction state stays per unit of work.
14
+ */
11
15
  getQuerier(): Promise<SqliteQuerier>;
16
+ private openDb;
12
17
  end(): Promise<void>;
13
18
  }
14
19
  //# sourceMappingURL=sqliteQuerierPool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqliteQuerierPool.d.ts","sourceRoot":"","sources":["../../src/sqlite/sqliteQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,kBAAmB,SAAQ,mBAAmB,CAAC,oBAAoB,EAAE,aAAa,CAAC;IAI5F,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO;IAJzB,OAAO,CAAC,OAAO,CAAC,CAAgB;IAEhC,YACW,QAAQ,GAAE,MAAM,GAAG,MAAmB,EACtC,IAAI,CAAC,EAAE,OAAO,YAAA,EACvB,KAAK,CAAC,EAAE,YAAY,EAGrB;IAEK,UAAU,2BAgBf;IAEK,GAAG,kBAGR;CACF"}
1
+ {"version":3,"file":"sqliteQuerierPool.d.ts","sourceRoot":"","sources":["../../src/sqlite/sqliteQuerierPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,kBAAmB,SAAQ,sBAAsB,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAI/F,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO;IAJzB,OAAO,CAAC,EAAE,CAAC,CAAW;IAEtB,YACW,QAAQ,GAAE,MAAM,GAAG,MAAmB,EACtC,IAAI,CAAC,EAAE,OAAO,YAAA,EACvB,KAAK,CAAC,EAAE,YAAY,EAGrB;IAED;;;OAGG;IACG,UAAU,2BAGf;YAEa,MAAM;IAad,GAAG,kBAGR;CACF"}
@@ -1,36 +1,38 @@
1
- import { AbstractQuerierPool } from '../querier/index.js';
1
+ import { AbstractSqlQuerierPool } from '../querier/index.js';
2
2
  import { BetterSqlite3Dialect } from './betterSqlite3Dialect.js';
3
3
  import { SqliteQuerier } from './sqliteQuerier.js';
4
- export class Sqlite3QuerierPool extends AbstractQuerierPool {
4
+ export class Sqlite3QuerierPool extends AbstractSqlQuerierPool {
5
5
  filename;
6
6
  opts;
7
- querier;
7
+ db;
8
8
  constructor(filename = ':memory:', opts, extra) {
9
9
  super(new BetterSqlite3Dialect({ namingStrategy: extra?.namingStrategy }), extra);
10
10
  this.filename = filename;
11
11
  this.opts = opts;
12
12
  }
13
+ /**
14
+ * The database handle is shared (single connection), but each acquisition gets its own querier
15
+ * so transaction state stays per unit of work.
16
+ */
13
17
  async getQuerier() {
14
- if (!this.querier) {
15
- let db;
16
- if (typeof Bun !== 'undefined') {
17
- const { Database: BunDatabase } = await import('bun:sqlite');
18
- const bunDb = new BunDatabase(this.filename, this.opts);
19
- bunDb.run('PRAGMA journal_mode = WAL');
20
- db = bunDb;
21
- }
22
- else {
23
- const { default: BetterSqlite3 } = await import('better-sqlite3');
24
- db = new BetterSqlite3(this.filename, this.opts);
25
- db.pragma('journal_mode = WAL');
26
- }
27
- this.querier = new SqliteQuerier(db, this.dialect, this.extra);
18
+ this.db ??= await this.openDb();
19
+ return new SqliteQuerier(this.db, this.dialect, this.extra);
20
+ }
21
+ async openDb() {
22
+ if (typeof Bun !== 'undefined') {
23
+ const { Database: BunDatabase } = await import('bun:sqlite');
24
+ const bunDb = new BunDatabase(this.filename, this.opts);
25
+ bunDb.run('PRAGMA journal_mode = WAL');
26
+ return bunDb;
28
27
  }
29
- return this.querier;
28
+ const { default: BetterSqlite3 } = await import('better-sqlite3');
29
+ const db = new BetterSqlite3(this.filename, this.opts);
30
+ db.pragma('journal_mode = WAL');
31
+ return db;
30
32
  }
31
33
  async end() {
32
- await this.querier?.db.close();
33
- this.querier = undefined;
34
+ await this.db?.close();
35
+ this.db = undefined;
34
36
  }
35
37
  }
36
38
  //# sourceMappingURL=sqliteQuerierPool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqliteQuerierPool.js","sourceRoot":"","sources":["../../src/sqlite/sqliteQuerierPool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,OAAO,kBAAmB,SAAQ,mBAAwD;IAInF,QAAQ;IACR,IAAI;IAJP,OAAO,CAAiB;IAEhC,YACW,QAAQ,GAAoB,UAAU,EACtC,IAAc,EACvB,KAAoB;QAEpB,KAAK,CAAC,IAAI,oBAAoB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;wBAJzE,QAAQ;oBACR,IAAI;IAIf,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,EAAY,CAAC;YACjB,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE,CAAC;gBAC/B,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC7D,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,QAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClE,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACvC,EAAE,GAAG,KAA4B,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAClE,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjD,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"sqliteQuerierPool.js","sourceRoot":"","sources":["../../src/sqlite/sqliteQuerierPool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,OAAO,kBAAmB,SAAQ,sBAA2D;IAItF,QAAQ;IACR,IAAI;IAJP,EAAE,CAAY;IAEtB,YACW,QAAQ,GAAoB,UAAU,EACtC,IAAc,EACvB,KAAoB;QAEpB,KAAK,CAAC,IAAI,oBAAoB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;wBAJzE,QAAQ;oBACR,IAAI;IAIf,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAEO,KAAK,CAAC,MAAM;QAClB,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,QAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClE,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACvC,OAAO,KAA4B,CAAC;QACtC,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAClE,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;IACtB,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
- import type { AbstractDialect } from '../dialect/index.js';
2
- import type { ExtraOptions, Querier, TransactionOptions } from './querier.js';
1
+ import type { AbstractDialect, AbstractSqlDialect } from '../dialect/index.js';
2
+ import type { ExtraOptions, Querier, SqlQuerier, TransactionOptions } from './querier.js';
3
3
  import type { UqlContext } from './query.js';
4
+ import type { UniversalQuerier } from './universalQuerier.js';
4
5
  /** Options for a pool-level unit of work ({@link QuerierPool.withQuerier} / {@link QuerierPool.transaction}). */
5
6
  export interface PoolRunOptions {
6
7
  /**
@@ -14,10 +15,24 @@ export interface PoolRunOptions {
14
15
  /**
15
16
  * Querier pool. Read the dialect id via `pool.dialect.dialectName` (see {@link AbstractDialect.dialectName}); queriers expose the same on `querier.dialect`.
16
17
  *
18
+ * The read methods of {@link UniversalQuerier} are available directly on the pool. Each call
19
+ * acquires its own querier, runs the single read, and releases it - so
20
+ * `Promise.all([pool.findMany(A, {}), pool.count(B, {})])` runs on separate connections in
21
+ * parallel, while the same calls inside one `withQuerier`/`transaction` callback share a pinned
22
+ * connection and serialize. Single-connection backends (better-sqlite3, Bun sqlite, D1) stay
23
+ * correct but always serialize on their one connection.
24
+ *
25
+ * An enclosing `withContext` scopes the pool reads (`security` filters apply); one wrapper covers a
26
+ * whole parallel fan-out, which is why the reads take no per-call `context` option (unlike
27
+ * `withQuerier`/`transaction`).
28
+ *
29
+ * Pool reads take the entity-as-argument form only. For the `{ $entity }` form, streaming, or
30
+ * writes (they need a unit of work), use `withQuerier`/`transaction`.
31
+ *
17
32
  * @typeParam Q - Querier implementation returned from the pool.
18
33
  * @typeParam D - Concrete dialect class held by the pool.
19
34
  */
20
- export interface QuerierPool<Q extends Querier = Querier, D extends AbstractDialect = AbstractDialect> {
35
+ export interface QuerierPool<Q extends Querier = Querier, D extends AbstractDialect = AbstractDialect> extends Pick<UniversalQuerier, 'findOneById' | 'findOne' | 'findMany' | 'findManyAndCount' | 'count' | 'aggregate'> {
21
36
  /**
22
37
  * Database dialect instance (single source of truth for dialect id and SQL/NoSQL behavior).
23
38
  */
@@ -50,6 +65,15 @@ export interface QuerierPool<Q extends Querier = Querier, D extends AbstractDial
50
65
  */
51
66
  end(): Promise<void>;
52
67
  }
68
+ /**
69
+ * SQL pool surface: adds the raw-SQL executors of {@link SqlQuerier} (`all`/`run`), with the same
70
+ * connection-per-call semantics as the {@link QuerierPool} read helpers (see that doc for the
71
+ * parallelism model and its single-connection caveat).
72
+ *
73
+ * Raw `all`/`run` bypass query generation, so they are **not** scoped by `security` filters/context.
74
+ */
75
+ export interface SqlQuerierPool<Q extends SqlQuerier = SqlQuerier, D extends AbstractSqlDialect = AbstractSqlDialect> extends QuerierPool<Q, D>, Pick<SqlQuerier, 'all' | 'run'> {
76
+ }
53
77
  /** Dialect class used by pool `P` (when `P` is a {@link QuerierPool}). */
54
78
  export type QuerierPoolDialect<P> = P extends QuerierPool<any, infer D> ? D : never;
55
79
  /** Querier type produced by pool `P`. */
@@ -1 +1 @@
1
- {"version":3,"file":"querierPool.d.ts","sourceRoot":"","sources":["../../src/type/querierPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,iHAAiH;AACjH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,CAAC,SAAS,eAAe,GAAG,eAAe;IACnG;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAE9B;;OAEG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7B;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAEvC;;OAEG;IACH,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7G;;OAEG;IACH,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAExF;;OAEG;IACH,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB;AAED,0EAA0E;AAE1E,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEpF,yCAAyC;AAEzC,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAExF;;OAEG;IACH,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC;CACtE"}
1
+ {"version":3,"file":"querierPool.d.ts","sourceRoot":"","sources":["../../src/type/querierPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,iHAAiH;AACjH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,CAAC,SAAS,eAAe,GAAG,eAAe,CACnG,SAAQ,IAAI,CAAC,gBAAgB,EAAE,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,kBAAkB,GAAG,OAAO,GAAG,WAAW,CAAC;IACnH;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAE9B;;OAEG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7B;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAEvC;;OAEG;IACH,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7G;;OAEG;IACH,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAExF;;OAEG;IACH,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAAE,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,CAClH,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACvB,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,KAAK,CAAC;CAAG;AAEtC,0EAA0E;AAE1E,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEpF,yCAAyC;AAEzC,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAExF;;OAEG;IACH,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC;CACtE"}
@@ -12,21 +12,21 @@ export interface UniversalQuerier {
12
12
  * @param q the additional criteria options
13
13
  * @return the record
14
14
  */
15
- findOneById<E extends object>(entity: Type<E>, id: IdValue<E>, q?: QueryOne<E>): Promise<E | undefined>;
15
+ findOneById<E extends object>(entity: Type<E>, id: IdValue<E>, q?: QueryOne<E>, opts?: QueryOptions): Promise<E | undefined>;
16
16
  /**
17
17
  * obtains the first record matching the given search parameters.
18
18
  * @param entity the target entity
19
19
  * @param q the criteria options
20
20
  * @return the record
21
21
  */
22
- findOne<E extends object>(entity: Type<E>, q: QueryOne<E>): Promise<E | undefined>;
22
+ findOne<E extends object>(entity: Type<E>, q: QueryOne<E>, opts?: QueryOptions): Promise<E | undefined>;
23
23
  /**
24
24
  * obtains the records matching the given search parameters.
25
25
  * @param entity the target entity
26
26
  * @param q the criteria options
27
27
  * @return the records
28
28
  */
29
- findMany<E extends object>(entity: Type<E>, q: Query<E>): Promise<E[]>;
29
+ findMany<E extends object>(entity: Type<E>, q: Query<E>, opts?: QueryOptions): Promise<E[]>;
30
30
  /**
31
31
  * streams the records matching the given search parameters as an async iterable.
32
32
  * Does not fill relations or fire lifecycle hooks - designed for high-performance
@@ -35,7 +35,7 @@ export interface UniversalQuerier {
35
35
  * @param q the criteria options
36
36
  * @return an async iterable of records
37
37
  */
38
- findManyStream<E extends object>(entity: Type<E>, q: Query<E>): AsyncIterable<E>;
38
+ findManyStream<E extends object>(entity: Type<E>, q: Query<E>, opts?: QueryOptions): AsyncIterable<E>;
39
39
  /**
40
40
  * obtains the records matching the given search parameters,
41
41
  * also counts the number of matches ignoring pagination.
@@ -43,14 +43,14 @@ export interface UniversalQuerier {
43
43
  * @param q the criteria options
44
44
  * @return the records and the count
45
45
  */
46
- findManyAndCount<E extends object>(entity: Type<E>, q: Query<E>): Promise<[E[], number]>;
46
+ findManyAndCount<E extends object>(entity: Type<E>, q: Query<E>, opts?: QueryOptions): Promise<[E[], number]>;
47
47
  /**
48
48
  * counts the number of records matching the given search parameters.
49
49
  * @param entity the target entity
50
50
  * @param q the search options
51
51
  * @return the count
52
52
  */
53
- count<E extends object>(entity: Type<E>, q: QuerySearch<E>): Promise<number>;
53
+ count<E extends object>(entity: Type<E>, q: QuerySearch<E>, opts?: QueryOptions): Promise<number>;
54
54
  /**
55
55
  * inserts a record.
56
56
  * @param entity the entity to persist on
@@ -72,7 +72,7 @@ export interface UniversalQuerier {
72
72
  * @param payload the data to be persisted
73
73
  * @return the number of affected records
74
74
  */
75
- updateOneById<E extends object>(entity: Type<E>, id: IdValue<E>, payload: UpdatePayload<E>): Promise<number>;
75
+ updateOneById<E extends object>(entity: Type<E>, id: IdValue<E>, payload: UpdatePayload<E>, opts?: QueryOptions): Promise<number>;
76
76
  /**
77
77
  * updates many records partially.
78
78
  * @param entity the entity to persist on
@@ -80,7 +80,7 @@ export interface UniversalQuerier {
80
80
  * @param payload the data to be persisted
81
81
  * @return the number of affected records
82
82
  */
83
- updateMany?<E extends object>(entity: Type<E>, q: QuerySearch<E>, payload: UpdatePayload<E>): Promise<number>;
83
+ updateMany?<E extends object>(entity: Type<E>, q: QuerySearch<E>, payload: UpdatePayload<E>, opts?: QueryOptions): Promise<number>;
84
84
  /**
85
85
  * Insert or update a record given a search criteria.
86
86
  * @param entity the entity to persist on
@@ -131,6 +131,6 @@ export interface UniversalQuerier {
131
131
  * @param q the aggregate query options
132
132
  * @return the aggregate results
133
133
  */
134
- aggregate<E extends object, const Q extends QueryAggregate<E>>(entity: Type<E>, q: Q): Promise<QueryAggregateResult<E, Q['$group']>[]>;
134
+ aggregate<E extends object, const Q extends QueryAggregate<E>>(entity: Type<E>, q: Q, opts?: QueryOptions): Promise<QueryAggregateResult<E, Q['$group']>[]>;
135
135
  }
136
136
  //# sourceMappingURL=universalQuerier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"universalQuerier.d.ts","sourceRoot":"","sources":["../../src/type/universalQuerier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"universalQuerier.d.ts","sourceRoot":"","sources":["../../src/type/universalQuerier.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "homepage": "https://uql-orm.dev",
4
4
  "description": "Fast, type-safe TypeScript ORM - one API for every database",
5
5
  "license": "MIT",
6
- "version": "0.14.1",
6
+ "version": "0.15.0",
7
7
  "type": "module",
8
8
  "main": "./dist/index.js",
9
9
  "types": "./dist/index.d.ts",
@@ -175,5 +175,5 @@
175
175
  "publishConfig": {
176
176
  "access": "public"
177
177
  },
178
- "gitHead": "5d641abb7d6ac2137a0edba819e5d5b638d0e122"
178
+ "gitHead": "8add13b552f016141280b8ca4f41bac6fdd69645"
179
179
  }