@spinajs/orm-sqlite 2.0.480 → 2.0.482
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/README.md +63 -3
- package/lib/cjs/compilers.d.ts +52 -1
- package/lib/cjs/compilers.d.ts.map +1 -1
- package/lib/cjs/compilers.js +105 -5
- package/lib/cjs/compilers.js.map +1 -1
- package/lib/cjs/converters.d.ts.map +1 -1
- package/lib/cjs/converters.js +20 -2
- package/lib/cjs/converters.js.map +1 -1
- package/lib/cjs/index.d.ts +46 -5
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +170 -88
- package/lib/cjs/index.js.map +1 -1
- package/lib/mjs/compilers.d.ts +52 -1
- package/lib/mjs/compilers.d.ts.map +1 -1
- package/lib/mjs/compilers.js +106 -6
- package/lib/mjs/compilers.js.map +1 -1
- package/lib/mjs/converters.d.ts.map +1 -1
- package/lib/mjs/converters.js +20 -2
- package/lib/mjs/converters.js.map +1 -1
- package/lib/mjs/index.d.ts +46 -5
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +173 -91
- package/lib/mjs/index.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +18 -19
package/lib/mjs/compilers.js
CHANGED
|
@@ -9,9 +9,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
9
9
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
10
10
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
11
11
|
};
|
|
12
|
-
import { SqlColumnQueryCompiler, SqlTableQueryCompiler, SqlOnDuplicateQueryCompiler, SqlInsertQueryCompiler } from '@spinajs/orm-sql';
|
|
13
|
-
import { OrderByBuilder, OrderByQueryCompiler, RawQuery, OnDuplicateQueryBuilder, InsertQueryBuilder, TableExistsQueryBuilder, OrmException, TableQueryCompiler, TableQueryBuilder, TableAliasCompiler } from '@spinajs/orm';
|
|
12
|
+
import { SqlColumnQueryCompiler, SqlTableQueryCompiler, SqlOnDuplicateQueryCompiler, SqlInsertQueryCompiler, SqlAlterColumnQueryCompiler } from '@spinajs/orm-sql';
|
|
13
|
+
import { OrderByBuilder, OrderByQueryCompiler, RawQuery, OnDuplicateQueryBuilder, InsertQueryBuilder, TableExistsQueryBuilder, OrmException, TableQueryCompiler, TableQueryBuilder, TableAliasCompiler, ColumnAlterationType } from '@spinajs/orm';
|
|
14
14
|
import { NewInstance, Inject, Container } from '@spinajs/di';
|
|
15
|
+
import { Logger, Log } from '@spinajs/log';
|
|
15
16
|
import _ from 'lodash';
|
|
16
17
|
let SqliteTruncateTableQueryCompiler = class SqliteTruncateTableQueryCompiler extends TableQueryCompiler {
|
|
17
18
|
constructor(container, builder) {
|
|
@@ -116,13 +117,30 @@ SqliteTableExistsCompiler = __decorate([
|
|
|
116
117
|
export { SqliteTableExistsCompiler };
|
|
117
118
|
let SqliteTableQueryCompiler = class SqliteTableQueryCompiler extends SqlTableQueryCompiler {
|
|
118
119
|
compile() {
|
|
120
|
+
const pkColumns = this.builder.Columns.filter((c) => c.PrimaryKey);
|
|
121
|
+
// SQLite has no syntax for two inline PRIMARY KEY column constraints - it rejects
|
|
122
|
+
// `table ... has more than one primary key` - and AUTOINCREMENT is only legal on a single
|
|
123
|
+
// INTEGER PRIMARY KEY. Composite keys therefore move to a table-level constraint and
|
|
124
|
+
// cannot include an auto-increment column.
|
|
125
|
+
if (pkColumns.length > 1) {
|
|
126
|
+
const auto = pkColumns.find((c) => c.AutoIncrement);
|
|
127
|
+
if (auto) {
|
|
128
|
+
throw new OrmException(`sqlite cannot auto-increment column ${auto.Name}: it is part of the composite primary key of ${this.builder.Table}`);
|
|
129
|
+
}
|
|
130
|
+
pkColumns.forEach((c) => (c.InlinePrimaryKey = false));
|
|
131
|
+
}
|
|
119
132
|
const _table = this._table();
|
|
120
133
|
const _columns = this._columns();
|
|
121
134
|
const _foreignKeys = this._foreignKeys();
|
|
135
|
+
const _primaryKey = pkColumns.length > 1 ? this._primaryKeys() : '';
|
|
136
|
+
// Built by concatenation rather than one template literal so that a table with neither a
|
|
137
|
+
// table-level primary key nor foreign keys emits byte-identically to the pre-composite
|
|
138
|
+
// compiler ( a template with two empty interpolations leaves a double space behind ).
|
|
139
|
+
const _extra = `${_primaryKey ? ',' + _primaryKey : ''}${_foreignKeys ? ',' + _foreignKeys : ''}`;
|
|
122
140
|
return [
|
|
123
141
|
{
|
|
124
142
|
bindings: [],
|
|
125
|
-
expression: `${_table} (${_columns}
|
|
143
|
+
expression: `${_table} (${_columns}${_extra} )`,
|
|
126
144
|
},
|
|
127
145
|
];
|
|
128
146
|
}
|
|
@@ -141,11 +159,23 @@ let SqliteInsertQueryCompiler = class SqliteInsertQueryCompiler extends SqlInser
|
|
|
141
159
|
const columns = this.columns();
|
|
142
160
|
const values = this.values();
|
|
143
161
|
const upsort = this.upsort();
|
|
162
|
+
const returning = this.returning();
|
|
144
163
|
return {
|
|
145
164
|
bindings: values.bindings.concat(upsort.bindings),
|
|
146
|
-
expression: `${into} ${columns} ${values.data} ${upsort.expression}`.trim(),
|
|
165
|
+
expression: `${into} ${columns} ${values.data} ${upsort.expression}${returning}`.trim(),
|
|
147
166
|
};
|
|
148
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* RETURNING on a plain INSERT. Skipped when an upsert clause is present — the ON CONFLICT
|
|
170
|
+
* compiler emits its own RETURNING and two would be invalid SQL.
|
|
171
|
+
*/
|
|
172
|
+
returning() {
|
|
173
|
+
if (this._builder.Update || this._builder.Returning.length === 0) {
|
|
174
|
+
return '';
|
|
175
|
+
}
|
|
176
|
+
const cols = this._builder.Returning[0] === '*' ? ['*'] : this._builder.Returning.map((c) => `\`${c}\``);
|
|
177
|
+
return ` RETURNING ${cols.join(',')}`;
|
|
178
|
+
}
|
|
149
179
|
into() {
|
|
150
180
|
return `INSERT${this._builder.Ignore ? ' OR IGNORE' : ''}${this._builder.Replace ? ' OR REPLACE' : ''} INTO \`${this._builder.Table}\``;
|
|
151
181
|
}
|
|
@@ -195,7 +225,7 @@ let SqliteColumnCompiler = class SqliteColumnCompiler extends SqlColumnQueryComp
|
|
|
195
225
|
_stmt.push('INTEGER');
|
|
196
226
|
break;
|
|
197
227
|
case 'boolean':
|
|
198
|
-
_stmt.push(
|
|
228
|
+
_stmt.push(this._booleanDefinition());
|
|
199
229
|
break;
|
|
200
230
|
}
|
|
201
231
|
if (this.builder.Unsigned) {
|
|
@@ -216,7 +246,7 @@ let SqliteColumnCompiler = class SqliteColumnCompiler extends SqlColumnQueryComp
|
|
|
216
246
|
if (this.builder.Comment) {
|
|
217
247
|
_stmt.push(`COMMENT '${this.builder.Comment}'`);
|
|
218
248
|
}
|
|
219
|
-
if (this.builder.PrimaryKey) {
|
|
249
|
+
if (this.builder.PrimaryKey && this.builder.InlinePrimaryKey) {
|
|
220
250
|
_stmt.push(`PRIMARY KEY`);
|
|
221
251
|
}
|
|
222
252
|
if (this.builder.AutoIncrement) {
|
|
@@ -230,6 +260,14 @@ let SqliteColumnCompiler = class SqliteColumnCompiler extends SqlColumnQueryComp
|
|
|
230
260
|
expression: _stmt.filter((x) => !_.isEmpty(x)).join(' '),
|
|
231
261
|
};
|
|
232
262
|
}
|
|
263
|
+
/**
|
|
264
|
+
* CREATE TABLE renders a boolean as a non-nullable 0/1 domain.
|
|
265
|
+
* Overridable: ADD COLUMN cannot carry an unconditional NOT NULL - see
|
|
266
|
+
* {@link SqliteAddColumnCompiler}.
|
|
267
|
+
*/
|
|
268
|
+
_booleanDefinition() {
|
|
269
|
+
return `BOOLEAN NOT NULL CHECK ( \`${this.builder.Name}\` IN (0, 1))`;
|
|
270
|
+
}
|
|
233
271
|
_defaultCompiler() {
|
|
234
272
|
let _stmt = '';
|
|
235
273
|
if (_.isNil(this.builder.Default) || (_.isString(this.builder.Default) && _.isEmpty(this.builder.Default.trim()))) {
|
|
@@ -251,4 +289,66 @@ SqliteColumnCompiler = __decorate([
|
|
|
251
289
|
NewInstance()
|
|
252
290
|
], SqliteColumnCompiler);
|
|
253
291
|
export { SqliteColumnCompiler };
|
|
292
|
+
/**
|
|
293
|
+
* Column body for `ALTER TABLE ... ADD COLUMN`.
|
|
294
|
+
*
|
|
295
|
+
* sqlite refuses to add a NOT NULL column without a non-null default, so the
|
|
296
|
+
* unconditional NOT NULL that CREATE TABLE bakes into a boolean makes every
|
|
297
|
+
* boolean add fail against a table that already holds rows. The CHECK is kept -
|
|
298
|
+
* it is legal in ADD COLUMN and still enforces the 0/1 domain - and NOT NULL is
|
|
299
|
+
* left to the generic `notNull()` flag, so `.notNull().default().value(0)` still
|
|
300
|
+
* yields a non-nullable column.
|
|
301
|
+
*/
|
|
302
|
+
let SqliteAddColumnCompiler = class SqliteAddColumnCompiler extends SqliteColumnCompiler {
|
|
303
|
+
_booleanDefinition() {
|
|
304
|
+
return `BOOLEAN CHECK ( \`${this.builder.Name}\` IN (0, 1))`;
|
|
305
|
+
}
|
|
306
|
+
};
|
|
307
|
+
SqliteAddColumnCompiler = __decorate([
|
|
308
|
+
NewInstance()
|
|
309
|
+
], SqliteAddColumnCompiler);
|
|
310
|
+
export { SqliteAddColumnCompiler };
|
|
311
|
+
let SqliteAlterColumnQueryCompiler = class SqliteAlterColumnQueryCompiler extends SqlAlterColumnQueryCompiler {
|
|
312
|
+
/**
|
|
313
|
+
* The ADD path needs a body free of CREATE-TABLE-only syntax.
|
|
314
|
+
*
|
|
315
|
+
* Note PRIMARY KEY / UNIQUE are deliberately NOT stripped here: sqlite cannot
|
|
316
|
+
* add such a column at all (it rejects both the mysql and the sqlite spelling),
|
|
317
|
+
* so suppressing the clause would silently produce a column WITHOUT the
|
|
318
|
+
* constraint the caller asked for. Letting sqlite's own error surface is honest.
|
|
319
|
+
*/
|
|
320
|
+
_columnDefinition() {
|
|
321
|
+
if (this.builder.AlterType === ColumnAlterationType.Add) {
|
|
322
|
+
return this.container.resolve(SqliteAddColumnCompiler, [this.builder]).compile();
|
|
323
|
+
}
|
|
324
|
+
return super._columnDefinition();
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* sqlite cannot change a column's type: it has no MODIFY / ALTER COLUMN.
|
|
328
|
+
* It is also dynamically typed and renders enum/string/date as unconstrained
|
|
329
|
+
* TEXT, so a type-only change is a semantic no-op here anyway.
|
|
330
|
+
*
|
|
331
|
+
* Constraint changes (NOT NULL / DEFAULT / UNIQUE) ARE enforced by sqlite and
|
|
332
|
+
* are NOT applied - they need an explicit table-rebuild migration. Warn rather
|
|
333
|
+
* than throw: portable migrations legitimately restate existing constraints
|
|
334
|
+
* (mysql's MODIFY drops any attribute you omit), and throwing would break them.
|
|
335
|
+
*/
|
|
336
|
+
_modify(_definition) {
|
|
337
|
+
this.Log.warn(`sqlite cannot MODIFY column '${this.builder.Name}' - skipping. Type changes are a no-op (sqlite is dynamically typed); any NOT NULL / DEFAULT / UNIQUE change was NOT applied. Write an explicit table-rebuild migration if you need one.`);
|
|
338
|
+
return null;
|
|
339
|
+
}
|
|
340
|
+
_add(definition) {
|
|
341
|
+
// AFTER is mysql-only; sqlite rejects it
|
|
342
|
+
return `ADD ${definition}`;
|
|
343
|
+
}
|
|
344
|
+
};
|
|
345
|
+
__decorate([
|
|
346
|
+
Logger('ORM'),
|
|
347
|
+
__metadata("design:type", Log)
|
|
348
|
+
], SqliteAlterColumnQueryCompiler.prototype, "Log", void 0);
|
|
349
|
+
SqliteAlterColumnQueryCompiler = __decorate([
|
|
350
|
+
NewInstance(),
|
|
351
|
+
Inject(Container)
|
|
352
|
+
], SqliteAlterColumnQueryCompiler);
|
|
353
|
+
export { SqliteAlterColumnQueryCompiler };
|
|
254
354
|
//# sourceMappingURL=compilers.js.map
|
package/lib/mjs/compilers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compilers.js","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compilers.js","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../../src/converters.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAA8B,MAAM,cAAc,CAAC;AAE1F,qBAAa,yBAA0B,SAAQ,mBAAmB;IACzD,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../../src/converters.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAA8B,MAAM,cAAc,CAAC;AAE1F,qBAAa,yBAA0B,SAAQ,mBAAmB;IACzD,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO;CAqDjD"}
|
package/lib/mjs/converters.js
CHANGED
|
@@ -7,7 +7,14 @@ export class SqliteModelToSqlConverter extends ModelToSqlConverter {
|
|
|
7
7
|
toSql(model) {
|
|
8
8
|
const obj = {};
|
|
9
9
|
const relArr = [...model.ModelDescriptor.Relations.values()];
|
|
10
|
-
|
|
10
|
+
// Foreign-key columns are normally written via their relation (the loop
|
|
11
|
+
// below sets obj[ForeignKey] from the related model). But a FK column with no
|
|
12
|
+
// backing relation on the model (e.g. a plain owner-id column such as
|
|
13
|
+
// user_sessions.UserId) would otherwise never be serialized at all, breaking
|
|
14
|
+
// INSERTs that hit its NOT NULL constraint. So only skip FK columns that an
|
|
15
|
+
// actual relation manages; serialize unrelated FK columns like normal ones.
|
|
16
|
+
const relationForeignKeys = new Set(relArr.map((r) => r.ForeignKey));
|
|
17
|
+
model.ModelDescriptor.Columns?.filter((x) => !x.IsForeignKey || !relationForeignKeys.has(x.Name)).forEach((c) => {
|
|
11
18
|
const val = model[c.Name];
|
|
12
19
|
if (!c.PrimaryKey && !c.Nullable && (val === null || val === undefined || val === '')) {
|
|
13
20
|
throw new OrmException(`Field ${c.Name} cannot be null`);
|
|
@@ -22,9 +29,20 @@ export class SqliteModelToSqlConverter extends ModelToSqlConverter {
|
|
|
22
29
|
});
|
|
23
30
|
for (const val of relArr) {
|
|
24
31
|
if (val.Type === RelationType.One) {
|
|
25
|
-
if (model[val.Name]
|
|
32
|
+
if (model[val.Name]?.Value) {
|
|
26
33
|
obj[val.ForeignKey] = model[val.Name].Value.PrimaryKeyValue;
|
|
27
34
|
}
|
|
35
|
+
else if (model[val.ForeignKey] != null) {
|
|
36
|
+
// Fallback: when the BelongsTo SingleRelation has no Value (e.g. the relation was
|
|
37
|
+
// never populated, or the foreign key was written directly), fall back to the raw
|
|
38
|
+
// FK column. Without this the column is dropped from every payload, because the
|
|
39
|
+
// filter above already excluded it as relation-managed - so a row whose owner
|
|
40
|
+
// changed would silently keep its old foreign key.
|
|
41
|
+
//
|
|
42
|
+
// Mirrors StandardModelToSqlConverter in @spinajs/orm, which grew this branch
|
|
43
|
+
// while this override did not.
|
|
44
|
+
obj[val.ForeignKey] = model[val.ForeignKey];
|
|
45
|
+
}
|
|
28
46
|
}
|
|
29
47
|
// HACK: This is a hack to fix the issue with the recursive relation
|
|
30
48
|
// recursive relations usually dont ahve set @belongsTo but @HasMany decorator and are not in list of relaitons
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converters.js","sourceRoot":"","sources":["../../src/converters.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,uDAAuD;AACvD,+DAA+D;AAC/D,4DAA4D;AAC5D,OAAO,EAAa,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1F,MAAM,OAAO,yBAA0B,SAAQ,mBAAmB;IACzD,KAAK,CAAC,KAAyB;QACpC,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,eAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAE9D,KAAK,CAAC,eAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"converters.js","sourceRoot":"","sources":["../../src/converters.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,uDAAuD;AACvD,+DAA+D;AAC/D,4DAA4D;AAC5D,OAAO,EAAa,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1F,MAAM,OAAO,yBAA0B,SAAQ,mBAAmB;IACzD,KAAK,CAAC,KAAyB;QACpC,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,eAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAE9D,wEAAwE;QACxE,8EAA8E;QAC9E,sEAAsE;QACtE,6EAA6E;QAC7E,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAErE,KAAK,CAAC,eAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/G,MAAM,GAAG,GAAI,KAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;gBACtF,MAAM,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC;YAC3D,CAAC;YAED,gCAAgC;YAChC,6DAA6D;YAC7D,+DAA+D;YAC/D,4EAA4E;YAC5E,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO;YAE7B,GAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,eAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACrI,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,GAAG,EAAE,CAAC;gBAClC,IAAK,KAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;oBACnC,GAAW,CAAC,GAAG,CAAC,UAAU,CAAC,GAAI,KAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;gBAChF,CAAC;qBAAM,IAAK,KAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;oBAClD,kFAAkF;oBAClF,kFAAkF;oBAClF,gFAAgF;oBAChF,8EAA8E;oBAC9E,mDAAmD;oBACnD,EAAE;oBACF,8EAA8E;oBAC9E,+BAA+B;oBAC9B,GAAW,CAAC,GAAG,CAAC,UAAU,CAAC,GAAI,KAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;YAED,oEAAoE;YACpE,gHAAgH;YAChH,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBACjB,GAAW,CAAC,GAAG,CAAC,UAAU,CAAC,GAAI,KAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
|
package/lib/mjs/index.d.ts
CHANGED
|
@@ -1,23 +1,64 @@
|
|
|
1
1
|
export * from './compilers.js';
|
|
2
|
-
import { IColumnDescriptor, QueryContext, OrmDriver,
|
|
2
|
+
import { IColumnDescriptor, QueryContext, OrmDriver, ServerResponseMapper, ISupportedFeature, IsolationLevel, ITransactionContext, ITransactionOptions, IPoolMetrics } from '@spinajs/orm';
|
|
3
3
|
import sqlite3 from 'sqlite3';
|
|
4
4
|
import { SqlDriver } from '@spinajs/orm-sql';
|
|
5
5
|
export declare class SqliteServerResponseMapper extends ServerResponseMapper {
|
|
6
|
-
read(data: any,
|
|
6
|
+
read(data: any, pkNames?: string[]): {
|
|
7
|
+
RowsAffected: any;
|
|
7
8
|
LastInsertId: any;
|
|
9
|
+
Returning: any;
|
|
8
10
|
};
|
|
9
11
|
}
|
|
10
12
|
export declare class SqliteOrmDriver extends SqlDriver {
|
|
11
|
-
protected executionId: number;
|
|
12
13
|
protected Db: sqlite3.Database;
|
|
13
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Read-only handles. SQLite serializes writers at the file level no matter how many handles are
|
|
16
|
+
* open, so a second WRITER handle buys nothing and invites SQLITE_BUSY; extra READ handles do
|
|
17
|
+
* parallelize SELECTs. Empty for `:memory:` and anonymous temporary databases, where each handle
|
|
18
|
+
* would open its own private database, and when `Pool.Max` is 1.
|
|
19
|
+
*/
|
|
20
|
+
protected ReadPool: sqlite3.Database[];
|
|
21
|
+
private _readCursor;
|
|
22
|
+
/**
|
|
23
|
+
* sqlite3 outside shared-cache mode serializes access to the database file, which is
|
|
24
|
+
* SERIALIZABLE and nothing else. Any other requested level is rejected by the base class
|
|
25
|
+
* rather than silently ignored.
|
|
26
|
+
*/
|
|
27
|
+
readonly SupportedIsolationLevels: IsolationLevel[];
|
|
28
|
+
/**
|
|
29
|
+
* Picks the handle for a query. Everything that mutates, changes schema, or runs inside a
|
|
30
|
+
* transaction stays on the single writer handle — scattering a transaction's statements across
|
|
31
|
+
* handles would run them outside the transaction, and a read handle cannot see uncommitted
|
|
32
|
+
* writes made on the writer.
|
|
33
|
+
*/
|
|
34
|
+
protected handleFor(queryContext: QueryContext): sqlite3.Database;
|
|
35
|
+
/**
|
|
36
|
+
* The writer handle plus every read handle. SQLite has no queue of waiting callers — sqlite3
|
|
37
|
+
* serializes internally per handle — so InUse and Waiting are always zero.
|
|
38
|
+
*/
|
|
39
|
+
poolMetrics(): IPoolMetrics;
|
|
14
40
|
executeOnDb(stmt: string, params: unknown[], queryContext: QueryContext): Promise<unknown>;
|
|
15
41
|
supportedFeatures(): ISupportedFeature;
|
|
16
42
|
ping(): Promise<boolean>;
|
|
17
43
|
connect(): Promise<OrmDriver>;
|
|
44
|
+
/**
|
|
45
|
+
* Opens `Pool.Max - 1` read-only handles. Skipped for `:memory:` and for anonymous temporary
|
|
46
|
+
* databases, where every handle gets its own private database and a read pool would query empty
|
|
47
|
+
* files. A handle that fails to open is dropped rather than failing the connection — the driver
|
|
48
|
+
* is fully usable on the writer alone.
|
|
49
|
+
*/
|
|
50
|
+
protected openReadPool(filename: string): Promise<void>;
|
|
51
|
+
/** Closes every read handle. Safe to call when none are open. */
|
|
52
|
+
protected closeReadPool(): Promise<void>;
|
|
18
53
|
disconnect(): Promise<OrmDriver>;
|
|
19
54
|
resolve(): void;
|
|
20
|
-
|
|
55
|
+
protected _begin(_options?: ITransactionOptions): Promise<ITransactionContext>;
|
|
56
|
+
protected _commit(_ctx: ITransactionContext): Promise<void>;
|
|
57
|
+
protected _rollback(_ctx: ITransactionContext): Promise<void>;
|
|
58
|
+
protected _savepoint(_ctx: ITransactionContext, name: string): Promise<void>;
|
|
59
|
+
protected _releaseSavepoint(_ctx: ITransactionContext, name: string): Promise<void>;
|
|
60
|
+
protected _rollbackToSavepoint(_ctx: ITransactionContext, name: string): Promise<void>;
|
|
61
|
+
protected _dispose(_ctx: ITransactionContext): Promise<void>;
|
|
21
62
|
/**
|
|
22
63
|
*
|
|
23
64
|
* Retrieves information about specific DB table if exists. If table not exists returns null
|
package/lib/mjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AASA,cAAc,gBAAgB,CAAC;AAO/B,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAqE,SAAS,EAA+M,oBAAoB,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAmB,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5d,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAoB,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAS/D,qBAAa,0BAA2B,SAAQ,oBAAoB;IAC3D,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE;;;;;CAuB1C;AAED,qBAEa,eAAgB,SAAQ,SAAS;IAC5C,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC;IAE/B;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAM;IAE5C,OAAO,CAAC,WAAW,CAAM;IAEzB;;;;OAIG;IACH,SAAgB,wBAAwB,EAAE,cAAc,EAAE,CAAoB;IAK9E;;;;;OAKG;IACH,SAAS,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ;IAcjE;;;OAGG;IACI,WAAW,IAAI,YAAY;IAQ3B,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IA4H1F,iBAAiB,IAAI,iBAAiB;IAMhC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IA2B1C;;;;;OAKG;cACa,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B7D,iEAAiE;cACjD,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAuBtC,OAAO;cAiBE,MAAM,CAAC,QAAQ,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;cAQpE,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAIjD,SAAS,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAMnD,UAAU,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAIlE,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAIzE,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAI5E,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE;;;;;;OAMG;IACU,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CA4DrF"}
|