@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/cjs/index.js
CHANGED
|
@@ -32,8 +32,12 @@ const compilers_js_1 = require("./compilers.js");
|
|
|
32
32
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
33
33
|
/* eslint-disable @typescript-eslint/require-await */
|
|
34
34
|
/* eslint-disable prettier/prettier */
|
|
35
|
-
const log_common_1 = require("@spinajs/log-common");
|
|
36
35
|
__exportStar(require("./compilers.js"), exports);
|
|
36
|
+
// Union of all three sides: AlterColumnQueryCompiler is master's, and is registered below;
|
|
37
|
+
// IsolationLevel / ITransactionContext / ITransactionOptions are the transaction contract from
|
|
38
|
+
// orm-foundation; ConnectionState / IPoolMetrics are the connection-resilience additions from
|
|
39
|
+
// orm-infra. QueryBuilder / TransactionCallback / ITransaction went with the old
|
|
40
|
+
// `{ commit, rollback }` shape.
|
|
37
41
|
const orm_1 = require("@spinajs/orm");
|
|
38
42
|
const sqlite3_1 = __importDefault(require("sqlite3"));
|
|
39
43
|
const orm_sql_1 = require("@spinajs/orm-sql");
|
|
@@ -44,9 +48,25 @@ const configuration_1 = require("@spinajs/configuration");
|
|
|
44
48
|
const builders_js_1 = require("./builders.js");
|
|
45
49
|
const converters_js_1 = require("./converters.js");
|
|
46
50
|
class SqliteServerResponseMapper extends orm_1.ServerResponseMapper {
|
|
47
|
-
read(data,
|
|
51
|
+
read(data, pkNames) {
|
|
52
|
+
// Upsert and returning-inserts resolve with the RETURNING rows; plain runs resolve with
|
|
53
|
+
// { RowsAffected, LastInsertId }.
|
|
54
|
+
if (Array.isArray(data)) {
|
|
55
|
+
const last = data.length !== 0 ? data[data.length - 1] : undefined;
|
|
56
|
+
const key = pkNames && pkNames.length === 1 && last ? last[pkNames[0]] : 0;
|
|
57
|
+
return {
|
|
58
|
+
RowsAffected: data.length,
|
|
59
|
+
// A uuid / assigned key is not a number and has no identity semantics.
|
|
60
|
+
LastInsertId: typeof key === 'number' ? key : 0,
|
|
61
|
+
Returning: data,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
// A RETURNING insert already arrives normalized by executeOnDb, carrying its rows; a plain
|
|
65
|
+
// run carries none. Passing the rows through is what lets the caller read generated keys.
|
|
48
66
|
return {
|
|
49
|
-
|
|
67
|
+
RowsAffected: data?.RowsAffected ?? 0,
|
|
68
|
+
LastInsertId: data?.LastInsertId ?? 0,
|
|
69
|
+
Returning: Array.isArray(data?.Returning) ? data.Returning : [],
|
|
50
70
|
};
|
|
51
71
|
}
|
|
52
72
|
}
|
|
@@ -54,11 +74,50 @@ exports.SqliteServerResponseMapper = SqliteServerResponseMapper;
|
|
|
54
74
|
let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
55
75
|
constructor() {
|
|
56
76
|
super(...arguments);
|
|
57
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Read-only handles. SQLite serializes writers at the file level no matter how many handles are
|
|
79
|
+
* open, so a second WRITER handle buys nothing and invites SQLITE_BUSY; extra READ handles do
|
|
80
|
+
* parallelize SELECTs. Empty for `:memory:` and anonymous temporary databases, where each handle
|
|
81
|
+
* would open its own private database, and when `Pool.Max` is 1.
|
|
82
|
+
*/
|
|
83
|
+
this.ReadPool = [];
|
|
84
|
+
this._readCursor = -1;
|
|
85
|
+
/**
|
|
86
|
+
* sqlite3 outside shared-cache mode serializes access to the database file, which is
|
|
87
|
+
* SERIALIZABLE and nothing else. Any other requested level is rejected by the base class
|
|
88
|
+
* rather than silently ignored.
|
|
89
|
+
*/
|
|
90
|
+
this.SupportedIsolationLevels = ['SERIALIZABLE'];
|
|
91
|
+
}
|
|
92
|
+
// getNextExecutionId() went with the per-driver query timing that master centralised into
|
|
93
|
+
// `Perf.measure('orm.query', ...)` around SqlDriver.execute — its only caller is gone.
|
|
94
|
+
/**
|
|
95
|
+
* Picks the handle for a query. Everything that mutates, changes schema, or runs inside a
|
|
96
|
+
* transaction stays on the single writer handle — scattering a transaction's statements across
|
|
97
|
+
* handles would run them outside the transaction, and a read handle cannot see uncommitted
|
|
98
|
+
* writes made on the writer.
|
|
99
|
+
*/
|
|
100
|
+
handleFor(queryContext) {
|
|
101
|
+
if (this.ReadPool.length === 0 || queryContext !== orm_1.QueryContext.Select) {
|
|
102
|
+
return this.Db;
|
|
103
|
+
}
|
|
104
|
+
if (this.TransactionStorage.getStore()) {
|
|
105
|
+
return this.Db;
|
|
106
|
+
}
|
|
107
|
+
this._readCursor = (this._readCursor + 1) % this.ReadPool.length;
|
|
108
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
109
|
+
return this.ReadPool[this._readCursor];
|
|
58
110
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
111
|
+
/**
|
|
112
|
+
* The writer handle plus every read handle. SQLite has no queue of waiting callers — sqlite3
|
|
113
|
+
* serializes internally per handle — so InUse and Waiting are always zero.
|
|
114
|
+
*/
|
|
115
|
+
poolMetrics() {
|
|
116
|
+
return {
|
|
117
|
+
Size: this.Db ? this.ReadPool.length + 1 : 0,
|
|
118
|
+
InUse: 0,
|
|
119
|
+
Waiting: 0,
|
|
120
|
+
};
|
|
62
121
|
}
|
|
63
122
|
executeOnDb(stmt, params, queryContext) {
|
|
64
123
|
const queryParams = params ?? [];
|
|
@@ -66,13 +125,12 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
66
125
|
if (!this.Db) {
|
|
67
126
|
throw new Error('cannot execute sqlite statement, no db connection avaible');
|
|
68
127
|
}
|
|
69
|
-
const
|
|
70
|
-
this.Log.timeStart(`query-${tName}`);
|
|
128
|
+
const handle = this.handleFor(queryContext);
|
|
71
129
|
return new Promise((resolve, reject) => {
|
|
72
130
|
switch (queryContext) {
|
|
73
131
|
case orm_1.QueryContext.Update:
|
|
74
132
|
case orm_1.QueryContext.Delete:
|
|
75
|
-
|
|
133
|
+
handle.run(stmt, ...queryParams, function (err) {
|
|
76
134
|
if (err) {
|
|
77
135
|
reject(new orm_1.OrmException(`Failed to execute query`, {
|
|
78
136
|
Host: self.Options.Host,
|
|
@@ -88,7 +146,8 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
88
146
|
break;
|
|
89
147
|
case orm_1.QueryContext.Select:
|
|
90
148
|
case orm_1.QueryContext.Upsert:
|
|
91
|
-
|
|
149
|
+
case orm_1.QueryContext.InsertReturning:
|
|
150
|
+
handle.all(stmt, ...queryParams, (err, rows) => {
|
|
92
151
|
if (err) {
|
|
93
152
|
reject(new orm_1.OrmException(`Failed to execute query`, {
|
|
94
153
|
Host: self.Options.Host,
|
|
@@ -97,11 +156,22 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
97
156
|
}, stmt, params ? params.join(',') : 'none', err));
|
|
98
157
|
return;
|
|
99
158
|
}
|
|
159
|
+
// A RETURNING insert resolves with rows, so it must be normalized into the same
|
|
160
|
+
// IInsertResult shape the Db.run path produces.
|
|
161
|
+
if (queryContext === orm_1.QueryContext.InsertReturning) {
|
|
162
|
+
const returned = rows ?? [];
|
|
163
|
+
resolve({
|
|
164
|
+
RowsAffected: returned.length,
|
|
165
|
+
LastInsertId: 0,
|
|
166
|
+
Returning: returned,
|
|
167
|
+
});
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
100
170
|
resolve(rows);
|
|
101
171
|
});
|
|
102
172
|
break;
|
|
103
173
|
case orm_1.QueryContext.Insert:
|
|
104
|
-
|
|
174
|
+
handle.run(stmt, ...queryParams, function (err) {
|
|
105
175
|
if (err) {
|
|
106
176
|
if (err.code === 'SQLITE_CONSTRAINT') {
|
|
107
177
|
reject(new exceptions_1.ResourceDuplicated(err));
|
|
@@ -121,13 +191,14 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
121
191
|
resolve({
|
|
122
192
|
RowsAffected: this.changes,
|
|
123
193
|
LastInsertId: this.lastID,
|
|
194
|
+
Returning: [],
|
|
124
195
|
});
|
|
125
196
|
});
|
|
126
197
|
break;
|
|
127
198
|
case orm_1.QueryContext.Schema:
|
|
128
199
|
case orm_1.QueryContext.Transaction:
|
|
129
200
|
default:
|
|
130
|
-
|
|
201
|
+
handle.run(stmt, ...queryParams, (err, data) => {
|
|
131
202
|
if (err) {
|
|
132
203
|
reject(new orm_1.OrmException(`Failed to execute query: ${stmt}, bindings: ${params ? params.join(',') : 'none'}`));
|
|
133
204
|
return;
|
|
@@ -136,63 +207,75 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
136
207
|
});
|
|
137
208
|
break;
|
|
138
209
|
}
|
|
139
|
-
})
|
|
140
|
-
.then((val) => {
|
|
141
|
-
const tDiff = this.Log.timeEnd(`query-${tName}`);
|
|
142
|
-
void this.Log.write({
|
|
143
|
-
Level: log_common_1.LogLevel.Trace,
|
|
144
|
-
Variables: {
|
|
145
|
-
error: undefined,
|
|
146
|
-
message: `Executed: ${stmt}, bindings: ${params ? params.join(',') : 'none'}`,
|
|
147
|
-
logger: this.Log.Name,
|
|
148
|
-
level: 'TRACE',
|
|
149
|
-
duration: tDiff,
|
|
150
|
-
},
|
|
151
|
-
});
|
|
152
|
-
return val;
|
|
153
|
-
})
|
|
154
|
-
.catch((err) => {
|
|
155
|
-
const tDiff = this.Log.timeEnd(`query-${tName}`);
|
|
156
|
-
void this.Log.write({
|
|
157
|
-
Level: log_common_1.LogLevel.Error,
|
|
158
|
-
Variables: {
|
|
159
|
-
error: err,
|
|
160
|
-
message: `Failed: ${stmt}, bindings: ${params ? params.join(',') : 'none'}`,
|
|
161
|
-
logger: this.Log.Name,
|
|
162
|
-
level: 'Error',
|
|
163
|
-
duration: tDiff,
|
|
164
|
-
},
|
|
165
|
-
});
|
|
166
|
-
throw err;
|
|
167
210
|
});
|
|
168
211
|
}
|
|
169
212
|
supportedFeatures() {
|
|
170
|
-
|
|
213
|
+
// insertIdIsFirstOfBatch is false: sqlite3's `lastID` is the LAST rowid the statement
|
|
214
|
+
// produced, not the first. SQLite does not need it — it gets every key from RETURNING.
|
|
215
|
+
return { events: false, insertReturning: true, insertIdIsFirstOfBatch: false };
|
|
171
216
|
}
|
|
172
217
|
async ping() {
|
|
173
218
|
return this.Db !== null && this.Db !== undefined;
|
|
174
219
|
}
|
|
175
220
|
async connect() {
|
|
176
|
-
|
|
177
|
-
|
|
221
|
+
const filename = (0, configuration_1.format)({}, this.Options.Filename);
|
|
222
|
+
await new Promise((resolve, reject) => {
|
|
223
|
+
this.Db = new sqlite3_1.default.Database(filename, (err) => {
|
|
178
224
|
if (err) {
|
|
179
|
-
//
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
reject(err);
|
|
188
|
-
}
|
|
225
|
+
// Drop the handle, do NOT close it. sqlite3 never invokes the close callback for a
|
|
226
|
+
// database that failed to open, so closing here left this promise unsettled and
|
|
227
|
+
// `connect()` hung forever — an app pointed at a bad path, an unreadable file or a
|
|
228
|
+
// missing directory waited indefinitely instead of being told SQLITE_CANTOPEN.
|
|
229
|
+
// sqlite3 has already released whatever it allocated for a failed open; there is
|
|
230
|
+
// nothing here for us to clean up.
|
|
231
|
+
this.Db = null;
|
|
232
|
+
reject(err);
|
|
189
233
|
return;
|
|
190
234
|
}
|
|
191
|
-
resolve(
|
|
235
|
+
resolve();
|
|
192
236
|
});
|
|
193
237
|
});
|
|
238
|
+
await this.openReadPool(filename);
|
|
239
|
+
this.setState(orm_1.ConnectionState.Connected);
|
|
240
|
+
return this;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Opens `Pool.Max - 1` read-only handles. Skipped for `:memory:` and for anonymous temporary
|
|
244
|
+
* databases, where every handle gets its own private database and a read pool would query empty
|
|
245
|
+
* files. A handle that fails to open is dropped rather than failing the connection — the driver
|
|
246
|
+
* is fully usable on the writer alone.
|
|
247
|
+
*/
|
|
248
|
+
async openReadPool(filename) {
|
|
249
|
+
const max = this.resolvedPoolOptions().Max;
|
|
250
|
+
const normalized = filename.trim();
|
|
251
|
+
await this.closeReadPool();
|
|
252
|
+
if (max <= 1 || normalized === ':memory:' || normalized === '') {
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
const handles = await Promise.all(Array.from({ length: max - 1 }, () => new Promise((resolve) => {
|
|
256
|
+
const db = new sqlite3_1.default.Database(filename, sqlite3_1.default.OPEN_READONLY, (err) => {
|
|
257
|
+
if (err) {
|
|
258
|
+
this.Log.warn(`could not open a read-only sqlite handle for ${this.Options.Name}: ${err.message}`);
|
|
259
|
+
resolve(null);
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
resolve(db);
|
|
263
|
+
});
|
|
264
|
+
})));
|
|
265
|
+
this.ReadPool = handles.filter((h) => h !== null);
|
|
266
|
+
this._readCursor = -1;
|
|
267
|
+
}
|
|
268
|
+
/** Closes every read handle. Safe to call when none are open. */
|
|
269
|
+
async closeReadPool() {
|
|
270
|
+
const handles = this.ReadPool;
|
|
271
|
+
this.ReadPool = [];
|
|
272
|
+
this._readCursor = -1;
|
|
273
|
+
await Promise.all(handles.map((db) => new Promise((resolve) => db.close(() => resolve()))));
|
|
194
274
|
}
|
|
195
275
|
async disconnect() {
|
|
276
|
+
this.stopHealthCheck();
|
|
277
|
+
this.setState(orm_1.ConnectionState.Disconnected);
|
|
278
|
+
await this.closeReadPool();
|
|
196
279
|
if (!this.Db) {
|
|
197
280
|
return this;
|
|
198
281
|
}
|
|
@@ -210,6 +293,7 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
210
293
|
resolve() {
|
|
211
294
|
super.resolve();
|
|
212
295
|
this.Container.register(compilers_js_1.SqliteColumnCompiler).as(orm_1.ColumnQueryCompiler);
|
|
296
|
+
this.Container.register(compilers_js_1.SqliteAlterColumnQueryCompiler).as(orm_1.AlterColumnQueryCompiler);
|
|
213
297
|
this.Container.register(compilers_js_1.SqliteTableQueryCompiler).as(orm_1.TableQueryCompiler);
|
|
214
298
|
this.Container.register(compilers_js_1.SqliteOrderByCompiler).as(orm_1.OrderByQueryCompiler);
|
|
215
299
|
this.Container.register(statements_js_1.SqlLiteJoinStatement).as(orm_1.JoinStatement);
|
|
@@ -221,37 +305,31 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
221
305
|
this.Container.register(converters_js_1.SqliteModelToSqlConverter).as(orm_1.ModelToSqlConverter);
|
|
222
306
|
this.Container.register(SqliteServerResponseMapper).as(orm_1.ServerResponseMapper);
|
|
223
307
|
}
|
|
224
|
-
async
|
|
225
|
-
const trx = {
|
|
226
|
-
commit: () => Promise.resolve(),
|
|
227
|
-
rollback: () => Promise.resolve(),
|
|
228
|
-
};
|
|
229
|
-
if (!qrOrCallback) {
|
|
230
|
-
return trx;
|
|
231
|
-
}
|
|
308
|
+
async _begin(_options) {
|
|
232
309
|
await this.executeOnDb('BEGIN TRANSACTION', [], orm_1.QueryContext.Transaction);
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
310
|
+
// sqlite3 gives us a single shared handle, so there is no per-transaction connection
|
|
311
|
+
// to carry — everything on this driver already runs on the same `this.Db`.
|
|
312
|
+
return { depth: 0 };
|
|
313
|
+
}
|
|
314
|
+
async _commit(_ctx) {
|
|
315
|
+
await this.executeOnDb('COMMIT', [], orm_1.QueryContext.Transaction);
|
|
316
|
+
}
|
|
317
|
+
async _rollback(_ctx) {
|
|
318
|
+
await this.executeOnDb('ROLLBACK', [], orm_1.QueryContext.Transaction);
|
|
319
|
+
}
|
|
320
|
+
// savepoint names cannot be bound parameters, so they are inlined through the identifier
|
|
321
|
+
// escaper rather than passed as `?`
|
|
322
|
+
async _savepoint(_ctx, name) {
|
|
323
|
+
await this.executeOnDb(`SAVEPOINT ${(0, orm_sql_1.escapeIdentifier)(name)}`, [], orm_1.QueryContext.Transaction);
|
|
324
|
+
}
|
|
325
|
+
async _releaseSavepoint(_ctx, name) {
|
|
326
|
+
await this.executeOnDb(`RELEASE ${(0, orm_sql_1.escapeIdentifier)(name)}`, [], orm_1.QueryContext.Transaction);
|
|
327
|
+
}
|
|
328
|
+
async _rollbackToSavepoint(_ctx, name) {
|
|
329
|
+
await this.executeOnDb(`ROLLBACK TO ${(0, orm_sql_1.escapeIdentifier)(name)}`, [], orm_1.QueryContext.Transaction);
|
|
330
|
+
}
|
|
331
|
+
async _dispose(_ctx) {
|
|
332
|
+
// nothing to release — the sqlite3 handle is owned by the driver, not by the transaction
|
|
255
333
|
}
|
|
256
334
|
/**
|
|
257
335
|
*
|
|
@@ -276,6 +354,9 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
276
354
|
}
|
|
277
355
|
// get all foreign keys
|
|
278
356
|
const foreignKeys = (await this.executeOnDb(`PRAGMA foreign_key_list("${name}")`, [], orm_1.QueryContext.Select));
|
|
357
|
+
// PRAGMA table_info reports `pk` as the 1-BASED POSITION within the primary key, not a
|
|
358
|
+
// boolean. Every column with pk > 0 is part of the key.
|
|
359
|
+
const pkColumnCount = tblInfo.filter((r) => r.pk > 0).length;
|
|
279
360
|
return tblInfo.map((r) => {
|
|
280
361
|
const fk = foreignKeys.find((i) => i.from === r.name);
|
|
281
362
|
const converter = converters.get(r.type.toLocaleLowerCase());
|
|
@@ -287,7 +368,7 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
287
368
|
NativeType: r.type,
|
|
288
369
|
Unsigned: false,
|
|
289
370
|
Nullable: r.notnull === 0,
|
|
290
|
-
PrimaryKey: r.pk
|
|
371
|
+
PrimaryKey: r.pk > 0,
|
|
291
372
|
Uuid: false,
|
|
292
373
|
Ignore: false,
|
|
293
374
|
IsForeignKey: fk !== undefined,
|
|
@@ -300,8 +381,9 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
300
381
|
To: fk.to,
|
|
301
382
|
}
|
|
302
383
|
: null,
|
|
303
|
-
//
|
|
304
|
-
|
|
384
|
+
// sqlite only auto-fills a lone INTEGER PRIMARY KEY ( the rowid alias ); a composite
|
|
385
|
+
// key never auto-increments, so the column count has to be checked too.
|
|
386
|
+
AutoIncrement: pkColumnCount === 1 && r.pk === 1 && r.type === 'INTEGER',
|
|
305
387
|
Name: r.name,
|
|
306
388
|
Converter: null,
|
|
307
389
|
Schema: _schema ? _schema : this.Options.Database,
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/compilers.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { SqlColumnQueryCompiler, SqlTableQueryCompiler, SqlOnDuplicateQueryCompiler, SqlInsertQueryCompiler } from '@spinajs/orm-sql';
|
|
1
|
+
import { SqlColumnQueryCompiler, SqlTableQueryCompiler, SqlOnDuplicateQueryCompiler, SqlInsertQueryCompiler, SqlAlterColumnQueryCompiler } from '@spinajs/orm-sql';
|
|
2
2
|
import { ICompilerOutput, OrderByBuilder, OrderByQueryCompiler, OnDuplicateQueryBuilder, InsertQueryBuilder, TableExistsCompiler, TableExistsQueryBuilder, TableQueryCompiler, TableQueryBuilder } from '@spinajs/orm';
|
|
3
3
|
import { Container, IContainer } from '@spinajs/di';
|
|
4
|
+
import { Log } from '@spinajs/log';
|
|
4
5
|
export declare class SqliteTruncateTableQueryCompiler extends TableQueryCompiler {
|
|
5
6
|
protected container: Container;
|
|
6
7
|
protected builder: TableQueryBuilder;
|
|
@@ -33,10 +34,60 @@ export declare class SqliteInsertQueryCompiler extends SqlInsertQueryCompiler {
|
|
|
33
34
|
bindings: any[];
|
|
34
35
|
expression: string;
|
|
35
36
|
};
|
|
37
|
+
/**
|
|
38
|
+
* RETURNING on a plain INSERT. Skipped when an upsert clause is present — the ON CONFLICT
|
|
39
|
+
* compiler emits its own RETURNING and two would be invalid SQL.
|
|
40
|
+
*/
|
|
41
|
+
protected returning(): string;
|
|
36
42
|
protected into(): string;
|
|
37
43
|
}
|
|
38
44
|
export declare class SqliteColumnCompiler extends SqlColumnQueryCompiler {
|
|
39
45
|
compile(): ICompilerOutput;
|
|
46
|
+
/**
|
|
47
|
+
* CREATE TABLE renders a boolean as a non-nullable 0/1 domain.
|
|
48
|
+
* Overridable: ADD COLUMN cannot carry an unconditional NOT NULL - see
|
|
49
|
+
* {@link SqliteAddColumnCompiler}.
|
|
50
|
+
*/
|
|
51
|
+
protected _booleanDefinition(): string;
|
|
40
52
|
protected _defaultCompiler(): string;
|
|
41
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Column body for `ALTER TABLE ... ADD COLUMN`.
|
|
56
|
+
*
|
|
57
|
+
* sqlite refuses to add a NOT NULL column without a non-null default, so the
|
|
58
|
+
* unconditional NOT NULL that CREATE TABLE bakes into a boolean makes every
|
|
59
|
+
* boolean add fail against a table that already holds rows. The CHECK is kept -
|
|
60
|
+
* it is legal in ADD COLUMN and still enforces the 0/1 domain - and NOT NULL is
|
|
61
|
+
* left to the generic `notNull()` flag, so `.notNull().default().value(0)` still
|
|
62
|
+
* yields a non-nullable column.
|
|
63
|
+
*/
|
|
64
|
+
export declare class SqliteAddColumnCompiler extends SqliteColumnCompiler {
|
|
65
|
+
protected _booleanDefinition(): string;
|
|
66
|
+
}
|
|
67
|
+
export interface SqliteAlterColumnQueryCompiler {
|
|
68
|
+
}
|
|
69
|
+
export declare class SqliteAlterColumnQueryCompiler extends SqlAlterColumnQueryCompiler {
|
|
70
|
+
protected Log: Log;
|
|
71
|
+
/**
|
|
72
|
+
* The ADD path needs a body free of CREATE-TABLE-only syntax.
|
|
73
|
+
*
|
|
74
|
+
* Note PRIMARY KEY / UNIQUE are deliberately NOT stripped here: sqlite cannot
|
|
75
|
+
* add such a column at all (it rejects both the mysql and the sqlite spelling),
|
|
76
|
+
* so suppressing the clause would silently produce a column WITHOUT the
|
|
77
|
+
* constraint the caller asked for. Letting sqlite's own error surface is honest.
|
|
78
|
+
*/
|
|
79
|
+
protected _columnDefinition(): ICompilerOutput;
|
|
80
|
+
/**
|
|
81
|
+
* sqlite cannot change a column's type: it has no MODIFY / ALTER COLUMN.
|
|
82
|
+
* It is also dynamically typed and renders enum/string/date as unconstrained
|
|
83
|
+
* TEXT, so a type-only change is a semantic no-op here anyway.
|
|
84
|
+
*
|
|
85
|
+
* Constraint changes (NOT NULL / DEFAULT / UNIQUE) ARE enforced by sqlite and
|
|
86
|
+
* are NOT applied - they need an explicit table-rebuild migration. Warn rather
|
|
87
|
+
* than throw: portable migrations legitimately restate existing constraints
|
|
88
|
+
* (mysql's MODIFY drops any attribute you omit), and throwing would break them.
|
|
89
|
+
*/
|
|
90
|
+
protected _modify(_definition: string): string | null;
|
|
91
|
+
protected _add(definition: string): string | null;
|
|
92
|
+
}
|
|
42
93
|
//# sourceMappingURL=compilers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compilers.d.ts","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"compilers.d.ts","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AACnK,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAY,uBAAuB,EAAmB,kBAAkB,EAAE,mBAAmB,EAAE,uBAAuB,EAAgB,kBAAkB,EAAE,iBAAiB,EAA4C,MAAM,cAAc,CAAC;AAC1S,OAAO,EAAuB,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAG3C,qBACa,gCAAiC,SAAQ,kBAAkB;IAC1D,SAAS,CAAC,SAAS,EAAE,SAAS;IAAE,SAAS,CAAC,OAAO,EAAE,iBAAiB;gBAA1D,SAAS,EAAE,SAAS,EAAY,OAAO,EAAE,iBAAiB;IAIzE,OAAO,IAAI,eAAe;CAMlC;AAED,qBACa,qBAAsB,SAAQ,oBAAoB;IAC7D,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAEvB,OAAO,EAAE,cAAc;IAS5B,OAAO,IAAI,eAAe;CAclC;AACD,qBACa,8BAA+B,SAAQ,2BAA2B;gBACjE,OAAO,EAAE,uBAAuB;IAIrC,OAAO;;;;CA+Bf;AAED,qBACa,yBAA0B,YAAW,mBAAmB;IACvD,SAAS,CAAC,OAAO,EAAE,uBAAuB;gBAAhC,OAAO,EAAE,uBAAuB;IAM/C,OAAO,IAAI,eAAe;CAMlC;AAED,qBAEa,wBAAyB,SAAQ,qBAAqB;IAC1D,OAAO,IAAI,eAAe,EAAE;CAgCpC;AAED,qBAEa,yBAA0B,SAAQ,sBAAsB;gBACvD,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB;IAIvD,OAAO;;;;IAad;;;OAGG;IACH,SAAS,CAAC,SAAS;IASnB,SAAS,CAAC,IAAI;CAGf;AAED,qBACa,oBAAqB,SAAQ,sBAAsB;IACvD,OAAO,IAAI,eAAe;IA8EjC;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAItC,SAAS,CAAC,gBAAgB;CAiB3B;AAED;;;;;;;;;GASG;AACH,qBACa,uBAAwB,SAAQ,oBAAoB;IAC/D,SAAS,CAAC,kBAAkB,IAAI,MAAM;CAGvC;AAED,MAAM,WAAW,8BAA8B;CAAI;AAEnD,qBAEa,8BAA+B,SAAQ,2BAA2B;IAE7E,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB;;;;;;;OAOG;IACH,SAAS,CAAC,iBAAiB,IAAI,eAAe;IAQ9C;;;;;;;;;OASG;IACH,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKrD,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAIlD"}
|