uql-orm 0.15.1 → 0.15.3

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 (95) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +2 -1
  3. package/dist/bunSql/bunSqlCockroachDialect.d.ts +13 -0
  4. package/dist/bunSql/bunSqlCockroachDialect.d.ts.map +1 -0
  5. package/dist/bunSql/bunSqlCockroachDialect.js +22 -0
  6. package/dist/bunSql/bunSqlCockroachDialect.js.map +1 -0
  7. package/dist/bunSql/bunSqlQuerierPool.d.ts.map +1 -1
  8. package/dist/bunSql/bunSqlQuerierPool.js +2 -2
  9. package/dist/bunSql/bunSqlQuerierPool.js.map +1 -1
  10. package/dist/cockroachdb/cockroachDialect.d.ts +12 -9
  11. package/dist/cockroachdb/cockroachDialect.d.ts.map +1 -1
  12. package/dist/cockroachdb/cockroachDialect.js +19 -8
  13. package/dist/cockroachdb/cockroachDialect.js.map +1 -1
  14. package/dist/d1/d1SqliteDialect.d.ts +2 -2
  15. package/dist/d1/d1SqliteDialect.d.ts.map +1 -1
  16. package/dist/d1/d1SqliteDialect.js +3 -2
  17. package/dist/d1/d1SqliteDialect.js.map +1 -1
  18. package/dist/dialect/abstractDialect.d.ts +16 -8
  19. package/dist/dialect/abstractDialect.d.ts.map +1 -1
  20. package/dist/dialect/abstractDialect.js +11 -9
  21. package/dist/dialect/abstractDialect.js.map +1 -1
  22. package/dist/dialect/abstractSqlDialect.d.ts +13 -3
  23. package/dist/dialect/abstractSqlDialect.d.ts.map +1 -1
  24. package/dist/dialect/abstractSqlDialect.js +21 -6
  25. package/dist/dialect/abstractSqlDialect.js.map +1 -1
  26. package/dist/dialect/mysqlLikeSqlDialect.d.ts +4 -5
  27. package/dist/dialect/mysqlLikeSqlDialect.d.ts.map +1 -1
  28. package/dist/dialect/mysqlLikeSqlDialect.js +3 -6
  29. package/dist/dialect/mysqlLikeSqlDialect.js.map +1 -1
  30. package/dist/dialect/pgLikeSqlDialect.d.ts +59 -0
  31. package/dist/dialect/pgLikeSqlDialect.d.ts.map +1 -0
  32. package/dist/dialect/pgLikeSqlDialect.js +236 -0
  33. package/dist/dialect/pgLikeSqlDialect.js.map +1 -0
  34. package/dist/entity/decorator/index-decorator.js +2 -2
  35. package/dist/entity/decorator/index-decorator.js.map +1 -1
  36. package/dist/entity/decorator/index.d.ts +1 -1
  37. package/dist/entity/decorator/index.d.ts.map +1 -1
  38. package/dist/entity/decorator/index.js +1 -1
  39. package/dist/entity/decorator/index.js.map +1 -1
  40. package/dist/entity/metadata/definition.d.ts +1 -0
  41. package/dist/entity/metadata/definition.d.ts.map +1 -1
  42. package/dist/entity/metadata/definition.js +5 -0
  43. package/dist/entity/metadata/definition.js.map +1 -1
  44. package/dist/maria/mariaDialect.d.ts +1 -0
  45. package/dist/maria/mariaDialect.d.ts.map +1 -1
  46. package/dist/maria/mariaDialect.js +2 -0
  47. package/dist/maria/mariaDialect.js.map +1 -1
  48. package/dist/migrate/generator/mongoSchemaGenerator.d.ts +3 -2
  49. package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -1
  50. package/dist/migrate/generator/mongoSchemaGenerator.js +4 -3
  51. package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -1
  52. package/dist/migrate/schemaGenerator.d.ts.map +1 -1
  53. package/dist/migrate/schemaGenerator.js +13 -6
  54. package/dist/migrate/schemaGenerator.js.map +1 -1
  55. package/dist/mongo/mongoDialect.d.ts +4 -5
  56. package/dist/mongo/mongoDialect.d.ts.map +1 -1
  57. package/dist/mongo/mongoDialect.js +21 -23
  58. package/dist/mongo/mongoDialect.js.map +1 -1
  59. package/dist/postgres/pgDialect.d.ts +0 -2
  60. package/dist/postgres/pgDialect.d.ts.map +1 -1
  61. package/dist/postgres/pgDialect.js +0 -3
  62. package/dist/postgres/pgDialect.js.map +1 -1
  63. package/dist/postgres/postgresDialect.d.ts +8 -41
  64. package/dist/postgres/postgresDialect.d.ts.map +1 -1
  65. package/dist/postgres/postgresDialect.js +8 -213
  66. package/dist/postgres/postgresDialect.js.map +1 -1
  67. package/dist/postgres/postgresWireDriverCapabilities.d.ts +12 -7
  68. package/dist/postgres/postgresWireDriverCapabilities.d.ts.map +1 -1
  69. package/dist/postgres/postgresWireDriverCapabilities.js +12 -7
  70. package/dist/postgres/postgresWireDriverCapabilities.js.map +1 -1
  71. package/dist/querier/abstractSqlQuerier.d.ts +7 -0
  72. package/dist/querier/abstractSqlQuerier.d.ts.map +1 -1
  73. package/dist/querier/abstractSqlQuerier.js +43 -10
  74. package/dist/querier/abstractSqlQuerier.js.map +1 -1
  75. package/dist/sqlite/sqliteDialect.d.ts +8 -5
  76. package/dist/sqlite/sqliteDialect.d.ts.map +1 -1
  77. package/dist/sqlite/sqliteDialect.js +14 -6
  78. package/dist/sqlite/sqliteDialect.js.map +1 -1
  79. package/dist/type/entity.d.ts +1 -1
  80. package/dist/type/entity.d.ts.map +1 -1
  81. package/dist/type/querier.d.ts +14 -0
  82. package/dist/type/querier.d.ts.map +1 -1
  83. package/dist/type/querier.js.map +1 -1
  84. package/dist/type/query.d.ts +19 -4
  85. package/dist/type/query.d.ts.map +1 -1
  86. package/dist/type/query.js.map +1 -1
  87. package/dist/util/dialect.util.d.ts +10 -0
  88. package/dist/util/dialect.util.d.ts.map +1 -1
  89. package/dist/util/dialect.util.js +26 -0
  90. package/dist/util/dialect.util.js.map +1 -1
  91. package/dist/util/sql.util.d.ts +13 -3
  92. package/dist/util/sql.util.d.ts.map +1 -1
  93. package/dist/util/sql.util.js +33 -31
  94. package/dist/util/sql.util.js.map +1 -1
  95. package/package.json +2 -2
