@powersync/op-sqlite 0.0.0-dev-20241014170110 → 0.0.0-dev-20250121082529
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 +62 -1
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/powersync/opsqlite/PowerSyncOpSqlitePackage.kt +4 -8
- package/ios/PowerSyncOpSqlite.mm +0 -5
- package/lib/commonjs/db/OPSQLiteConnection.js +47 -21
- package/lib/commonjs/db/OPSQLiteConnection.js.map +1 -1
- package/lib/commonjs/db/OPSqliteAdapter.js +87 -52
- package/lib/commonjs/db/OPSqliteAdapter.js.map +1 -1
- package/lib/commonjs/db/SqliteOptions.js +3 -1
- package/lib/commonjs/db/SqliteOptions.js.map +1 -1
- package/lib/commonjs/index.js +0 -16
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/db/OPSQLiteConnection.js +47 -21
- package/lib/module/db/OPSQLiteConnection.js.map +1 -1
- package/lib/module/db/OPSqliteAdapter.js +89 -54
- package/lib/module/db/OPSqliteAdapter.js.map +1 -1
- package/lib/module/db/SqliteOptions.js +3 -1
- package/lib/module/db/SqliteOptions.js.map +1 -1
- package/lib/module/index.js +0 -15
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/db/OPSQLiteConnection.d.ts +11 -1
- package/lib/typescript/commonjs/src/db/OPSQLiteConnection.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/db/OPSqliteAdapter.d.ts +11 -3
- package/lib/typescript/commonjs/src/db/OPSqliteAdapter.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/db/SqliteOptions.d.ts +13 -0
- package/lib/typescript/commonjs/src/db/SqliteOptions.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +0 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/tsconfig.build.tsbuildinfo +1 -1
- package/lib/typescript/module/src/db/OPSQLiteConnection.d.ts +11 -1
- package/lib/typescript/module/src/db/OPSQLiteConnection.d.ts.map +1 -1
- package/lib/typescript/module/src/db/OPSqliteAdapter.d.ts +11 -3
- package/lib/typescript/module/src/db/OPSqliteAdapter.d.ts.map +1 -1
- package/lib/typescript/module/src/db/SqliteOptions.d.ts +13 -0
- package/lib/typescript/module/src/db/SqliteOptions.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +0 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/powersync-op-sqlite.podspec +2 -2
- package/src/db/OPSQLiteConnection.ts +73 -24
- package/src/db/OPSqliteAdapter.ts +109 -69
- package/src/db/SqliteOptions.ts +19 -2
- package/src/index.ts +4 -30
- package/android/src/main/java/com/powersync/opsqlite/PowerSyncOpSqliteModule.kt +0 -25
- package/android/src/newarch/PowerSyncOpSqliteSpec.kt +0 -7
- package/android/src/oldarch/PowerSyncOpSqliteSpec.kt +0 -11
- package/lib/commonjs/NativePowerSyncOpSqlite.js +0 -9
- package/lib/commonjs/NativePowerSyncOpSqlite.js.map +0 -1
- package/lib/module/NativePowerSyncOpSqlite.js +0 -5
- package/lib/module/NativePowerSyncOpSqlite.js.map +0 -1
- package/lib/typescript/commonjs/src/NativePowerSyncOpSqlite.d.ts +0 -7
- package/lib/typescript/commonjs/src/NativePowerSyncOpSqlite.d.ts.map +0 -1
- package/lib/typescript/module/src/NativePowerSyncOpSqlite.d.ts +0 -7
- package/lib/typescript/module/src/NativePowerSyncOpSqlite.d.ts.map +0 -1
- package/src/NativePowerSyncOpSqlite.ts +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseObserver","RowUpdateType","OPSQLiteConnection","constructor","options","DB","baseDB","
|
|
1
|
+
{"version":3,"names":["BaseObserver","RowUpdateType","OPSQLiteConnection","constructor","options","DB","baseDB","updateBuffer","rollbackHook","updateHook","update","addTableUpdate","opType","operation","SQLITE_INSERT","SQLITE_DELETE","SQLITE_UPDATE","push","table","rowId","flushUpdates","length","groupedUpdates","reduce","grouping","updateGroup","batchedUpdate","rawUpdates","tables","Object","keys","iterateListeners","l","tablesUpdated","close","execute","query","params","res","insertId","rowsAffected","rows","_array","item","index","executeBatch","tuple","slice","forEach","p","result","getAll","sql","parameters","getOptional","get","Error","refreshSchema"],"sourceRoot":"../../../src","sources":["db/OPSQLiteConnection.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { BaseObserver } from '@powersync/common';
|
|
4
|
-
import { ANDROID_DATABASE_PATH, IOS_LIBRARY_PATH, open } from '@op-engineering/op-sqlite';
|
|
4
|
+
import { ANDROID_DATABASE_PATH, getDylibPath, IOS_LIBRARY_PATH, open } from '@op-engineering/op-sqlite';
|
|
5
5
|
import Lock from 'async-lock';
|
|
6
6
|
import { OPSQLiteConnection } from "./OPSQLiteConnection.js";
|
|
7
|
-
import {
|
|
7
|
+
import { Platform } from 'react-native';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Adapter for React Native Quick SQLite
|
|
@@ -16,6 +16,7 @@ var LockType = /*#__PURE__*/function (LockType) {
|
|
|
16
16
|
}(LockType || {});
|
|
17
17
|
const READ_CONNECTIONS = 5;
|
|
18
18
|
export class OPSQLiteDBAdapter extends BaseObserver {
|
|
19
|
+
readQueue = [];
|
|
19
20
|
constructor(options) {
|
|
20
21
|
super();
|
|
21
22
|
this.options = options;
|
|
@@ -30,21 +31,16 @@ export class OPSQLiteDBAdapter extends BaseObserver {
|
|
|
30
31
|
lockTimeoutMs,
|
|
31
32
|
journalMode,
|
|
32
33
|
journalSizeLimit,
|
|
33
|
-
synchronous
|
|
34
|
+
synchronous,
|
|
35
|
+
encryptionKey
|
|
34
36
|
} = this.options.sqliteOptions;
|
|
35
|
-
// const { dbFilename, dbLocation } = this.options;
|
|
36
37
|
const dbFilename = this.options.name;
|
|
37
|
-
|
|
38
|
-
const location = this.getDbLocation(this.options.dbLocation);
|
|
39
|
-
const DB = open({
|
|
40
|
-
name: dbFilename,
|
|
41
|
-
location: location
|
|
42
|
-
});
|
|
38
|
+
this.writeConnection = await this.openConnection(dbFilename);
|
|
43
39
|
const statements = [`PRAGMA busy_timeout = ${lockTimeoutMs}`, `PRAGMA journal_mode = ${journalMode}`, `PRAGMA journal_size_limit = ${journalSizeLimit}`, `PRAGMA synchronous = ${synchronous}`];
|
|
44
40
|
for (const statement of statements) {
|
|
45
41
|
for (let tries = 0; tries < 30; tries++) {
|
|
46
42
|
try {
|
|
47
|
-
await
|
|
43
|
+
await this.writeConnection.execute(statement);
|
|
48
44
|
break;
|
|
49
45
|
} catch (e) {
|
|
50
46
|
if (e instanceof Error && e.message.includes('database is locked') && tries < 29) {
|
|
@@ -55,33 +51,28 @@ export class OPSQLiteDBAdapter extends BaseObserver {
|
|
|
55
51
|
}
|
|
56
52
|
}
|
|
57
53
|
}
|
|
58
|
-
this.loadExtension(DB);
|
|
59
|
-
await DB.execute('SELECT powersync_init()');
|
|
60
|
-
this.readConnections = [];
|
|
61
|
-
for (let i = 0; i < READ_CONNECTIONS; i++) {
|
|
62
|
-
// Workaround to create read-only connections
|
|
63
|
-
let dbName = './'.repeat(i + 1) + dbFilename;
|
|
64
|
-
const conn = await this.openConnection(location, dbName);
|
|
65
|
-
await conn.execute('PRAGMA query_only = true');
|
|
66
|
-
this.readConnections.push(conn);
|
|
67
|
-
}
|
|
68
|
-
this.writeConnection = new OPSQLiteConnection({
|
|
69
|
-
baseDB: DB
|
|
70
|
-
});
|
|
71
54
|
|
|
72
55
|
// Changes should only occur in the write connection
|
|
73
56
|
this.writeConnection.registerListener({
|
|
74
57
|
tablesUpdated: notification => this.iterateListeners(cb => cb.tablesUpdated?.(notification))
|
|
75
58
|
});
|
|
59
|
+
this.readConnections = [];
|
|
60
|
+
for (let i = 0; i < READ_CONNECTIONS; i++) {
|
|
61
|
+
const conn = await this.openConnection(dbFilename);
|
|
62
|
+
await conn.execute('PRAGMA query_only = true');
|
|
63
|
+
this.readConnections.push({
|
|
64
|
+
busy: false,
|
|
65
|
+
connection: conn
|
|
66
|
+
});
|
|
67
|
+
}
|
|
76
68
|
}
|
|
77
|
-
async openConnection(
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
location: dbLocation
|
|
81
|
-
});
|
|
69
|
+
async openConnection(filenameOverride) {
|
|
70
|
+
const dbFilename = filenameOverride ?? this.options.name;
|
|
71
|
+
const DB = this.openDatabase(dbFilename, this.options.sqliteOptions.encryptionKey);
|
|
82
72
|
|
|
83
|
-
//Load
|
|
84
|
-
this.
|
|
73
|
+
//Load extensions for all connections
|
|
74
|
+
this.loadAdditionalExtensions(DB);
|
|
75
|
+
this.loadPowerSyncExtension(DB);
|
|
85
76
|
await DB.execute('SELECT powersync_init()');
|
|
86
77
|
return new OPSQLiteConnection({
|
|
87
78
|
baseDB: DB
|
|
@@ -94,10 +85,33 @@ export class OPSQLiteDBAdapter extends BaseObserver {
|
|
|
94
85
|
return dbLocation ?? ANDROID_DATABASE_PATH;
|
|
95
86
|
}
|
|
96
87
|
}
|
|
97
|
-
|
|
88
|
+
openDatabase(dbFilename, encryptionKey) {
|
|
89
|
+
//This is needed because an undefined/null dbLocation will cause the open function to fail
|
|
90
|
+
const location = this.getDbLocation(this.options.dbLocation);
|
|
91
|
+
//Simarlily if the encryption key is undefined/null when using SQLCipher it will cause the open function to fail
|
|
92
|
+
if (encryptionKey) {
|
|
93
|
+
return open({
|
|
94
|
+
name: dbFilename,
|
|
95
|
+
location: location,
|
|
96
|
+
encryptionKey: encryptionKey
|
|
97
|
+
});
|
|
98
|
+
} else {
|
|
99
|
+
return open({
|
|
100
|
+
name: dbFilename,
|
|
101
|
+
location: location
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
loadAdditionalExtensions(DB) {
|
|
106
|
+
if (this.options.sqliteOptions.extensions.length > 0) {
|
|
107
|
+
for (const extension of this.options.sqliteOptions.extensions) {
|
|
108
|
+
DB.loadExtension(extension.path, extension.entryPoint);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
async loadPowerSyncExtension(DB) {
|
|
98
113
|
if (Platform.OS === 'ios') {
|
|
99
|
-
const
|
|
100
|
-
const libPath = `${bundlePath}/Frameworks/powersync-sqlite-core.framework/powersync-sqlite-core`;
|
|
114
|
+
const libPath = getDylibPath('co.powersync.sqlitecore', 'powersync-sqlite-core');
|
|
101
115
|
DB.loadExtension(libPath, 'sqlite3_powersync_init');
|
|
102
116
|
} else {
|
|
103
117
|
DB.loadExtension('libpowersync', 'sqlite3_powersync_init');
|
|
@@ -106,33 +120,44 @@ export class OPSQLiteDBAdapter extends BaseObserver {
|
|
|
106
120
|
close() {
|
|
107
121
|
this.initialized.then(() => {
|
|
108
122
|
this.writeConnection.close();
|
|
109
|
-
this.readConnections.forEach(c => c.close());
|
|
123
|
+
this.readConnections.forEach(c => c.connection.close());
|
|
110
124
|
});
|
|
111
125
|
}
|
|
112
126
|
async readLock(fn, options) {
|
|
113
127
|
await this.initialized;
|
|
114
|
-
// TODO: Use async queues to handle multiple read connections
|
|
115
|
-
const sortedConnections = this.readConnections.map((connection, index) => ({
|
|
116
|
-
lockKey: `${LockType.READ}-${index}`,
|
|
117
|
-
connection
|
|
118
|
-
})).sort((a, b) => {
|
|
119
|
-
const aBusy = this.locks.isBusy(a.lockKey);
|
|
120
|
-
const bBusy = this.locks.isBusy(b.lockKey);
|
|
121
|
-
// Sort by ones which are not busy
|
|
122
|
-
return aBusy > bBusy ? 1 : 0;
|
|
123
|
-
});
|
|
124
128
|
return new Promise(async (resolve, reject) => {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
129
|
+
const execute = async () => {
|
|
130
|
+
// Find an available connection that is not busy
|
|
131
|
+
const availableConnection = this.readConnections.find(conn => !conn.busy);
|
|
132
|
+
|
|
133
|
+
// If we have an available connection, use it
|
|
134
|
+
if (availableConnection) {
|
|
135
|
+
availableConnection.busy = true;
|
|
136
|
+
try {
|
|
137
|
+
resolve(await fn(availableConnection.connection));
|
|
138
|
+
} catch (error) {
|
|
139
|
+
reject(error);
|
|
140
|
+
} finally {
|
|
141
|
+
availableConnection.busy = false;
|
|
142
|
+
// After query execution, process any queued tasks
|
|
143
|
+
this.processQueue();
|
|
144
|
+
}
|
|
145
|
+
} else {
|
|
146
|
+
// If no available connections, add to the queue
|
|
147
|
+
this.readQueue.push(execute);
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
execute();
|
|
134
151
|
});
|
|
135
152
|
}
|
|
153
|
+
async processQueue() {
|
|
154
|
+
if (this.readQueue.length > 0) {
|
|
155
|
+
const next = this.readQueue.shift();
|
|
156
|
+
if (next) {
|
|
157
|
+
next();
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
136
161
|
async writeLock(fn, options) {
|
|
137
162
|
await this.initialized;
|
|
138
163
|
return new Promise(async (resolve, reject) => {
|
|
@@ -141,6 +166,9 @@ export class OPSQLiteDBAdapter extends BaseObserver {
|
|
|
141
166
|
resolve(await fn(this.writeConnection));
|
|
142
167
|
}, {
|
|
143
168
|
timeout: options?.timeoutMs
|
|
169
|
+
}).then(() => {
|
|
170
|
+
// flush updates once a write lock has been released
|
|
171
|
+
this.writeConnection.flushUpdates();
|
|
144
172
|
});
|
|
145
173
|
} catch (ex) {
|
|
146
174
|
reject(ex);
|
|
@@ -205,5 +233,12 @@ export class OPSQLiteDBAdapter extends BaseObserver {
|
|
|
205
233
|
throw ex;
|
|
206
234
|
}
|
|
207
235
|
}
|
|
236
|
+
async refreshSchema() {
|
|
237
|
+
await this.initialized;
|
|
238
|
+
await this.writeConnection.refreshSchema();
|
|
239
|
+
for (let readConnection of this.readConnections) {
|
|
240
|
+
await readConnection.connection.refreshSchema();
|
|
241
|
+
}
|
|
242
|
+
}
|
|
208
243
|
}
|
|
209
244
|
//# sourceMappingURL=OPSqliteAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseObserver","ANDROID_DATABASE_PATH","IOS_LIBRARY_PATH","open","Lock","OPSQLiteConnection","
|
|
1
|
+
{"version":3,"names":["BaseObserver","ANDROID_DATABASE_PATH","getDylibPath","IOS_LIBRARY_PATH","open","Lock","OPSQLiteConnection","Platform","LockType","READ_CONNECTIONS","OPSQLiteDBAdapter","readQueue","constructor","options","name","locks","readConnections","writeConnection","initialized","init","lockTimeoutMs","journalMode","journalSizeLimit","synchronous","encryptionKey","sqliteOptions","dbFilename","openConnection","statements","statement","tries","execute","e","Error","message","includes","registerListener","tablesUpdated","notification","iterateListeners","cb","i","conn","push","busy","connection","filenameOverride","DB","openDatabase","loadAdditionalExtensions","loadPowerSyncExtension","baseDB","getDbLocation","dbLocation","OS","location","extensions","length","extension","loadExtension","path","entryPoint","libPath","close","then","forEach","c","readLock","fn","Promise","resolve","reject","availableConnection","find","error","processQueue","next","shift","writeLock","acquire","WRITE","timeout","timeoutMs","flushUpdates","ex","readTransaction","ctx","internalTransaction","writeTransaction","getAll","sql","parameters","getOptional","get","query","params","executeBatch","finalized","commit","rowsAffected","rollback","result","refreshSchema","readConnection"],"sourceRoot":"../../../src","sources":["db/OPSqliteAdapter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -22,6 +22,8 @@ export const DEFAULT_SQLITE_OPTIONS = {
|
|
|
22
22
|
journalMode: SqliteJournalMode.wal,
|
|
23
23
|
synchronous: SqliteSynchronous.normal,
|
|
24
24
|
journalSizeLimit: 6 * 1024 * 1024,
|
|
25
|
-
lockTimeoutMs: 30000
|
|
25
|
+
lockTimeoutMs: 30000,
|
|
26
|
+
encryptionKey: null,
|
|
27
|
+
extensions: []
|
|
26
28
|
};
|
|
27
29
|
//# sourceMappingURL=SqliteOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SqliteJournalMode","SqliteSynchronous","DEFAULT_SQLITE_OPTIONS","journalMode","wal","synchronous","normal","journalSizeLimit","lockTimeoutMs"],"sourceRoot":"../../../src","sources":["db/SqliteOptions.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["SqliteJournalMode","SqliteSynchronous","DEFAULT_SQLITE_OPTIONS","journalMode","wal","synchronous","normal","journalSizeLimit","lockTimeoutMs","encryptionKey","extensions"],"sourceRoot":"../../../src","sources":["db/SqliteOptions.ts"],"mappings":";;AA0CA;AACA;AACA;AAAA,IACKA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA,EAAjBA,iBAAiB,SAWtB;AAAA,IACKC,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA,EAAjBA,iBAAiB;AAMtB,OAAO,MAAMC,sBAA+C,GAAG;EAC7DC,WAAW,EAAEH,iBAAiB,CAACI,GAAG;EAClCC,WAAW,EAAEJ,iBAAiB,CAACK,MAAM;EACrCC,gBAAgB,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;EACjCC,aAAa,EAAE,KAAK;EACpBC,aAAa,EAAE,IAAI;EACnBC,UAAU,EAAE;AACd,CAAC","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,19 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { NativeModules, Platform } from 'react-native';
|
|
4
|
-
const LINKING_ERROR = `The package '@powersync/op-sqlite' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
5
|
-
ios: "- You have run 'pod install'\n",
|
|
6
|
-
default: ''
|
|
7
|
-
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
8
|
-
const isTurboModuleEnabled = global.__turboModuleProxy != null;
|
|
9
|
-
const PowerSyncOpSqliteModule = isTurboModuleEnabled ? require('./NativePowerSyncOpSqlite').default : NativeModules.PowerSyncOpSqlite;
|
|
10
|
-
const PowerSyncOpSqlite = PowerSyncOpSqliteModule ? PowerSyncOpSqliteModule : new Proxy({}, {
|
|
11
|
-
get() {
|
|
12
|
-
throw new Error(LINKING_ERROR);
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
export function getBundlePath() {
|
|
16
|
-
return PowerSyncOpSqlite.getBundlePath();
|
|
17
|
-
}
|
|
18
3
|
export { OPSqliteOpenFactory, OPSQLiteOpenFactoryOptions } from "./db/OPSqliteDBOpenFactory.js";
|
|
19
4
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["OPSqliteOpenFactory","OPSQLiteOpenFactoryOptions"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SACEA,mBAAmB,EACnBC,0BAA0B,QACrB,+BAA4B","ignoreList":[]}
|
|
@@ -1,17 +1,27 @@
|
|
|
1
|
-
import { DB } from '@op-engineering/op-sqlite';
|
|
1
|
+
import { DB, UpdateHookOperation } from '@op-engineering/op-sqlite';
|
|
2
2
|
import { BaseObserver, DBAdapterListener, QueryResult } from '@powersync/common';
|
|
3
3
|
export type OPSQLiteConnectionOptions = {
|
|
4
4
|
baseDB: DB;
|
|
5
5
|
};
|
|
6
|
+
export type OPSQLiteUpdateNotification = {
|
|
7
|
+
table: string;
|
|
8
|
+
operation: UpdateHookOperation;
|
|
9
|
+
row?: any;
|
|
10
|
+
rowId: number;
|
|
11
|
+
};
|
|
6
12
|
export declare class OPSQLiteConnection extends BaseObserver<DBAdapterListener> {
|
|
7
13
|
protected options: OPSQLiteConnectionOptions;
|
|
8
14
|
protected DB: DB;
|
|
15
|
+
private updateBuffer;
|
|
9
16
|
constructor(options: OPSQLiteConnectionOptions);
|
|
17
|
+
addTableUpdate(update: OPSQLiteUpdateNotification): void;
|
|
18
|
+
flushUpdates(): void;
|
|
10
19
|
close(): void;
|
|
11
20
|
execute(query: string, params?: any[]): Promise<QueryResult>;
|
|
12
21
|
executeBatch(query: string, params?: any[][]): Promise<QueryResult>;
|
|
13
22
|
getAll<T>(sql: string, parameters?: any[]): Promise<T[]>;
|
|
14
23
|
getOptional<T>(sql: string, parameters?: any[]): Promise<T | null>;
|
|
15
24
|
get<T>(sql: string, parameters?: any[]): Promise<T>;
|
|
25
|
+
refreshSchema(): Promise<void>;
|
|
16
26
|
}
|
|
17
27
|
//# sourceMappingURL=OPSQLiteConnection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OPSQLiteConnection.d.ts","sourceRoot":"","sources":["../../../../../src/db/OPSQLiteConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAiB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"OPSQLiteConnection.d.ts","sourceRoot":"","sources":["../../../../../src/db/OPSQLiteConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAiB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EACL,YAAY,EAEZ,iBAAiB,EACjB,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,EAAE,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,mBAAmB,CAAC;IAC/B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,kBAAmB,SAAQ,YAAY,CAAC,iBAAiB,CAAC;IAIzD,SAAS,CAAC,OAAO,EAAE,yBAAyB;IAHxD,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC;IACjB,OAAO,CAAC,YAAY,CAAuB;gBAErB,OAAO,EAAE,yBAAyB;IAcxD,cAAc,CAAC,MAAM,EAAE,0BAA0B;IAqBjD,YAAY;IAsBZ,KAAK;IAIC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAa5D,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAE,EAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAUvE,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAKxD,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAKlE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAQnD,aAAa;CAGpB"}
|
|
@@ -15,15 +15,22 @@ export declare class OPSQLiteDBAdapter extends BaseObserver<DBAdapterListener> i
|
|
|
15
15
|
name: string;
|
|
16
16
|
protected locks: Lock;
|
|
17
17
|
protected initialized: Promise<void>;
|
|
18
|
-
protected readConnections:
|
|
18
|
+
protected readConnections: Array<{
|
|
19
|
+
busy: boolean;
|
|
20
|
+
connection: OPSQLiteConnection;
|
|
21
|
+
}> | null;
|
|
19
22
|
protected writeConnection: OPSQLiteConnection | null;
|
|
23
|
+
private readQueue;
|
|
20
24
|
constructor(options: OPSQLiteAdapterOptions);
|
|
21
25
|
protected init(): Promise<void>;
|
|
22
|
-
protected openConnection(
|
|
26
|
+
protected openConnection(filenameOverride?: string): Promise<OPSQLiteConnection>;
|
|
23
27
|
private getDbLocation;
|
|
24
|
-
private
|
|
28
|
+
private openDatabase;
|
|
29
|
+
private loadAdditionalExtensions;
|
|
30
|
+
private loadPowerSyncExtension;
|
|
25
31
|
close(): void;
|
|
26
32
|
readLock<T>(fn: (tx: OPSQLiteConnection) => Promise<T>, options?: DBLockOptions): Promise<T>;
|
|
33
|
+
private processQueue;
|
|
27
34
|
writeLock<T>(fn: (tx: OPSQLiteConnection) => Promise<T>, options?: DBLockOptions): Promise<T>;
|
|
28
35
|
readTransaction<T>(fn: (tx: Transaction) => Promise<T>, options?: DBLockOptions): Promise<T>;
|
|
29
36
|
writeTransaction<T>(fn: (tx: Transaction) => Promise<T>, options?: DBLockOptions): Promise<T>;
|
|
@@ -33,5 +40,6 @@ export declare class OPSQLiteDBAdapter extends BaseObserver<DBAdapterListener> i
|
|
|
33
40
|
execute(query: string, params?: any[]): Promise<QueryResult>;
|
|
34
41
|
executeBatch(query: string, params?: any[][]): Promise<QueryResult>;
|
|
35
42
|
protected internalTransaction<T>(connection: OPSQLiteConnection, fn: (tx: Transaction) => Promise<T>): Promise<T>;
|
|
43
|
+
refreshSchema(): Promise<void>;
|
|
36
44
|
}
|
|
37
45
|
//# sourceMappingURL=OPSqliteAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OPSqliteAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/db/OPSqliteAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,WAAW,
|
|
1
|
+
{"version":3,"file":"OPSqliteAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/db/OPSqliteAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,19 @@ export interface SqliteOptions {
|
|
|
20
20
|
* Set to null or zero to fail immediately when the database is locked.
|
|
21
21
|
*/
|
|
22
22
|
lockTimeoutMs?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Encryption key for the database.
|
|
25
|
+
* If set, the database will be encrypted using SQLCipher.
|
|
26
|
+
*/
|
|
27
|
+
encryptionKey?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Load extensions using the path and entryPoint.
|
|
30
|
+
* More info can be found here https://op-engineering.github.io/op-sqlite/docs/api#loading-extensions.
|
|
31
|
+
*/
|
|
32
|
+
extensions?: Array<{
|
|
33
|
+
path: string;
|
|
34
|
+
entryPoint?: string;
|
|
35
|
+
}>;
|
|
23
36
|
}
|
|
24
37
|
declare enum SqliteJournalMode {
|
|
25
38
|
wal = "WAL",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteOptions.d.ts","sourceRoot":"","sources":["../../../../../src/db/SqliteOptions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAEhC;;;OAGG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAEhC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"SqliteOptions.d.ts","sourceRoot":"","sources":["../../../../../src/db/SqliteOptions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAEhC;;;OAGG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAEhC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAKD,aAAK,iBAAiB;IAGpB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAGD,aAAK,iBAAiB;IACpB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,GAAG,QAAQ;CACZ;AAED,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,aAAa,CAO1D,CAAC"}
|
|
@@ -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":"AAAA,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC3B,MAAM,4BAA4B,CAAC"}
|