@framers/sql-storage-adapter 0.6.13 → 0.6.14
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 +20 -3
- package/dist/adapters/capacitorSqliteAdapter.d.ts +42 -0
- package/dist/adapters/capacitorSqliteAdapter.d.ts.map +1 -1
- package/dist/adapters/capacitorSqliteAdapter.js +139 -21
- package/dist/adapters/capacitorSqliteAdapter.js.map +1 -1
- package/dist/adapters/indexedDbAdapter.d.ts +89 -10
- package/dist/adapters/indexedDbAdapter.d.ts.map +1 -1
- package/dist/adapters/indexedDbAdapter.js +265 -58
- package/dist/adapters/indexedDbAdapter.js.map +1 -1
- package/dist/core/database.d.ts +12 -4
- package/dist/core/database.d.ts.map +1 -1
- package/dist/core/database.js +17 -8
- package/dist/core/database.js.map +1 -1
- package/dist/core/resolver.d.ts +15 -5
- package/dist/core/resolver.d.ts.map +1 -1
- package/dist/core/resolver.js +43 -7
- package/dist/core/resolver.js.map +1 -1
- package/dist/shared/connectionGate.d.ts +32 -9
- package/dist/shared/connectionGate.d.ts.map +1 -1
- package/dist/shared/connectionGate.js +31 -12
- package/dist/shared/connectionGate.js.map +1 -1
- package/dist/shared/postgresTarget.d.ts +10 -0
- package/dist/shared/postgresTarget.d.ts.map +1 -0
- package/dist/shared/postgresTarget.js +13 -0
- package/dist/shared/postgresTarget.js.map +1 -0
- package/package.json +2 -1
|
@@ -44,6 +44,10 @@
|
|
|
44
44
|
*/
|
|
45
45
|
import initSqlJs from 'sql.js';
|
|
46
46
|
import { normaliseParameters } from '../shared/parameterUtils.js';
|
|
47
|
+
import { createSerializedTransactionRunner, createSharedConnectionTransactionAdapter, } from '../shared/serializedTransaction.js';
|
|
48
|
+
import { createConnectionGate, whenAdmitted } from '../shared/connectionGate.js';
|
|
49
|
+
/** How long a statement waits for an open transaction before the adapter warns. */
|
|
50
|
+
const LONG_WAIT_MS = 10000;
|
|
47
51
|
// ============================================================================
|
|
48
52
|
// GLOBAL SQL.JS SINGLETON
|
|
49
53
|
// ============================================================================
|
|
@@ -147,7 +151,35 @@ export class IndexedDbAdapter {
|
|
|
147
151
|
this.db = null;
|
|
148
152
|
this.idb = null;
|
|
149
153
|
this.saveTimer = null;
|
|
150
|
-
|
|
154
|
+
/** Bumped by every statement that can change the database. */
|
|
155
|
+
this.writeGeneration = 0;
|
|
156
|
+
/** The generation the last completed save exported; the writes after it are unsaved. */
|
|
157
|
+
this.savedGeneration = 0;
|
|
158
|
+
/** The save in progress, if any. */
|
|
159
|
+
this.saving = null;
|
|
160
|
+
/** Whether a failed auto-save has been reported since the last one that succeeded. */
|
|
161
|
+
this.saveFailureReported = false;
|
|
162
|
+
/** Set while close() runs: no statement or transaction starts. */
|
|
163
|
+
this.closing = false;
|
|
164
|
+
/** The close() in progress, which a second call waits for. */
|
|
165
|
+
this.closeRun = null;
|
|
166
|
+
this.longWaitReported = false;
|
|
167
|
+
/**
|
|
168
|
+
* The connection is shared, so transaction() runs one callback at a time.
|
|
169
|
+
*/
|
|
170
|
+
this.runSerializedTransaction = createSerializedTransactionRunner();
|
|
171
|
+
/**
|
|
172
|
+
* Holds statements from outside an open transaction until it ends, so they
|
|
173
|
+
* neither join it (and vanish in its rollback) nor read what it has not
|
|
174
|
+
* committed. Browsers have no async context to tell the callback's own
|
|
175
|
+
* statements apart, so the callback's handle is the only way into an open
|
|
176
|
+
* transaction: a statement through the adapter itself waits.
|
|
177
|
+
*/
|
|
178
|
+
this.gate = createConnectionGate(null, { withoutContext: 'wait' });
|
|
179
|
+
this.longWait = {
|
|
180
|
+
afterMs: LONG_WAIT_MS,
|
|
181
|
+
onLongWait: () => this.reportLongWait(),
|
|
182
|
+
};
|
|
151
183
|
this.dbName = options.dbName || 'app-db';
|
|
152
184
|
this.storeName = options.storeName || 'sqliteDb';
|
|
153
185
|
this.autoSave = options.autoSave ?? true;
|
|
@@ -190,6 +222,9 @@ export class IndexedDbAdapter {
|
|
|
190
222
|
* @returns Result with changes count and last insert row ID
|
|
191
223
|
*/
|
|
192
224
|
async run(statement, parameters) {
|
|
225
|
+
return whenAdmitted(this.gate, () => this.runNow(statement, parameters), undefined, this.longWait);
|
|
226
|
+
}
|
|
227
|
+
runNow(statement, parameters) {
|
|
193
228
|
this.ensureOpen();
|
|
194
229
|
const stmt = this.db.prepare(statement);
|
|
195
230
|
try {
|
|
@@ -204,8 +239,7 @@ export class IndexedDbAdapter {
|
|
|
204
239
|
const rowIdResult = this.db.exec('SELECT last_insert_rowid() AS id');
|
|
205
240
|
const rawRowId = rowIdResult[0]?.values?.[0]?.[0];
|
|
206
241
|
const lastInsertRowid = this.normaliseRowId(rawRowId);
|
|
207
|
-
this.
|
|
208
|
-
await this.persistIfNeeded();
|
|
242
|
+
this.writeGeneration += 1;
|
|
209
243
|
return {
|
|
210
244
|
changes: this.db.getRowsModified(),
|
|
211
245
|
lastInsertRowid,
|
|
@@ -232,6 +266,9 @@ export class IndexedDbAdapter {
|
|
|
232
266
|
* @returns Array of result rows as objects
|
|
233
267
|
*/
|
|
234
268
|
async all(statement, parameters) {
|
|
269
|
+
return whenAdmitted(this.gate, () => this.allNow(statement, parameters), undefined, this.longWait);
|
|
270
|
+
}
|
|
271
|
+
allNow(statement, parameters) {
|
|
235
272
|
this.ensureOpen();
|
|
236
273
|
const stmt = this.db.prepare(statement);
|
|
237
274
|
try {
|
|
@@ -263,35 +300,91 @@ export class IndexedDbAdapter {
|
|
|
263
300
|
* Executes a script containing multiple SQL statements.
|
|
264
301
|
*/
|
|
265
302
|
async exec(script) {
|
|
303
|
+
return whenAdmitted(this.gate, () => this.execNow(script), undefined, this.longWait);
|
|
304
|
+
}
|
|
305
|
+
execNow(script) {
|
|
266
306
|
this.ensureOpen();
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
307
|
+
try {
|
|
308
|
+
this.db.exec(script);
|
|
309
|
+
}
|
|
310
|
+
finally {
|
|
311
|
+
// A script that fails part way keeps the statements before the failure.
|
|
312
|
+
this.writeGeneration += 1;
|
|
313
|
+
}
|
|
270
314
|
}
|
|
271
315
|
/**
|
|
272
316
|
* Executes a callback within a database transaction.
|
|
317
|
+
*
|
|
318
|
+
* Callbacks run one at a time, since every transaction shares the one
|
|
319
|
+
* connection. The callback's statements go through the handle it receives;
|
|
320
|
+
* a statement issued through the adapter itself while the callback runs
|
|
321
|
+
* waits until the transaction ends, so a callback must not await one. The
|
|
322
|
+
* auto-save tick does not save while a transaction is open.
|
|
273
323
|
*/
|
|
274
324
|
async transaction(fn) {
|
|
275
325
|
this.ensureOpen();
|
|
276
|
-
|
|
326
|
+
const queued = setTimeout(() => this.reportLongWait(), LONG_WAIT_MS);
|
|
327
|
+
return this.runSerializedTransaction(() => {
|
|
328
|
+
clearTimeout(queued);
|
|
329
|
+
return this.gate.hold(async (token) => {
|
|
330
|
+
this.ensureOpen();
|
|
331
|
+
// Outside the try: when BEGIN fails, the transaction that is open
|
|
332
|
+
// (a caller's own BEGIN) is not this one to roll back.
|
|
333
|
+
this.db.run('BEGIN TRANSACTION');
|
|
334
|
+
const transactionAdapter = createSharedConnectionTransactionAdapter(this.handleStatements(token));
|
|
335
|
+
try {
|
|
336
|
+
const result = await fn(transactionAdapter);
|
|
337
|
+
this.ensureOpen();
|
|
338
|
+
this.db.run('COMMIT');
|
|
339
|
+
// The callback may have written through all() or get() (INSERT ...
|
|
340
|
+
// RETURNING), which mark nothing unsaved; the commit does.
|
|
341
|
+
this.writeGeneration += 1;
|
|
342
|
+
return result;
|
|
343
|
+
}
|
|
344
|
+
catch (error) {
|
|
345
|
+
this.rollbackQuietly();
|
|
346
|
+
throw error;
|
|
347
|
+
}
|
|
348
|
+
});
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* The statements of one transaction's handle: they carry the transaction's
|
|
353
|
+
* token, so the gate admits them while the transaction is open.
|
|
354
|
+
*/
|
|
355
|
+
handleStatements(token) {
|
|
356
|
+
return {
|
|
357
|
+
kind: this.kind,
|
|
358
|
+
capabilities: this.capabilities,
|
|
359
|
+
open: async () => { },
|
|
360
|
+
close: async () => { },
|
|
361
|
+
run: (statement, parameters) => whenAdmitted(this.gate, () => this.runNow(statement, parameters), token),
|
|
362
|
+
get: async (statement, parameters) => {
|
|
363
|
+
const rows = await whenAdmitted(this.gate, () => this.allNow(statement, parameters), token);
|
|
364
|
+
return rows.length > 0 ? rows[0] : null;
|
|
365
|
+
},
|
|
366
|
+
all: (statement, parameters) => whenAdmitted(this.gate, () => this.allNow(statement, parameters), token),
|
|
367
|
+
exec: (script) => whenAdmitted(this.gate, () => this.execNow(script), token),
|
|
368
|
+
// The handle answers a nested transaction() itself and never calls this.
|
|
369
|
+
transaction: (fn) => fn(this),
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
/** Rolls back the open transaction; one that already ended (a failed statement, close()) is left alone. */
|
|
373
|
+
rollbackQuietly() {
|
|
374
|
+
if (!this.db)
|
|
375
|
+
return;
|
|
277
376
|
try {
|
|
278
|
-
|
|
279
|
-
await this.run('COMMIT');
|
|
280
|
-
this.dirty = true;
|
|
281
|
-
await this.persistIfNeeded();
|
|
282
|
-
return result;
|
|
377
|
+
this.db.run('ROLLBACK');
|
|
283
378
|
}
|
|
284
|
-
catch
|
|
285
|
-
|
|
286
|
-
throw error;
|
|
379
|
+
catch {
|
|
380
|
+
// No transaction is open.
|
|
287
381
|
}
|
|
288
382
|
}
|
|
289
383
|
/**
|
|
290
|
-
* Begins a transaction
|
|
291
|
-
*
|
|
384
|
+
* Begins a transaction the caller ends with commit() or rollback(). It is not
|
|
385
|
+
* the callback form: other callers' statements are not held out of it.
|
|
292
386
|
*/
|
|
293
387
|
async beginTransaction() {
|
|
294
|
-
// sql.js uses auto-commit; explicit BEGIN is optional
|
|
295
388
|
await this.run('BEGIN');
|
|
296
389
|
}
|
|
297
390
|
/**
|
|
@@ -299,8 +392,6 @@ export class IndexedDbAdapter {
|
|
|
299
392
|
*/
|
|
300
393
|
async commit() {
|
|
301
394
|
await this.run('COMMIT');
|
|
302
|
-
this.dirty = true;
|
|
303
|
-
await this.persistIfNeeded();
|
|
304
395
|
}
|
|
305
396
|
/**
|
|
306
397
|
* Rolls back the current transaction.
|
|
@@ -309,19 +400,44 @@ export class IndexedDbAdapter {
|
|
|
309
400
|
await this.run('ROLLBACK');
|
|
310
401
|
}
|
|
311
402
|
/**
|
|
312
|
-
* Closes the database and
|
|
403
|
+
* Closes the database and saves its committed state to IndexedDB.
|
|
404
|
+
*
|
|
405
|
+
* A transaction still open is rolled back, as closing a SQLite connection
|
|
406
|
+
* does, before the save; the save then holds committed writes only. A call
|
|
407
|
+
* made while a close is running waits for that close.
|
|
313
408
|
*/
|
|
314
|
-
|
|
409
|
+
close() {
|
|
410
|
+
if (!this.closeRun) {
|
|
411
|
+
this.closeRun = this.closeNow().finally(() => {
|
|
412
|
+
this.closeRun = null;
|
|
413
|
+
});
|
|
414
|
+
}
|
|
415
|
+
return this.closeRun;
|
|
416
|
+
}
|
|
417
|
+
async closeNow() {
|
|
315
418
|
if (this.saveTimer) {
|
|
316
419
|
clearInterval(this.saveTimer);
|
|
317
420
|
this.saveTimer = null;
|
|
318
421
|
}
|
|
319
|
-
if (this.dirty) {
|
|
320
|
-
await this.saveToIndexedDb();
|
|
321
|
-
}
|
|
322
422
|
if (this.db) {
|
|
323
|
-
|
|
324
|
-
|
|
423
|
+
// From here no statement or transaction starts: a transaction() still
|
|
424
|
+
// running fails at its next statement, and one queued behind it fails
|
|
425
|
+
// when it starts.
|
|
426
|
+
this.closing = true;
|
|
427
|
+
try {
|
|
428
|
+
if (this.inTransaction()) {
|
|
429
|
+
this.rollbackQuietly();
|
|
430
|
+
}
|
|
431
|
+
await this.settleSave();
|
|
432
|
+
if (this.hasUnsavedWrites()) {
|
|
433
|
+
await this.startSave();
|
|
434
|
+
}
|
|
435
|
+
this.db?.close();
|
|
436
|
+
this.db = null;
|
|
437
|
+
}
|
|
438
|
+
finally {
|
|
439
|
+
this.closing = false;
|
|
440
|
+
}
|
|
325
441
|
}
|
|
326
442
|
if (this.idb) {
|
|
327
443
|
this.idb.close();
|
|
@@ -331,23 +447,38 @@ export class IndexedDbAdapter {
|
|
|
331
447
|
/**
|
|
332
448
|
* Exports the database as a Uint8Array (SQLite file format).
|
|
333
449
|
* Can be downloaded or stored externally.
|
|
450
|
+
*
|
|
451
|
+
* Throws while a transaction is open: sql.js's export closes and reopens the
|
|
452
|
+
* connection, which would end the transaction.
|
|
334
453
|
* @returns SQLite database file as binary
|
|
335
454
|
*/
|
|
336
455
|
exportDatabase() {
|
|
337
456
|
this.ensureOpen();
|
|
457
|
+
if (this.inTransaction()) {
|
|
458
|
+
throw new Error("IndexedDbAdapter: cannot export the database while a transaction is open; sql.js's export would end it.");
|
|
459
|
+
}
|
|
338
460
|
return this.db.export();
|
|
339
461
|
}
|
|
340
462
|
/**
|
|
341
463
|
* Imports a database from a Uint8Array (SQLite file).
|
|
342
|
-
* Replaces the current database
|
|
464
|
+
* Replaces the current database once any open transaction() has ended, and
|
|
465
|
+
* saves it to IndexedDB before it resolves.
|
|
343
466
|
* @param data SQLite database file
|
|
344
467
|
*/
|
|
345
468
|
async importDatabase(data) {
|
|
346
469
|
this.ensureOpen();
|
|
347
|
-
this.
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
470
|
+
await whenAdmitted(this.gate, () => {
|
|
471
|
+
this.ensureOpen();
|
|
472
|
+
// Opened before the current database closes: an image sql.js refuses
|
|
473
|
+
// leaves the adapter on the database it had.
|
|
474
|
+
const imported = new this.SQL.Database(data);
|
|
475
|
+
this.db.close();
|
|
476
|
+
this.db = imported;
|
|
477
|
+
this.writeGeneration += 1;
|
|
478
|
+
// The save exports in this turn, so no transaction can open between
|
|
479
|
+
// the swap and the export and hold the save back.
|
|
480
|
+
return this.startSave();
|
|
481
|
+
}, undefined, this.longWait);
|
|
351
482
|
}
|
|
352
483
|
/**
|
|
353
484
|
* Opens or creates the IndexedDB database.
|
|
@@ -419,24 +550,98 @@ export class IndexedDbAdapter {
|
|
|
419
550
|
});
|
|
420
551
|
}
|
|
421
552
|
/**
|
|
422
|
-
*
|
|
553
|
+
* Writes the current image to IndexedDB. Never called while a transaction is
|
|
554
|
+
* open (see saveIfIdle): sql.js's export() closes and reopens the connection,
|
|
555
|
+
* which ends an open transaction.
|
|
556
|
+
*
|
|
557
|
+
* Settles when the IndexedDB transaction completes, not when its put request
|
|
558
|
+
* succeeds: the transaction can still abort after that (a quota error at
|
|
559
|
+
* commit), and the image is then not stored. On abort the writes stay
|
|
560
|
+
* unsaved, so the next save writes them. A write made after the export stays
|
|
561
|
+
* unsaved too.
|
|
423
562
|
*/
|
|
424
563
|
async saveToIndexedDb() {
|
|
425
564
|
if (!this.idb || !this.db)
|
|
426
565
|
return;
|
|
566
|
+
const generation = this.writeGeneration;
|
|
427
567
|
const data = this.db.export();
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
568
|
+
await this.withTransactionRetry(() => new Promise((resolve, reject) => {
|
|
569
|
+
const tx = this.idb.transaction(this.storeName, 'readwrite');
|
|
570
|
+
tx.objectStore(this.storeName).put(data, 'db');
|
|
571
|
+
tx.oncomplete = () => resolve();
|
|
572
|
+
// A failed request aborts the transaction, so abort covers both.
|
|
573
|
+
tx.onabort = () => reject(tx.error ?? new Error(`IndexedDbAdapter: saving "${this.dbName}" to IndexedDB was aborted.`));
|
|
574
|
+
}));
|
|
575
|
+
this.savedGeneration = Math.max(this.savedGeneration, generation);
|
|
576
|
+
}
|
|
577
|
+
/** Whether writes were made since the image the last completed save exported. */
|
|
578
|
+
hasUnsavedWrites() {
|
|
579
|
+
return this.writeGeneration !== this.savedGeneration;
|
|
580
|
+
}
|
|
581
|
+
/**
|
|
582
|
+
* Whether a transaction is open on the connection: one transaction() is
|
|
583
|
+
* running, or one the caller began with BEGIN or SAVEPOINT. sql.js does not
|
|
584
|
+
* export sqlite3_get_autocommit, so the adapter asks SQLite: BEGIN fails
|
|
585
|
+
* inside a transaction, and outside one it is rolled back at once. A probe
|
|
586
|
+
* that fails for any reason counts as open, so the adapter does not export.
|
|
587
|
+
*/
|
|
588
|
+
inTransaction() {
|
|
589
|
+
if (this.gate.openToken() !== null)
|
|
590
|
+
return true;
|
|
591
|
+
if (!this.db)
|
|
592
|
+
return false;
|
|
593
|
+
try {
|
|
594
|
+
this.db.run('BEGIN');
|
|
595
|
+
}
|
|
596
|
+
catch {
|
|
597
|
+
return true;
|
|
598
|
+
}
|
|
599
|
+
try {
|
|
600
|
+
this.db.run('ROLLBACK');
|
|
601
|
+
}
|
|
602
|
+
catch {
|
|
603
|
+
// The probe's own transaction did not roll back; it is open.
|
|
604
|
+
return true;
|
|
605
|
+
}
|
|
606
|
+
return false;
|
|
607
|
+
}
|
|
608
|
+
/**
|
|
609
|
+
* Starts a save of the unsaved writes, unless a save is running or a
|
|
610
|
+
* transaction is open; the auto-save tick tries again later.
|
|
611
|
+
*/
|
|
612
|
+
saveIfIdle() {
|
|
613
|
+
if (this.saving)
|
|
614
|
+
return this.saving;
|
|
615
|
+
if (!this.db || !this.idb || !this.hasUnsavedWrites() || this.inTransaction()) {
|
|
616
|
+
return Promise.resolve();
|
|
617
|
+
}
|
|
618
|
+
return this.startSave();
|
|
619
|
+
}
|
|
620
|
+
/**
|
|
621
|
+
* Starts a save at once and keeps it as the save in progress. The caller has
|
|
622
|
+
* made sure no transaction is open: the export would end it.
|
|
623
|
+
*/
|
|
624
|
+
startSave() {
|
|
625
|
+
const saving = this.saveToIndexedDb().finally(() => {
|
|
626
|
+
if (this.saving === saving)
|
|
627
|
+
this.saving = null;
|
|
439
628
|
});
|
|
629
|
+
this.saving = saving;
|
|
630
|
+
return saving;
|
|
631
|
+
}
|
|
632
|
+
/** Waits for a save in progress to settle, whether it succeeded or not. */
|
|
633
|
+
async settleSave() {
|
|
634
|
+
if (this.saving) {
|
|
635
|
+
await this.saving.catch(() => undefined);
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
reportLongWait() {
|
|
639
|
+
if (this.longWaitReported)
|
|
640
|
+
return;
|
|
641
|
+
this.longWaitReported = true;
|
|
642
|
+
console.warn(`[IndexedDbAdapter] A statement on "${this.dbName}" has waited ${LONG_WAIT_MS / 1000} s for an open transaction to end. ` +
|
|
643
|
+
"Inside a transaction() callback, run statements through the callback's handle: one run through the adapter " +
|
|
644
|
+
'itself waits for the transaction, and the transaction waits for it.');
|
|
440
645
|
}
|
|
441
646
|
/**
|
|
442
647
|
* Wraps a transaction operation with retry logic.
|
|
@@ -472,30 +677,32 @@ export class IndexedDbAdapter {
|
|
|
472
677
|
}
|
|
473
678
|
throw lastError;
|
|
474
679
|
}
|
|
475
|
-
/**
|
|
476
|
-
* Persists to IndexedDB if auto-save is enabled.
|
|
477
|
-
*/
|
|
478
|
-
async persistIfNeeded() {
|
|
479
|
-
if (this.autoSave && !this.saveTimer) {
|
|
480
|
-
// Immediate save on first write, then batched
|
|
481
|
-
await this.saveToIndexedDb();
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
680
|
/**
|
|
485
681
|
* Starts auto-save interval.
|
|
486
682
|
*/
|
|
487
683
|
startAutoSave() {
|
|
488
|
-
this.saveTimer = setInterval(
|
|
489
|
-
|
|
490
|
-
await this.saveToIndexedDb();
|
|
491
|
-
}
|
|
684
|
+
this.saveTimer = setInterval(() => {
|
|
685
|
+
void this.autoSaveTick();
|
|
492
686
|
}, this.saveIntervalMs);
|
|
493
687
|
}
|
|
688
|
+
/** One auto-save tick: a failed save is reported once and tried again on the next tick. */
|
|
689
|
+
async autoSaveTick() {
|
|
690
|
+
try {
|
|
691
|
+
await this.saveIfIdle();
|
|
692
|
+
this.saveFailureReported = false;
|
|
693
|
+
}
|
|
694
|
+
catch (error) {
|
|
695
|
+
if (!this.saveFailureReported) {
|
|
696
|
+
this.saveFailureReported = true;
|
|
697
|
+
console.warn(`[IndexedDbAdapter] Saving "${this.dbName}" to IndexedDB failed; the next tick tries again.`, error);
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
}
|
|
494
701
|
/**
|
|
495
702
|
* Ensures the database is open.
|
|
496
703
|
*/
|
|
497
704
|
ensureOpen() {
|
|
498
|
-
if (!this.db) {
|
|
705
|
+
if (!this.db || this.closing) {
|
|
499
706
|
throw new Error('IndexedDbAdapter: Database not open. Call open() first.');
|
|
500
707
|
}
|
|
501
708
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexedDbAdapter.js","sourceRoot":"","sources":["../../src/adapters/indexedDbAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"indexedDbAdapter.js","sourceRoot":"","sources":["../../src/adapters/indexedDbAdapter.ts"],"names":[],"mappings":"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"}
|
package/dist/core/database.d.ts
CHANGED
|
@@ -17,7 +17,8 @@ import type { IndexedDbAdapterOptions } from '../adapters/indexedDbAdapter.js';
|
|
|
17
17
|
export interface DatabaseOptions {
|
|
18
18
|
/**
|
|
19
19
|
* Database URL (e.g., postgresql://user:pass@host/db).
|
|
20
|
-
* If provided, PostgreSQL
|
|
20
|
+
* If provided, PostgreSQL is used on Node, with no fallback to SQLite,
|
|
21
|
+
* unless `priority` or `type` says otherwise.
|
|
21
22
|
*/
|
|
22
23
|
url?: string;
|
|
23
24
|
/**
|
|
@@ -26,8 +27,11 @@ export interface DatabaseOptions {
|
|
|
26
27
|
*/
|
|
27
28
|
file?: string;
|
|
28
29
|
/**
|
|
29
|
-
* PostgreSQL-specific configuration.
|
|
30
|
-
*
|
|
30
|
+
* PostgreSQL-specific configuration, passed on to the Postgres adapter whole.
|
|
31
|
+
* When it names a server (a connection string, or a host, database or user),
|
|
32
|
+
* PostgreSQL is used on Node, with no fallback to SQLite, unless `priority`
|
|
33
|
+
* or `type` says otherwise. `{ connectionString: process.env.DATABASE_URL }`
|
|
34
|
+
* with DATABASE_URL unset names none, and the local default is used.
|
|
31
35
|
*/
|
|
32
36
|
postgres?: PostgresAdapterOptions;
|
|
33
37
|
/**
|
|
@@ -103,7 +107,11 @@ export interface DatabaseOptions {
|
|
|
103
107
|
* 2. Explicit `options.type` is mapped to a single adapter priority.
|
|
104
108
|
* 3. Otherwise we auto-detect environment:
|
|
105
109
|
* - Browser / Deno: ['sqljs']
|
|
106
|
-
* - Node.js
|
|
110
|
+
* - Node.js with a Postgres URL, or Postgres options that name a server:
|
|
111
|
+
* ['postgres']. There is no fallback to SQLite: data meant for Postgres
|
|
112
|
+
* would land in a local file. DATABASE_URL in the environment does not
|
|
113
|
+
* count here.
|
|
114
|
+
* - Node.js otherwise: ['better-sqlite3', 'sqljs'] (native first, wasm fallback)
|
|
107
115
|
*
|
|
108
116
|
* The function never throws solely due to a native adapter absence; it falls
|
|
109
117
|
* back to next candidates. Only when no candidate can open will it bubble an error.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/core/database.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAwD,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/core/database.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAwD,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAElC;;;OAGG;IACH,MAAM,CAAC,EAAE,uBAAuB,CAAC;IAEjC;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAC;IAEpC;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAE/D;;;OAGG;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAwE3F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,GAAG,sBAAsB,GACtC,OAAO,CAAC,cAAc,CAAC,CAKzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAE5E;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,cAAc,CAAC,CAEpE;AAGD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/core/database.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* - openDatabase() - Simple file-based database
|
|
8
8
|
*/
|
|
9
9
|
import { resolveStorageAdapter } from './resolver.js';
|
|
10
|
+
import { namesPostgresServer } from '../shared/postgresTarget.js';
|
|
10
11
|
/**
|
|
11
12
|
* Create a database connection.
|
|
12
13
|
* Automatically picks the best database for your environment.
|
|
@@ -46,7 +47,11 @@ import { resolveStorageAdapter } from './resolver.js';
|
|
|
46
47
|
* 2. Explicit `options.type` is mapped to a single adapter priority.
|
|
47
48
|
* 3. Otherwise we auto-detect environment:
|
|
48
49
|
* - Browser / Deno: ['sqljs']
|
|
49
|
-
* - Node.js
|
|
50
|
+
* - Node.js with a Postgres URL, or Postgres options that name a server:
|
|
51
|
+
* ['postgres']. There is no fallback to SQLite: data meant for Postgres
|
|
52
|
+
* would land in a local file. DATABASE_URL in the environment does not
|
|
53
|
+
* count here.
|
|
54
|
+
* - Node.js otherwise: ['better-sqlite3', 'sqljs'] (native first, wasm fallback)
|
|
50
55
|
*
|
|
51
56
|
* The function never throws solely due to a native adapter absence; it falls
|
|
52
57
|
* back to next candidates. Only when no candidate can open will it bubble an error.
|
|
@@ -59,13 +64,13 @@ export async function createDatabase(options = {}) {
|
|
|
59
64
|
// (declare loosely to prevent dependency on @types/deno)
|
|
60
65
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
61
66
|
const isDeno = typeof globalThis.Deno !== 'undefined';
|
|
62
|
-
//
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
// PostgreSQL: the options pass on whole; the URL fills in a connection
|
|
68
|
+
// string they do not give.
|
|
69
|
+
if (options.url || options.postgres) {
|
|
70
|
+
resolverOptions.postgres = {
|
|
71
|
+
...options.postgres,
|
|
72
|
+
connectionString: options.postgres?.connectionString || options.url || undefined,
|
|
73
|
+
};
|
|
69
74
|
}
|
|
70
75
|
// Handle file path
|
|
71
76
|
if (options.file) {
|
|
@@ -100,8 +105,12 @@ export async function createDatabase(options = {}) {
|
|
|
100
105
|
// Auto-detect environment ONLY if no priority already set
|
|
101
106
|
if (!resolverOptions.priority || resolverOptions.priority.length === 0) {
|
|
102
107
|
if (isBrowser || isDeno) {
|
|
108
|
+
// A browser cannot reach PostgreSQL, so a URL here changes nothing.
|
|
103
109
|
resolverOptions.priority = ['sqljs'];
|
|
104
110
|
}
|
|
111
|
+
else if (isNode && namesPostgresServer(resolverOptions.postgres)) {
|
|
112
|
+
resolverOptions.priority = ['postgres'];
|
|
113
|
+
}
|
|
105
114
|
else if (isNode) {
|
|
106
115
|
resolverOptions.priority = ['better-sqlite3', 'sqljs'];
|
|
107
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/core/database.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,qBAAqB,EAAmD,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/core/database.ts"],"names":[],"mappings":"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"}
|