@@ -1,222 +1,17 @@
1
- import { AbstractSqlDialect } from '../dialect/abstractSqlDialect.js';
2
- import { buildElemMatchConditions } from '../dialect/jsonArrayElemMatchUtils.js';
3
- import { getMeta } from '../entity/index.js';
4
- import { QueryRaw, } from '../type/index.js';
5
- import { escapeAnsiSqlLiteral } from '../util/ansiSqlLiteral.js';
6
- import { hasKeys, isJsonType } from '../util/index.js';
1
+ import { PgLikeSqlDialect } from '../dialect/pgLikeSqlDialect.js';
7
2
  /**
8
- * PostgreSQL dialect (AST, quoting, BIGINT IDENTITY PKs).
9
- * For node-pg use PgDialect. Neon, Bun SQL, and Cockroach use driver-specific subclasses.
3
+ * PostgreSQL dialect. For node-pg use PgDialect. Neon, Bun SQL, and Cockroach use driver-specific
4
+ * subclasses. Shared Postgres-wire AST/quoting/JSONB/full-text-search/vector-search logic
5
+ * (including BIGINT IDENTITY PKs) lives in {@link PgLikeSqlDialect}; this class adds what's
6
+ * Postgres-only: the `vector` extension requirement, pgvector's index syntax, and `xmax`-based
7
+ * upsert `created` detection.
10
8
  */
