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.
- package/CHANGELOG.md +45 -0
- package/README.md +2 -1
- package/dist/bunSql/bunSqlCockroachDialect.d.ts +13 -0
- package/dist/bunSql/bunSqlCockroachDialect.d.ts.map +1 -0
- package/dist/bunSql/bunSqlCockroachDialect.js +22 -0
- package/dist/bunSql/bunSqlCockroachDialect.js.map +1 -0
- package/dist/bunSql/bunSqlQuerierPool.d.ts.map +1 -1
- package/dist/bunSql/bunSqlQuerierPool.js +2 -2
- package/dist/bunSql/bunSqlQuerierPool.js.map +1 -1
- package/dist/cockroachdb/cockroachDialect.d.ts +12 -9
- package/dist/cockroachdb/cockroachDialect.d.ts.map +1 -1
- package/dist/cockroachdb/cockroachDialect.js +19 -8
- package/dist/cockroachdb/cockroachDialect.js.map +1 -1
- package/dist/d1/d1SqliteDialect.d.ts +2 -2
- package/dist/d1/d1SqliteDialect.d.ts.map +1 -1
- package/dist/d1/d1SqliteDialect.js +3 -2
- package/dist/d1/d1SqliteDialect.js.map +1 -1
- package/dist/dialect/abstractDialect.d.ts +16 -8
- package/dist/dialect/abstractDialect.d.ts.map +1 -1
- package/dist/dialect/abstractDialect.js +11 -9
- package/dist/dialect/abstractDialect.js.map +1 -1
- package/dist/dialect/abstractSqlDialect.d.ts +13 -3
- package/dist/dialect/abstractSqlDialect.d.ts.map +1 -1
- package/dist/dialect/abstractSqlDialect.js +21 -6
- package/dist/dialect/abstractSqlDialect.js.map +1 -1
- package/dist/dialect/mysqlLikeSqlDialect.d.ts +4 -5
- package/dist/dialect/mysqlLikeSqlDialect.d.ts.map +1 -1
- package/dist/dialect/mysqlLikeSqlDialect.js +3 -6
- package/dist/dialect/mysqlLikeSqlDialect.js.map +1 -1
- package/dist/dialect/pgLikeSqlDialect.d.ts +59 -0
- package/dist/dialect/pgLikeSqlDialect.d.ts.map +1 -0
- package/dist/dialect/pgLikeSqlDialect.js +236 -0
- package/dist/dialect/pgLikeSqlDialect.js.map +1 -0
- package/dist/entity/decorator/index-decorator.js +2 -2
- package/dist/entity/decorator/index-decorator.js.map +1 -1
- package/dist/entity/decorator/index.d.ts +1 -1
- package/dist/entity/decorator/index.d.ts.map +1 -1
- package/dist/entity/decorator/index.js +1 -1
- package/dist/entity/decorator/index.js.map +1 -1
- package/dist/entity/metadata/definition.d.ts +1 -0
- package/dist/entity/metadata/definition.d.ts.map +1 -1
- package/dist/entity/metadata/definition.js +5 -0
- package/dist/entity/metadata/definition.js.map +1 -1
- package/dist/maria/mariaDialect.d.ts +1 -0
- package/dist/maria/mariaDialect.d.ts.map +1 -1
- package/dist/maria/mariaDialect.js +2 -0
- package/dist/maria/mariaDialect.js.map +1 -1
- package/dist/migrate/generator/mongoSchemaGenerator.d.ts +3 -2
- package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -1
- package/dist/migrate/generator/mongoSchemaGenerator.js +4 -3
- package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -1
- package/dist/migrate/schemaGenerator.d.ts.map +1 -1
- package/dist/migrate/schemaGenerator.js +13 -6
- package/dist/migrate/schemaGenerator.js.map +1 -1
- package/dist/mongo/mongoDialect.d.ts +4 -5
- package/dist/mongo/mongoDialect.d.ts.map +1 -1
- package/dist/mongo/mongoDialect.js +21 -23
- package/dist/mongo/mongoDialect.js.map +1 -1
- package/dist/postgres/pgDialect.d.ts +0 -2
- package/dist/postgres/pgDialect.d.ts.map +1 -1
- package/dist/postgres/pgDialect.js +0 -3
- package/dist/postgres/pgDialect.js.map +1 -1
- package/dist/postgres/postgresDialect.d.ts +8 -41
- package/dist/postgres/postgresDialect.d.ts.map +1 -1
- package/dist/postgres/postgresDialect.js +8 -213
- package/dist/postgres/postgresDialect.js.map +1 -1
- package/dist/postgres/postgresWireDriverCapabilities.d.ts +12 -7
- package/dist/postgres/postgresWireDriverCapabilities.d.ts.map +1 -1
- package/dist/postgres/postgresWireDriverCapabilities.js +12 -7
- package/dist/postgres/postgresWireDriverCapabilities.js.map +1 -1
- package/dist/querier/abstractSqlQuerier.d.ts +7 -0
- package/dist/querier/abstractSqlQuerier.d.ts.map +1 -1
- package/dist/querier/abstractSqlQuerier.js +43 -10
- package/dist/querier/abstractSqlQuerier.js.map +1 -1
- package/dist/sqlite/sqliteDialect.d.ts +8 -5
- package/dist/sqlite/sqliteDialect.d.ts.map +1 -1
- package/dist/sqlite/sqliteDialect.js +14 -6
- package/dist/sqlite/sqliteDialect.js.map +1 -1
- package/dist/type/entity.d.ts +1 -1
- package/dist/type/entity.d.ts.map +1 -1
- package/dist/type/querier.d.ts +14 -0
- package/dist/type/querier.d.ts.map +1 -1
- package/dist/type/querier.js.map +1 -1
- package/dist/type/query.d.ts +19 -4
- package/dist/type/query.d.ts.map +1 -1
- package/dist/type/query.js.map +1 -1
- package/dist/util/dialect.util.d.ts +10 -0
- package/dist/util/dialect.util.d.ts.map +1 -1
- package/dist/util/dialect.util.js +26 -0
- package/dist/util/dialect.util.js.map +1 -1
- package/dist/util/sql.util.d.ts +13 -3
- package/dist/util/sql.util.d.ts.map +1 -1
- package/dist/util/sql.util.js +33 -31
- package/dist/util/sql.util.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,222 +1,17 @@
|
|
|
1
|
-
import {
|
|
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
|
|
9
|
-
*
|
|
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
|
|
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
|
-
|
|
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":"
|
|
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
|
|
3
|
-
* sent as string literals (`nativeArrays: false`) via
|
|
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
|
|
6
|
-
* (`nativeArrays: true`, `explicitJsonCast: false`)
|
|
7
|
-
* and
|
|
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
|
|
10
|
-
*
|
|
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
|
|
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
|
|
3
|
-
* sent as string literals (`nativeArrays: false`) via
|
|
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
|
|
6
|
-
* (`nativeArrays: true`, `explicitJsonCast: false`)
|
|
7
|
-
* and
|
|
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
|
|
10
|
-
*
|
|
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
|
|
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;
|
|
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;AAc1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,8BAAsB,kBAAmB,SAAQ,eAAgB,YAAW,UAAU;;IAMlF,QAAQ,CAAC,OAAO,EAAE,kBAAkB;aAClB,KAAK,CAAC,EAAE,YAAY;IANxC,OAAO,CAAC,qBAAqB,CAAC,CAAU;IAIxC,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,CAMhF;IAED;;;;OAIG;IACH,UAAgB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAIvD;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,yBAsChF;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,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
|
-
|
|
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
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAiB7C,OAAO,EACL,iBAAiB,EACjB,KAAK,EACL,yBAAyB,EACzB,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,OAAgB,kBAAmB,SAAQ,eAAe;IAInD,OAAO;IACE,KAAK;IAJjB,qBAAqB,CAAW;IAExC,YACW,OAA2B,EAClB,KAAoB;QAEtC,KAAK,CAAC,KAAK,CAAC,CAAC;uBAHJ,OAAO;qBACE,KAAK;IAGzB,CAAC;IAYD;;OAEG;IACO,iBAAiB,CAAC,OAAiC;QAC3D,OAAO,iBAAiB,CAAC;YACvB,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;YAC/C,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,WAAW,KAAmB,CAAC;IAGzC,AAAN,KAAK,CAAC,GAAG,CAAI,KAAa,EAAE,MAAkB;QAC5C,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAI,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAGa,AAAN,KAAK,CAAC,QAAQ,CAAI,KAAa,EAAE,MAAkB;QACzD,OAAO,IAAI,CAAC,WAAW,CAAI,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,CAAC;IAGK,AAAN,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,MAAkB;QACzC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAGa,AAAN,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,MAAkB;QACtD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,CAAC;IAEkB,KAAK,CAAC,gBAAgB,CAAmB,MAAe,EAAE,CAAW,EAAE,IAAmB;QAC3G,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAS,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,aAAa,CAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QACvF,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5D,OAAO,MAAM,CAAC;IAChB,CAAC;IAEkB,KAAK,CAAC,CAAC,sBAAsB,CAC9C,MAAe,EACf,CAAW,EACX,IAAmB;QAEnB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,EAAE,UAAU,EAAE,GAAG,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,IAAI,SAAS,CACjB,mDAAmD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,2FAA2F,CACpK,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClE,IAAI,UAAgD,CAAC;QACrD,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,CAAS,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC/E,UAAU,KAAK,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAI,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,CAAC,cAAc,CAAI,KAAa,EAAE,MAAkB;QAClE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAI,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QACpF,KAAK,CAAC,CAAC,IAAI,CAAC;IACd,CAAC;IAEO,iBAAiB,CAAmB,MAAe,EAAE,GAAM;QACjE,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,OAAO,EAAU,CAAC,CAAC;QACpE,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,0BAA0B,CAAmB,MAAe,EAAE,GAAM,EAAE,OAAwB;QACpG,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,GAA8B,CAAC;QAE3C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;gBAChE,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,IAAI,CAAC;gBACH,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,iEAAiE;YACnE,CAAC;QACH,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,SAAS,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;oBACvB,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC1D,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAEkB,KAAK,CAAC,aAAa,CACpC,MAAe,EACf,CAAC,GAAmB,EAAE,EACtB,IAAmB;QAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEkB,KAAK,CAAC,iBAAiB,CACxC,MAAe,EACf,CAAI,EACJ,IAAmB;QAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7C,sHAAsH;QACtH,OAAO,IAAI,CAAC,GAAG,CAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAEQ,KAAK,CAAC,kBAAkB,CAAmB,MAAe,EAAE,OAAY;QAC/E,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAG,CAAC;QACvB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;YAC3C,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAoB,CAAC;YACzC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,UAA0B,CAAC;IACpC,CAAC;IAEQ,KAAK,CAAC,kBAAkB,CAC/B,MAAe,EACf,CAAiB,EACjB,OAAyB,EACzB,IAAmB;QAEnB,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,KAAK,CAAC,SAAS,CAAmB,MAAe,EAAE,aAAoC,EAAE,OAAU;QAC1G,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAmB,MAAe,EAAE,aAAoC,EAAE,OAAY;QAC7G,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACxB,CAAC;QACD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAEkB,KAAK,CAAC,kBAAkB,CACzC,MAAe,EACf,CAAiB,EACjB,IAAmB;QAEnB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,yGAAyG;QACzG,MAAM,QAAQ,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACvG,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAG,CAAC,EAAE,IAAI,EAAE,EAAc,EAAE,QAAQ,CAAC,CAAC;QAClG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAI,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAG,CAAC,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAa,kBAAkB;QAC7B,OAAO,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAGc,AAAN,KAAK,CAAC,gBAAgB,CAAC,IAAyB;QACvD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,uBAAuB,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACpF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACpC,CAAC;IAGc,AAAN,KAAK,CAAC,iBAAiB;QAC9B,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,yBAAyB,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAC9D,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;IAGc,AAAN,KAAK,CAAC,mBAAmB;QAChC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,yBAAyB,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAChE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;CACF;AA5OO;IADL,UAAU,EAAE;;;;6CAIZ;AAGa;IADb,GAAG,EAAE;;;;kDAGL;AAGK;IADL,UAAU,EAAE;;;;6CAIZ;AAGa;IADb,GAAG,EAAE;;;;kDAGL;AA4Lc;IADd,UAAU,EAAE;;;;0DAWZ;AAGc;IADd,UAAU,EAAE;;;;2DAOZ;AAGc;IADd,UAAU,EAAE;;;;6DAOZ"}
|
|
1
|
+
{"version":3,"file":"abstractSqlQuerier.js","sourceRoot":"","sources":["../../src/querier/abstractSqlQuerier.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAiB7C,OAAO,EACL,iBAAiB,EACjB,KAAK,EACL,kBAAkB,EAClB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,OAAgB,kBAAmB,SAAQ,eAAe;IAMnD,OAAO;IACE,KAAK;IANjB,qBAAqB,CAAW;IACxC,mFAAmF;IACnF,kBAAkB,CAAU;IAE5B,YACW,OAA2B,EAClB,KAAoB;QAEtC,KAAK,CAAC,KAAK,CAAC,CAAC;uBAHJ,OAAO;qBACE,KAAK;IAGzB,CAAC;IAYD;;OAEG;IACO,iBAAiB,CAAC,OAAiC;QAC3D,OAAO,iBAAiB,CAAC;YACvB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YAC3C,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,qBAAqB;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAyB,wCAAwC,CAAC,CAAC;QAC9F,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,WAAW,KAAmB,CAAC;IAGzC,AAAN,KAAK,CAAC,GAAG,CAAI,KAAa,EAAE,MAAkB;QAC5C,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAI,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAGa,AAAN,KAAK,CAAC,QAAQ,CAAI,KAAa,EAAE,MAAkB;QACzD,OAAO,IAAI,CAAC,WAAW,CAAI,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,CAAC;IAGK,AAAN,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,MAAkB;QACzC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAGa,AAAN,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,MAAkB;QACtD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,CAAC;IAEkB,KAAK,CAAC,gBAAgB,CAAmB,MAAe,EAAE,CAAW,EAAE,IAAmB;QAC3G,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAS,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,aAAa,CAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QACvF,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5D,OAAO,MAAM,CAAC;IAChB,CAAC;IAEkB,KAAK,CAAC,CAAC,sBAAsB,CAC9C,MAAe,EACf,CAAW,EACX,IAAmB;QAEnB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,EAAE,UAAU,EAAE,GAAG,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,IAAI,SAAS,CACjB,mDAAmD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,2FAA2F,CACpK,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClE,IAAI,UAAgD,CAAC;QACrD,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,CAAS,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC/E,UAAU,KAAK,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAI,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,CAAC,cAAc,CAAI,KAAa,EAAE,MAAkB;QAClE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAI,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QACpF,KAAK,CAAC,CAAC,IAAI,CAAC;IACd,CAAC;IAEO,iBAAiB,CAAmB,MAAe,EAAE,GAAM;QACjE,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,OAAO,EAAU,CAAC,CAAC;QACpE,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,0BAA0B,CAAmB,MAAe,EAAE,GAAM,EAAE,OAAwB;QACpG,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,GAA8B,CAAC;QAE3C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;gBAChE,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,IAAI,CAAC;gBACH,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,iEAAiE;YACnE,CAAC;QACH,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,SAAS,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;oBACvB,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC1D,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAEkB,KAAK,CAAC,aAAa,CACpC,MAAe,EACf,CAAC,GAAmB,EAAE,EACtB,IAAmB;QAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEkB,KAAK,CAAC,iBAAiB,CACxC,MAAe,EACf,CAAI,EACJ,IAAmB;QAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7C,sHAAsH;QACtH,OAAO,IAAI,CAAC,GAAG,CAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAEQ,KAAK,CAAC,kBAAkB,CAAmB,MAAe,EAAE,OAAY;QAC/E,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAG,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,8EAA8E;QAC9E,wFAAwF;QACxF,yFAAyF;QACzF,0FAA0F;QAC1F,MAAM,WAAW,GACf,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,WAAW;YAC3C,CAAC,CAAC,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;QAClG,+FAA+F;QAC/F,8FAA8F;QAC9F,IAAI,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACnF,IAAI,CAAC,kBAAkB,KAAK,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACjE,CAAC;QACD,yFAAyF;QACzF,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC;QACxF,MAAM,UAAU,GAAiB,EAAE,CAAC;QACpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACxC,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACzD,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBAC1B,IAAI,WAAW,EAAE,CAAC;oBAChB,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK,CAAoB,CAAC;gBAC9C,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,UAAU,CAAC;IACpB,CAAC;IAEQ,KAAK,CAAC,kBAAkB,CAC/B,MAAe,EACf,CAAiB,EACjB,OAAyB,EACzB,IAAmB;QAEnB,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,KAAK,CAAC,SAAS,CAAmB,MAAe,EAAE,aAAoC,EAAE,OAAU;QAC1G,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAmB,MAAe,EAAE,aAAoC,EAAE,OAAY;QAC7G,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACxB,CAAC;QACD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAEkB,KAAK,CAAC,kBAAkB,CACzC,MAAe,EACf,CAAiB,EACjB,IAAmB;QAEnB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,yGAAyG;QACzG,MAAM,QAAQ,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACvG,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAG,CAAC,EAAE,IAAI,EAAE,EAAc,EAAE,QAAQ,CAAC,CAAC;QAClG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAI,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAG,CAAC,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAa,kBAAkB;QAC7B,OAAO,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAGc,AAAN,KAAK,CAAC,gBAAgB,CAAC,IAAyB;QACvD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,uBAAuB,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACpF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACpC,CAAC;IAGc,AAAN,KAAK,CAAC,iBAAiB;QAC9B,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,yBAAyB,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAC9D,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;IAGc,AAAN,KAAK,CAAC,mBAAmB;QAChC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,yBAAyB,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAChE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;CACF;AAjQO;IADL,UAAU,EAAE;;;;6CAIZ;AAGa;IADb,GAAG,EAAE;;;;kDAGL;AAGK;IADL,UAAU,EAAE;;;;6CAIZ;AAGa;IADb,GAAG,EAAE;;;;kDAGL;AAiNc;IADd,UAAU,EAAE;;;;0DAWZ;AAGc;IADd,UAAU,EAAE;;;;2DAOZ;AAGc;IADd,UAAU,EAAE;;;;6DAOZ"}
|
|
@@ -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
|
-
|
|
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
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"sqliteDialect.js","sourceRoot":"","sources":["../../src/sqlite/sqliteDialect.ts"],"names":[],"mappings":"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"}
|
package/dist/type/entity.d.ts
CHANGED
|
@@ -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
|
|
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[]>>;
|