11
- export class PostgresDialect extends AbstractSqlDialect {
12
- /** Default {@link DialectFeatures} before wire/driver-specific patches (e.g. {@link PgDialect}). */
13
- static defaultDialectFeatures = {
14
- explicitJsonCast: false,
15
- nativeArrays: true,
16
- supportsJsonb: true,
17
- returning: true,
18
- ifNotExists: true,
19
- indexIfNotExists: true,
20
- dropTableCascade: true,
21
- renameColumn: true,
22
- foreignKeyAlter: true,
23
- columnComment: false,
24
- vectorIndexStyle: 'create',
25
- vectorSupportsLength: true,
26
- supportsTimestamptz: true,
27
- defaultStringAsText: true,
28
- };
9
+ export class PostgresDialect extends PgLikeSqlDialect {
29
10
  dialectName = 'postgres';
30
- quoteChar = '"';
31
- serialPrimaryKey = 'BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY';
32
- tableOptions = '';
33
- beginTransactionCommand = 'BEGIN';
34
- commitTransactionCommand = 'COMMIT';
35
- rollbackTransactionCommand = 'ROLLBACK';
36
- alterColumnStrategy = 'separate-clauses';
37
- insertIdStrategy = 'last';
38
- constructor(options = {}) {
39
- super(PostgresDialect.defaultDialectFeatures, options);
40
- }
41
- vectorOpsClass = {
42
- cosine: 'vector_cosine_ops',
43
- l2: 'vector_l2_ops',
44
- inner: 'vector_ip_ops',
45
- l1: 'vector_l1_ops',
46
- hamming: 'bit_hamming_ops',
47
- };
48
11
  vectorExtension = 'vector';
49
- normalizeValue(value) {
50
- if (value != null && typeof value === 'object' && Array.isArray(value)) {
51
- return this.features.nativeArrays ? value : toPgArray(value);
52
- }
53
- return super.normalizeValue(value);
54
- }
55
- placeholder(index) {
56
- return `$${index}`;
57
- }
58
- insert(ctx, entity, payload, opts) {
59
- super.insert(ctx, entity, payload, opts);
60
- ctx.append(' ' + this.returningId(entity));
61
- }
62
12
  upsert(ctx, entity, conflictPaths, payload) {
63
- const meta = getMeta(entity);
64
- const update = this.getUpsertUpdateAssignments(ctx, meta, conflictPaths, payload, (name) => `EXCLUDED.${name}`);
65
- const keysStr = this.getUpsertConflictPathsStr(meta, conflictPaths);
66
- const onConflict = update ? `DO UPDATE SET ${update}` : 'DO NOTHING';
67
- super.insert(ctx, entity, payload);
68
13
  // xmax system column is 0 for newly inserted rows, non-zero for updated rows (MVCC).
69
- ctx.append(` ON CONFLICT (${keysStr}) ${onConflict} ${this.returningId(entity)}, (xmax = 0) AS ${this.escapeId('_created')}`);
70
- }
71
- compare(ctx, entity, key, val, opts = {}) {
72
- if (key === '$text') {
73
- const meta = getMeta(entity);
74
- const search = val;
75
- const fields = (search.$fields ?? [])
76
- .map((fKey) => {
77
- const field = meta.fields[fKey];
78
- const columnName = this.resolveColumnName(fKey, field);
79
- return this.escapeId(columnName);
80
- })
81
- .join(` || ' ' || `);
82
- ctx.append(`to_tsvector(${fields}) @@ to_tsquery(`);
83
- ctx.addValue(search.$value);
84
- ctx.append(')');
85
- return;
86
- }
87
- super.compare(ctx, entity, key, val, opts);
88
- }
89
- jsonAll(ctx, jsonField, value) {
90
- return `${jsonField} @> ${this.jsonVal(ctx, value)}`;
91
- }
92
- jsonSize(ctx, jsonField, value) {
93
- const tmpCtx = this.createContext();
94
- this.buildSizeComparison(tmpCtx, () => tmpCtx.append(`jsonb_array_length(${jsonField})`), value);
95
- ctx.pushValue(...tmpCtx.values);
96
- return tmpCtx.sql;
97
- }
98
- jsonElemMatch(ctx, jsonField, match) {
99
- // Primitive element match: keys are operators (e.g. { $startsWith: 'ad' } on a string[])
100
- const isPrimitiveElement = Object.keys(match).some((k) => k.startsWith('$'));
101
- if (isPrimitiveElement) {
102
- const conditions = Object.entries(match).map(([op, opVal]) => this.buildJsonFieldCondition(ctx, () => 'elem', '', op, opVal));
103
- return `EXISTS (SELECT 1 FROM jsonb_array_elements_text(${jsonField}) AS elem WHERE ${conditions.join(' AND ')})`;
104
- }
105
- const hasOperators = Object.values(match).some((v) => v && typeof v === 'object' && !Array.isArray(v) && Object.keys(v).some((k) => k.startsWith('$')));
106
- if (!hasOperators) {
107
- return `${jsonField} @> ${this.jsonVal(ctx, [match])}`;
108
- }
109
- const conditions = buildElemMatchConditions(match, (field, op, opVal) => this.buildJsonFieldCondition(ctx, (f) => `elem->>'${this.escapeJsonKey(f)}'`, field, op, opVal), (field, val) => `elem->>'${this.escapeJsonKey(field)}' = ${this.addValue(ctx.values, val)}`);
110
- return `EXISTS (SELECT 1 FROM jsonb_array_elements(${jsonField}) AS elem WHERE ${conditions.join(' AND ')})`;
111
- }
112
- get regexpOp() {
113
- return '~';
114
- }
115
- ilikeExpr(f, ph) {
116
- return `${f} ILIKE ${ph}`;
117
- }
118
- get neOp() {
119
- return 'IS DISTINCT FROM';
14
+ this.buildUpsertOnConflict(ctx, entity, conflictPaths, payload, `, (xmax = 0) AS ${this.escapeId('_created')}`);
120
15
  }
121
- formatIn(ctx, values, negate) {
122
- if (values.length === 0)
123
- return negate ? ' NOT IN (NULL)' : ' IN (NULL)';
124
- const ph = this.addValue(ctx.values, values);
125
- return negate ? ` <> ALL(${ph})` : ` = ANY(${ph})`;
126
- }
127
- numericCast(expr) {
128
- return `(${expr})::numeric`;
129
- }
130
- formatPersistableValue(ctx, field, value) {
131
- if (value instanceof QueryRaw) {
132
- super.formatPersistableValue(ctx, field, value);
133
- return;
134
- }
135
- if (isJsonType(field.type)) {
136
- ctx.append(this.jsonVal(ctx, value, field.type));
137
- return;
138
- }
139
- if (field.type === 'vector' && Array.isArray(value)) {
140
- ctx.addValue(`[${value.join(',')}]`);
141
- ctx.append('::vector');
142
- return;
143
- }
144
- super.formatPersistableValue(ctx, field, value);
145
- }
146
- /** pgvector distance operators. */
147
- static VECTOR_OPS = {
148
- cosine: '<=>',
149
- l2: '<->',
150
- inner: '<#>',
151
- l1: '<+>',
152
- hamming: '<~>',
153
- };
154
- /** Emit a pgvector distance expression: `"col" <op> $N::<vectorType>`. */
155
- appendVectorSort(ctx, meta, key, search) {
156
- const { colName, distance, vectorCast } = this.resolveVectorSortParams(meta, key, search);
157
- const op = PostgresDialect.VECTOR_OPS[distance];
158
- ctx.append(`${this.escapeId(colName)} ${op} `);
159
- ctx.addValue(`[${search.$vector.join(',')}]`);
160
- ctx.append(`::${vectorCast}`);
161
- }
162
- formatJsonUpdate(ctx, escapedCol, value) {
163
- let expr = escapedCol;
164
- if (hasKeys(value.$merge)) {
165
- expr = `COALESCE(${escapedCol}, '{}'::jsonb) || ${this.jsonVal(ctx, value.$merge)}`;
166
- }
167
- if (hasKeys(value.$push)) {
168
- const push = value.$push;
169
- for (const [key, v] of Object.entries(push)) {
170
- const currentExpr = expr;
171
- const ph = this.jsonVal(ctx, v);
172
- expr = `jsonb_set(${currentExpr}, '{${this.escapeJsonKey(key)}}', COALESCE((${currentExpr})->'${this.escapeJsonKey(key)}', '[]'::jsonb) || jsonb_build_array(${ph}))`;
173
- }
174
- }
175
- if (value.$unset?.length) {
176
- for (const key of value.$unset) {
177
- expr = `(${expr}) - '${this.escapeJsonKey(key)}'`;
178
- }
179
- }
180
- ctx.append(`${escapedCol} = ${expr}`);
181
- }
182
- /**
183
- * Helper to add a JSON value to context with appropriate stringification and cast.
184
- */
185
- jsonVal(ctx, value, type = 'jsonb') {
186
- if (value instanceof QueryRaw)
187
- return this.addValue(ctx.values, value);
188
- if (value == null)
189
- return `${this.addValue(ctx.values, null)}::${type}`;
190
- const json = JSON.stringify(value);
191
- const ph = this.addValue(ctx.values, json);
192
- return this.features.explicitJsonCast ? `(${ph}::text)::${type}` : `${ph}::${type}`;
193
- }
194
- escape(value) {
195
- return escapeAnsiSqlLiteral(value);
196
- }
197
- }
198
- /**
199
- * Converts a JS array to a Postgres array literal string: `{"val1","val2"}`.
200
- * Safely handles nesting and escaping of special characters.
201
- */
202
- function toPgArray(arr) {
203
- const elements = arr.map((val) => {
204
- if (val == null)
205
- return 'NULL';
206
- if (Array.isArray(val))
207
- return toPgArray(val);
208
- if (typeof val === 'boolean')
209
- return val ? 'true' : 'false';
210
- if (val instanceof Uint8Array || (typeof Buffer !== 'undefined' && Buffer.isBuffer(val))) {
211
- const hex = Array.from(val)
212
- .map((b) => b.toString(16).padStart(2, '0'))
213
- .join('');
214
- return `"\\\\x${hex}"`;
215
- }
216
- const str = String(val);
217
- const escaped = str.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
218
- return `"${escaped}"`;
219
- });
220
- return `{${elements.join(',')}}`;
221
16
  }
222
17
  //# sourceMappingURL=postgresDialect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgresDialect.js","sourceRoot":"","sources":["../../src/postgres/postgresDialect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgresDialect.js","sourceRoot":"","sources":["../../src/postgres/postgresDialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE;;;;;;GAMG;AACH,MAAM,OAAO,eAAgB,SAAQ,gBAAgB;IACjC,WAAW,GAAmB,UAAU,CAAC;IAEzC,eAAe,GAAuB,QAAQ,CAAC;IAExD,MAAM,CAAI,GAAiB,EAAE,MAAe,EAAE,aAAoC,EAAE,OAAgB;QAC3G,qFAAqF;QACrF,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,mBAAmB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAClH,CAAC;CACF"}
@@ -1,13 +1,18 @@
1
1
  /**
2
- * Wire-style parameter shaping for **Bun SQL** (and similar clients) on PostgreSQL: arrays are
3
- * sent as string literals (`nativeArrays: false`) via the {@link PostgresDialect} `toPgArray` path.
2
+ * Wire-style parameter shaping for **Bun SQL** (and similar clients) on any Postgres-wire dialect:
3
+ * arrays are sent as string literals (`nativeArrays: false`) via {@link PgLikeSqlDialect}'s
4
+ * `toPgArray` path.
4
5
  *
5
- * `PgDialect` does **not** use this constant - it keeps base {@link PostgresDialect} defaults
6
- * (`nativeArrays: true`, `explicitJsonCast: false`). `BunSqlPostgresDialect` spreads this
7
- * and sets `explicitJsonCast: true`.
6
+ * `PgDialect` does **not** use this constant - it keeps base {@link PgLikeSqlDialect} defaults
7
+ * (`nativeArrays: true`, `explicitJsonCast: false`), since node-`pg` doesn't need the fix.
8
+ * `BunSqlPostgresDialect` and `BunSqlCockroachDialect` both spread this and set
9
+ * `explicitJsonCast: true` - `bun:sql` routes CockroachDB through its own Postgres wire-protocol
10
+ * implementation (see `bunSql.util.ts#normalizeBunOpts`), so it needs the identical fix: verified
11
+ * directly that without it, `$merge`/`$push` on a JSONB column silently produce the wrong value
12
+ * or throw on a live CockroachDB instance.
8
13
  *
9
- * @remarks Optional import for custom pools; Neon / Cockroach `PostgresDialect` subclasses
10
- * typically use base defaults without these patches.
14
+ * @remarks Optional import for custom pools. Neon uses its own serverless driver (not `bun:sql`),
15
+ * so `NeonDialect` is a separate, unverified case - do not assume it needs this without testing.
11
16
  */
12
17
  export declare const POSTGRES_WIRE_DRIVER_CAPABILITIES: {
13
18
  readonly nativeArrays: false;
@@ -1 +1 @@
1
- {"version":3,"file":"postgresWireDriverCapabilities.d.ts","sourceRoot":"","sources":["../../src/postgres/postgresWireDriverCapabilities.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iCAAiC;;CAED,CAAC"}
1
+ {"version":3,"file":"postgresWireDriverCapabilities.d.ts","sourceRoot":"","sources":["../../src/postgres/postgresWireDriverCapabilities.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iCAAiC;;CAED,CAAC"}
@@ -1,13 +1,18 @@
1
1
  /**
2
- * Wire-style parameter shaping for **Bun SQL** (and similar clients) on PostgreSQL: arrays are
3
- * sent as string literals (`nativeArrays: false`) via the {@link PostgresDialect} `toPgArray` path.
2
+ * Wire-style parameter shaping for **Bun SQL** (and similar clients) on any Postgres-wire dialect:
3
+ * arrays are sent as string literals (`nativeArrays: false`) via {@link PgLikeSqlDialect}'s
4
+ * `toPgArray` path.
4
5
  *
5
- * `PgDialect` does **not** use this constant - it keeps base {@link PostgresDialect} defaults
6
- * (`nativeArrays: true`, `explicitJsonCast: false`). `BunSqlPostgresDialect` spreads this
7
- * and sets `explicitJsonCast: true`.
6
+ * `PgDialect` does **not** use this constant - it keeps base {@link PgLikeSqlDialect} defaults
7
+ * (`nativeArrays: true`, `explicitJsonCast: false`), since node-`pg` doesn't need the fix.
8
+ * `BunSqlPostgresDialect` and `BunSqlCockroachDialect` both spread this and set
9
+ * `explicitJsonCast: true` - `bun:sql` routes CockroachDB through its own Postgres wire-protocol
10
+ * implementation (see `bunSql.util.ts#normalizeBunOpts`), so it needs the identical fix: verified
11
+ * directly that without it, `$merge`/`$push` on a JSONB column silently produce the wrong value
12
+ * or throw on a live CockroachDB instance.
8
13
  *
9
- * @remarks Optional import for custom pools; Neon / Cockroach `PostgresDialect` subclasses
10
- * typically use base defaults without these patches.
14
+ * @remarks Optional import for custom pools. Neon uses its own serverless driver (not `bun:sql`),
15
+ * so `NeonDialect` is a separate, unverified case - do not assume it needs this without testing.
11
16
  */
12
17
  export const POSTGRES_WIRE_DRIVER_CAPABILITIES = {
13
18
  nativeArrays: false,
@@ -1 +1 @@
1
- {"version":3,"file":"postgresWireDriverCapabilities.js","sourceRoot":"","sources":["../../src/postgres/postgresWireDriverCapabilities.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,YAAY,EAAE,KAAK;CACwB,CAAC"}
1
+ {"version":3,"file":"postgresWireDriverCapabilities.js","sourceRoot":"","sources":["../../src/postgres/postgresWireDriverCapabilities.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,YAAY,EAAE,KAAK;CACwB,CAAC"}
@@ -3,6 +3,7 @@ import type { ExtraOptions, IdValue, Query, QueryAggregate, QueryAggregateResult
3
3
  import type { BuildUpdateResultPayload } from '../util/sql.util.js';
4
4
  import { AbstractQuerier } from './abstractQuerier.js';
5
5
  export declare abstract class AbstractSqlQuerier extends AbstractQuerier implements SqlQuerier {
6
+ #private;
6
7
  readonly dialect: AbstractSqlDialect;
7
8
  readonly extra?: ExtraOptions | undefined;
8
9
  private hasPendingTransaction?;
@@ -19,6 +20,12 @@ export declare abstract class AbstractSqlQuerier extends AbstractQuerier impleme
19
20
  * Build a QueryUpdateResult with affected changes and calculated IDs.
20
21
  */
21
22
  protected buildUpdateResult(payload: BuildUpdateResultPayload): QueryUpdateResult;
23
+ /**
24
+ * The `auto_increment_increment` stride used to infer the ids of a multi-row insert from the
25
+ * single id the driver reports (MySQL, which has no `RETURNING`). It is 1 on a standalone server
26
+ * but can be higher on a cluster (e.g. Galera). Only called for `firstId` dialects.
27
+ */
28
+ protected loadInsertIdIncrement(): Promise<number>;
22
29
  /**
23
30
  * Hook for subclasses (e.g. pool queriers) to establish a connection.
24
31
  * 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,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,iBAAiB,EAEjB,UAAU,EACV,kBAAkB,EAClB,IAAI,EACJ,aAAa,EACd,MAAM,kBAAkB,CAAC;AAY1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,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;IAExC,YACW,OAAO,EAAE,kBAAkB,EAClB,KAAK,CAAC,EAAE,YAAY,YAAA,EAGvC;IAED;;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,CAAC;IAEnF;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE9F;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,CAKhF;IAED;;;OAGG;IACH,UAAgB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAG;IAGzC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAG5D;YAGa,QAAQ;IAKhB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAGvE;YAGa,QAAQ;IAItB,UAAyB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,YAAY,gBAO5G;IAED,UAA0B,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAC/D,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EACX,IAAI,CAAC,EAAE,YAAY,6CAiBpB;IAED;;;;OAIG;IACH,UAAiB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAGtF;IAED,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,0BAA0B;IA4ClC,UAAyB,aAAa,CAAC,CAAC,SAAS,MAAM,EACrD,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,CAAC,GAAE,WAAW,CAAC,CAAC,CAAM,EACtB,IAAI,CAAC,EAAE,YAAY,mBAMpB;IAED,UAAyB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,EACtF,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,EACJ,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAKjD;IAEc,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,yBAiBhF;IAEc,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAChD,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EACjB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,IAAI,CAAC,EAAE,YAAY,mBAQpB;IAEc,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,8BAE3G;IAEc,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,8BAQ9G;IAED,UAAyB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAC1D,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EACjB,IAAI,CAAC,EAAE,YAAY,mBAiBpB;IAED,IAAa,kBAAkB,YAE9B;IAGc,gBAAgB,CAAC,IAAI,CAAC,EAAE,kBAAkB,iBAUxD;IAGc,iBAAiB,kBAM/B;IAGc,mBAAmB,kBAMjC;CACF"}
1
+ {"version":3,"file":"abstractSqlQuerier.d.ts","sourceRoot":"","sources":["../../src/querier/abstractSqlQuerier.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { getMeta } from '../entity/index.js';
3
- import { buildUpdateResult, clone, getRelationRequestSummary, obtainAttrsPaths, throwNoPendingTransaction, throwPendingTransaction, unflatObject, unflatObjects, withoutSoftDeleteFilter, } from '../util/index.js';
3
+ import { buildUpdateResult, clone, getInsertFieldKeys, getRelationRequestSummary, isAutoIncrement, obtainAttrsPaths, throwNoPendingTransaction, throwPendingTransaction, unflatObject, unflatObjects, withoutSoftDeleteFilter, } 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 {
7
7
  dialect;
8
8
  extra;
9
9
  hasPendingTransaction;
10
+ /** Cached `auto_increment_increment` stride; see {@link loadInsertIdIncrement}. */
11
+ #insertIdIncrement;
10
12
  constructor(dialect, extra) {
11
13
  super(extra);
12
14
  this.dialect = dialect;
@@ -17,10 +19,21 @@ export class AbstractSqlQuerier extends AbstractQuerier {
17
19
  */
18
20
  buildUpdateResult(payload) {
19
21
  return buildUpdateResult({
20
- insertIdStrategy: this.dialect.insertIdStrategy,
22
+ insertIdSource: this.dialect.insertIdSource,
23
+ insertIdIncrement: this.#insertIdIncrement,
21
24
  ...payload,
22
25
  });
23
26
  }
27
+ /**
28
+ * The `auto_increment_increment` stride used to infer the ids of a multi-row insert from the
29
+ * single id the driver reports (MySQL, which has no `RETURNING`). It is 1 on a standalone server
30
+ * but can be higher on a cluster (e.g. Galera). Only called for `firstId` dialects.
31
+ */
32
+ async loadInsertIdIncrement() {
33
+ const rows = await this.all('SELECT @@auto_increment_increment AS v');
34
+ const value = Number(rows[0]?.v);
35
+ return Number.isInteger(value) && value > 0 ? value : 1;
36
+ }
24
37
  /**
25
38
  * Hook for subclasses (e.g. pool queriers) to establish a connection.
26
39
  * Called before every query but outside the `@Log()` timer.
@@ -134,16 +147,36 @@ export class AbstractSqlQuerier extends AbstractQuerier {
134
147
  return [];
135
148
  }
136
149
  payload = clone(payload);
137
- const ctx = this.dialect.createContext();
138
- this.dialect.insert(ctx, entity, payload);
139
- const { ids = [] } = await this.run(ctx.sql, ctx.values);
140
150
  const meta = getMeta(entity);
141
151
  const idKey = meta.id;
142
- const payloadIds = payload.map((it, index) => {
143
- const id = ids[index];
144
- it[idKey] ??= id;
145
- return it[idKey];
146
- });
152
+ const idField = meta.fields[idKey];
153
+ // RETURNING-based IDs are exact per row. Header-derived IDs (LAST_INSERT_ID /
154
+ // lastInsertRowid arithmetic) are only sound when the primary key is database-generated
155
+ // and no record supplies an explicit ID (a mixed batch shifts the positional mapping and
156
+ // MySQL stops guaranteeing consecutive values); otherwise generated IDs stay `undefined`.
157
+ const idsReliable = this.dialect.insertIdSource === 'returning' ||
158
+ (!!idField && isAutoIncrement(idField, true) && payload.every((it) => it[idKey] === undefined));
159
+ // Inferring multiple ids from the single header id (MySQL) assumes a known stride; a clustered
160
+ // server may set `auto_increment_increment` > 1, so probe it (once, cached) before inferring.
161
+ if (idsReliable && payload.length > 1 && this.dialect.insertIdSource === 'firstId') {
162
+ this.#insertIdIncrement ??= await this.loadInsertIdIncrement();
163
+ }
164
+ // `DEFAULT` cells bind no parameter, so fields-per-record is a safe upper bound per row.
165
+ const fieldsPerRecord = getInsertFieldKeys(meta, payload).length || 1;
166
+ const chunkSize = Math.max(1, Math.floor(this.dialect.maxBindValues / fieldsPerRecord));
167
+ const payloadIds = [];
168
+ for (let start = 0; start < payload.length; start += chunkSize) {
169
+ const chunk = payload.slice(start, start + chunkSize);
170
+ const ctx = this.dialect.createContext();
171
+ this.dialect.insert(ctx, entity, chunk);
172
+ const { ids = [] } = await this.run(ctx.sql, ctx.values);
173
+ chunk.forEach((it, index) => {
174
+ if (idsReliable) {
175
+ it[idKey] ??= ids[index];
176
+ }
177
+ payloadIds.push(it[idKey]);
178
+ });
179
+ }
147
180
  await this.insertRelations(entity, payload);
148
181
  return payloadIds;
149
182
  }
@@ -1 +1 @@
1
- {"version":3,"file":"abstractSqlQuerier.js","sourceRoot":"","sources":["../../src/querier/abstractSqlQuerier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstractSqlQuerier.js","sourceRoot":"","sources":["../../src/querier/abstractSqlQuerier.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
- import type { DialectOptions } from '../dialect/abstractDialect.js';
2
1
  import { AbstractSqlDialect } from '../dialect/abstractSqlDialect.js';
3
- import type { DialectFeatures, FieldKey, JsonUpdateOp, QueryComparisonOptions, QueryConflictPaths, QueryContext, QueryWhereFieldOperatorMap, Type, VectorDistance } from '../type/index.js';
2
+ import type { DialectFeatures, FieldKey, FieldOptions, JsonUpdateOp, QueryComparisonOptions, QueryConflictPaths, QueryContext, QueryWhereFieldOperatorMap, Type, VectorDistance } from '../type/index.js';
4
3
  export declare class SqliteDialect extends AbstractSqlDialect {
5
4
  /** Default {@link DialectFeatures} for SQLite and SQLite-derived dialects. */
6
- static readonly defaultDialectFeatures: DialectFeatures;
5
+ protected readonly featureDefaults: DialectFeatures;
7
6
  readonly dialectName = "sqlite";
8
7
  readonly quoteChar = "`";
9
8
  readonly serialPrimaryKey = "INTEGER PRIMARY KEY AUTOINCREMENT";
@@ -14,9 +13,13 @@ export declare class SqliteDialect extends AbstractSqlDialect {
14
13
  readonly isolationLevelStrategy = "none";
15
14
  readonly alterColumnSyntax = "none";
16
15
  readonly booleanLiteral = "integer";
17
- readonly insertIdStrategy = "last";
18
- constructor(options?: DialectOptions);
16
+ readonly insertIdSource = "lastId";
19
17
  protected readonly vectorDistanceFns: Partial<Record<VectorDistance, string>>;
18
+ /**
19
+ * SQLite does not support the `DEFAULT` keyword inside `VALUES`. Inline the metadata default
20
+ * when declared, else `NULL` (which is also how SQLite auto-generates INTEGER PRIMARY KEYs).
21
+ */
22
+ protected appendDefaultInsertValue(ctx: QueryContext, field: FieldOptions | undefined): void;
20
23
  protected ilikeExpr(f: string, ph: string): string;
21
24
  protected get neOp(): string;
22
25
  normalizeValue(value: unknown): unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"sqliteDialect.d.ts","sourceRoot":"","sources":["../../src/sqlite/sqliteDialect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAGtE,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EAGZ,0BAA0B,EAC1B,IAAI,EACJ,cAAc,EACf,MAAM,kBAAkB,CAAC;AAI1B,qBAAa,aAAc,SAAQ,kBAAkB;IACnD,8EAA8E;IAC9E,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,eAAe,CAerD;IAEF,SAAkB,WAAW,YAAY;IAEzC,SAAkB,SAAS,OAAO;IAElC,SAAkB,gBAAgB,uCAAuC;IAEzE,SAAkB,YAAY,MAAM;IAEpC,SAAkB,uBAAuB,uBAAuB;IAEhE,SAAkB,wBAAwB,YAAY;IAEtD,SAAkB,0BAA0B,cAAc;IAE1D,SAAkB,sBAAsB,UAAU;IAElD,SAAkB,iBAAiB,UAAU;IAE7C,SAAkB,cAAc,aAAa;IAE7C,SAAkB,gBAAgB,UAAU;IAE5C,YAAY,OAAO,GAAE,cAAmB,EAEvC;IAED,mBAA4B,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAIpF;IAEF,UAAmB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE1D;IAED,cAAuB,IAAI,IAAI,MAAM,CAEpC;IAEQ,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG/C;IAEQ,OAAO,CAAC,CAAC,EAChB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,OAAO,EACZ,IAAI,CAAC,EAAE,sBAAsB,GAC5B,IAAI,CAeN;IAEQ,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,sBAA2B,GAChC,IAAI,CAiCN;IAED;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA0B/B,UAAmB,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExF;IAED,UAAmB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;IAEQ,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,CAEnH;IAED,UAAmB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAyB1G;IAEQ,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEtC;CACF"}
1
+ {"version":3,"file":"sqliteDialect.d.ts","sourceRoot":"","sources":["../../src/sqlite/sqliteDialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAGtE,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EAGZ,0BAA0B,EAC1B,IAAI,EACJ,cAAc,EACf,MAAM,kBAAkB,CAAC;AAI1B,qBAAa,aAAc,SAAQ,kBAAkB;IACnD,8EAA8E;IAC9E,mBAA4B,eAAe,EAAE,eAAe,CAc1D;IAEF,SAAkB,WAAW,YAAY;IAEzC,SAAkB,SAAS,OAAO;IAElC,SAAkB,gBAAgB,uCAAuC;IAEzE,SAAkB,YAAY,MAAM;IAEpC,SAAkB,uBAAuB,uBAAuB;IAEhE,SAAkB,wBAAwB,YAAY;IAEtD,SAAkB,0BAA0B,cAAc;IAE1D,SAAkB,sBAAsB,UAAU;IAElD,SAAkB,iBAAiB,UAAU;IAE7C,SAAkB,cAAc,aAAa;IAE7C,SAAkB,cAAc,YAAY;IAE5C,mBAA4B,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAIpF;IAEF;;;OAGG;IACH,UAAmB,wBAAwB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAMpG;IAED,UAAmB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE1D;IAED,cAAuB,IAAI,IAAI,MAAM,CAEpC;IAEQ,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG/C;IAEQ,OAAO,CAAC,CAAC,EAChB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,OAAO,EACZ,IAAI,CAAC,EAAE,sBAAsB,GAC5B,IAAI,CAeN;IAEQ,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,sBAA2B,GAChC,IAAI,CAiCN;IAED;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA0B/B,UAAmB,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExF;IAED,UAAmB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;IAEQ,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,CAEnH;IAED,UAAmB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAyB1G;IAEQ,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEtC;CACF"}
@@ -5,11 +5,10 @@ import { escapeAnsiSqlLiteral } from '../util/ansiSqlLiteral.js';
5
5
  import { hasKeys } from '../util/index.js';
6
6
  export class SqliteDialect extends AbstractSqlDialect {
7
7
  /** Default {@link DialectFeatures} for SQLite and SQLite-derived dialects. */
8
- static defaultDialectFeatures = {
8
+ featureDefaults = {
9
9
  explicitJsonCast: false,
10
10
  nativeArrays: false,
11
11
  supportsJsonb: false,
12
- returning: true,
13
12
  ifNotExists: true,
14
13
  indexIfNotExists: true,
15
14
  dropTableCascade: false,
@@ -31,15 +30,24 @@ export class SqliteDialect extends AbstractSqlDialect {
31
30
  isolationLevelStrategy = 'none';
32
31
  alterColumnSyntax = 'none';
33
32
  booleanLiteral = 'integer';
34
- insertIdStrategy = 'last';
35
- constructor(options = {}) {
36
- super(SqliteDialect.defaultDialectFeatures, options);
37
- }
33
+ insertIdSource = 'lastId';
38
34
  vectorDistanceFns = {
39
35
  cosine: 'vec_distance_cosine',
40
36
  l2: 'vec_distance_L2',
41
37
  hamming: 'vec_distance_hamming',
42
38
  };
39
+ /**
40
+ * SQLite does not support the `DEFAULT` keyword inside `VALUES`. Inline the metadata default
41
+ * when declared, else `NULL` (which is also how SQLite auto-generates INTEGER PRIMARY KEYs).
42
+ */
43
+ appendDefaultInsertValue(ctx, field) {
44
+ if (field?.defaultValue !== undefined) {
45
+ this.formatPersistableValue(ctx, field, field.defaultValue);
46
+ }
47
+ else {
48
+ ctx.append('NULL');
49
+ }
50
+ }
43
51
  ilikeExpr(f, ph) {
44
52
  return `${f} LIKE ${ph}`;
45
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sqliteDialect.js","sourceRoot":"","sources":["../../src/sqlite/sqliteDialect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqliteDialect.js","sourceRoot":"","sources":["../../src/sqlite/sqliteDialect.ts"],"names":[],"mappings":"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"}
@@ -339,7 +339,7 @@ export type EntityOptions<E = unknown> = {
339
339
  readonly filters?: Record<string, FilterOptions<E>>;
340
340
  /** Scalar fields; use `isId: true` on exactly one field for the primary key. */
341
341
  readonly fields?: Record<string, FieldOptions>;
342
- readonly relations?: Record<string, RelationOptions<E>>;
342
+ readonly relations?: Record<string, RelationOptions>;
343
343
  readonly indexes?: readonly EntityIndexMeta[];
344
344
  /** Map hook events to method names on the entity class. */
345
345
  readonly hooks?: Partial<Record<HookEvent, readonly string[]>>;