@powersync/op-sqlite 0.9.5 → 0.9.7
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/android/build.gradle +1 -1
- package/lib/commonjs/db/OPSQLiteConnection.js +3 -0
- package/lib/commonjs/db/OPSQLiteConnection.js.map +1 -1
- package/lib/commonjs/db/OPSqliteAdapter.js +5 -4
- package/lib/commonjs/db/OPSqliteAdapter.js.map +1 -1
- package/lib/module/db/OPSQLiteConnection.js +3 -0
- package/lib/module/db/OPSQLiteConnection.js.map +1 -1
- package/lib/module/db/OPSqliteAdapter.js +5 -4
- package/lib/module/db/OPSqliteAdapter.js.map +1 -1
- package/lib/typescript/commonjs/src/db/OPSQLiteConnection.d.ts +2 -0
- package/lib/typescript/commonjs/src/db/OPSQLiteConnection.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/db/OPSqliteAdapter.d.ts +1 -1
- package/lib/typescript/commonjs/src/db/OPSqliteAdapter.d.ts.map +1 -1
- package/lib/typescript/module/src/db/OPSQLiteConnection.d.ts +2 -0
- package/lib/typescript/module/src/db/OPSQLiteConnection.d.ts.map +1 -1
- package/lib/typescript/module/src/db/OPSqliteAdapter.d.ts +1 -1
- package/lib/typescript/module/src/db/OPSqliteAdapter.d.ts.map +1 -1
- package/package.json +3 -3
- package/powersync-op-sqlite.podspec +1 -1
- package/src/db/OPSQLiteConnection.ts +5 -0
- package/src/db/OPSqliteAdapter.ts +5 -4
package/android/build.gradle
CHANGED
|
@@ -107,7 +107,7 @@ repositories {
|
|
|
107
107
|
def kotlin_version = getExtOrDefault("kotlinVersion")
|
|
108
108
|
|
|
109
109
|
dependencies {
|
|
110
|
-
implementation 'com.powersync:powersync-sqlite-core:0.4.
|
|
110
|
+
implementation 'com.powersync:powersync-sqlite-core:0.4.12'
|
|
111
111
|
// For < 0.71, this will be from the local maven repo
|
|
112
112
|
// For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
|
|
113
113
|
//noinspection GradleDynamicVersion
|
|
@@ -85,6 +85,9 @@ class OPSQLiteExecutor extends _common.BaseObserver {
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
class OPSQLiteConnection extends (0, _common.DBGetUtilsDefaultMixin)(OPSQLiteExecutor) {
|
|
88
|
+
get connectionType() {
|
|
89
|
+
return this.options.readonly ? 'queryOnly' : 'writer';
|
|
90
|
+
}
|
|
88
91
|
async refreshSchema() {
|
|
89
92
|
await this.get("PRAGMA table_info('sqlite_master')");
|
|
90
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_common","require","OPSQLiteExecutor","BaseObserver","constructor","options","DB","baseDB","updateBuffer","rollbackHook","updateHook","update","addTableUpdate","opType","operation","RowUpdateType","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","executeRaw","executeNativeBatch","tuple","slice","forEach","p","result","executeBatch","OPSQLiteConnection","DBGetUtilsDefaultMixin","refreshSchema","get","exports"],"sourceRoot":"../../../src","sources":["db/OPSQLiteConnection.ts"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_common","require","OPSQLiteExecutor","BaseObserver","constructor","options","DB","baseDB","updateBuffer","rollbackHook","updateHook","update","addTableUpdate","opType","operation","RowUpdateType","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","executeRaw","executeNativeBatch","tuple","slice","forEach","p","result","executeBatch","OPSQLiteConnection","DBGetUtilsDefaultMixin","connectionType","readonly","refreshSchema","get","exports"],"sourceRoot":"../../../src","sources":["db/OPSQLiteConnection.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -33,7 +33,7 @@ class OPSQLiteConnectionPool extends _common.BaseObserver {
|
|
|
33
33
|
temporaryStorage
|
|
34
34
|
} = this.options.sqliteOptions;
|
|
35
35
|
const dbFilename = this.options.name;
|
|
36
|
-
const underlyingWriteConnection = await this.openConnection(dbFilename);
|
|
36
|
+
const underlyingWriteConnection = await this.openConnection(false, dbFilename);
|
|
37
37
|
const baseStatements = [`PRAGMA busy_timeout = ${lockTimeoutMs}`, `PRAGMA cache_size = -${cacheSizeKb}`, `PRAGMA temp_store = ${temporaryStorage}`];
|
|
38
38
|
const writeConnectionStatements = [...baseStatements, `PRAGMA journal_mode = ${journalMode}`, `PRAGMA journal_size_limit = ${journalSizeLimit}`, `PRAGMA synchronous = ${synchronous}`];
|
|
39
39
|
const readConnectionStatements = [...baseStatements, 'PRAGMA query_only = true'];
|
|
@@ -58,7 +58,7 @@ class OPSQLiteConnectionPool extends _common.BaseObserver {
|
|
|
58
58
|
});
|
|
59
59
|
const underlyingReadConnections = [];
|
|
60
60
|
for (let i = 0; i < READ_CONNECTIONS; i++) {
|
|
61
|
-
const conn = await this.openConnection(dbFilename);
|
|
61
|
+
const conn = await this.openConnection(true, dbFilename);
|
|
62
62
|
for (let statement of readConnectionStatements) {
|
|
63
63
|
await conn.execute(statement);
|
|
64
64
|
}
|
|
@@ -67,7 +67,7 @@ class OPSQLiteConnectionPool extends _common.BaseObserver {
|
|
|
67
67
|
this.writeConnection = new _common.Semaphore([underlyingWriteConnection]);
|
|
68
68
|
this.readConnections = new _common.Semaphore(underlyingReadConnections);
|
|
69
69
|
}
|
|
70
|
-
async openConnection(filenameOverride) {
|
|
70
|
+
async openConnection(readonly, filenameOverride) {
|
|
71
71
|
const dbFilename = filenameOverride ?? this.options.name;
|
|
72
72
|
const DB = this.openDatabase(dbFilename, this.options.sqliteOptions?.encryptionKey ?? undefined);
|
|
73
73
|
|
|
@@ -76,7 +76,8 @@ class OPSQLiteConnectionPool extends _common.BaseObserver {
|
|
|
76
76
|
this.loadPowerSyncExtension(DB);
|
|
77
77
|
await DB.execute('SELECT powersync_init()');
|
|
78
78
|
return new _OPSQLiteConnection.OPSQLiteConnection({
|
|
79
|
-
baseDB: DB
|
|
79
|
+
baseDB: DB,
|
|
80
|
+
readonly
|
|
80
81
|
});
|
|
81
82
|
}
|
|
82
83
|
openDatabase(dbFilename, encryptionKey) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_opSqlite","require","_common","_reactNative","_OPSQLiteConnection","READ_CONNECTIONS","OPSQLiteConnectionPool","BaseObserver","constructor","options","name","readConnections","writeConnection","abortController","AbortController","initialized","init","lockTimeoutMs","journalMode","journalSizeLimit","synchronous","cacheSizeKb","temporaryStorage","sqliteOptions","dbFilename","underlyingWriteConnection","openConnection","baseStatements","writeConnectionStatements","readConnectionStatements","statement","tries","execute","e","Error","message","includes","registerListener","tablesUpdated","notification","iterateListeners","cb","underlyingReadConnections","i","conn","push","Semaphore","filenameOverride","DB","openDatabase","encryptionKey","undefined","loadAdditionalExtensions","loadPowerSyncExtension","OPSQLiteConnection","baseDB","openOptions","dbLocation","location","open","extensions","length","extension","loadExtension","path","entryPoint","Platform","OS","libPath","getDylibPath","close","abort","item","release","returnWrite","requestOne","items","readers","returnReaders","requestAll","forEach","c","generateNestedAbortSignal","outerSignal","signal","cleanUpInnerSignal","timeoutMs","aborted","innerController","removeEventListener","timeout","addEventListener","timeoutSignal","readLock","fn","writeLock","finally","flushUpdates","refreshSchema","l","readConnection","OPSQLiteDBAdapter","DBAdapterDefaultMixin","executeBatch","query","params","tx","executeNativeBatch","exports"],"sourceRoot":"../../../src","sources":["db/OPSqliteAdapter.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAYA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAGA;AACA;AACA;;AAOA,MAAMI,gBAAgB,GAAG,CAAC;AAE1B,MAAMC,sBAAsB,SAASC,oBAAY,CAA8C;EAU7FC,WAAWA,CAAWC,OAA+B,EAAE;IACrD,KAAK,CAAC,CAAC;IAAC,KADYA,OAA+B,GAA/BA,OAA+B;IAEnD,IAAI,CAACC,IAAI,GAAG,IAAI,CAACD,OAAO,CAACC,IAAI;IAE7B,IAAI,CAACC,eAAe,GAAG,IAAI;IAC3B,IAAI,CAACC,eAAe,GAAG,IAAI;IAC3B,IAAI,CAACC,eAAe,GAAG,IAAIC,eAAe,CAAC,CAAC;IAC5C,IAAI,CAACC,WAAW,GAAG,IAAI,CAACC,IAAI,CAAC,CAAC;EAChC;EAEA,MAAgBA,IAAIA,CAAA,EAAG;IACrB,MAAM;MAAEC,aAAa;MAAEC,WAAW;MAAEC,gBAAgB;MAAEC,WAAW;MAAEC,WAAW;MAAEC;IAAiB,CAAC,GAChG,IAAI,CAACb,OAAO,CAACc,aAAc;IAC7B,MAAMC,UAAU,GAAG,IAAI,CAACf,OAAO,CAACC,IAAI;IAEpC,MAAMe,yBAAyB,GAAG,MAAM,IAAI,CAACC,cAAc,
|
|
1
|
+
{"version":3,"names":["_opSqlite","require","_common","_reactNative","_OPSQLiteConnection","READ_CONNECTIONS","OPSQLiteConnectionPool","BaseObserver","constructor","options","name","readConnections","writeConnection","abortController","AbortController","initialized","init","lockTimeoutMs","journalMode","journalSizeLimit","synchronous","cacheSizeKb","temporaryStorage","sqliteOptions","dbFilename","underlyingWriteConnection","openConnection","baseStatements","writeConnectionStatements","readConnectionStatements","statement","tries","execute","e","Error","message","includes","registerListener","tablesUpdated","notification","iterateListeners","cb","underlyingReadConnections","i","conn","push","Semaphore","readonly","filenameOverride","DB","openDatabase","encryptionKey","undefined","loadAdditionalExtensions","loadPowerSyncExtension","OPSQLiteConnection","baseDB","openOptions","dbLocation","location","open","extensions","length","extension","loadExtension","path","entryPoint","Platform","OS","libPath","getDylibPath","close","abort","item","release","returnWrite","requestOne","items","readers","returnReaders","requestAll","forEach","c","generateNestedAbortSignal","outerSignal","signal","cleanUpInnerSignal","timeoutMs","aborted","innerController","removeEventListener","timeout","addEventListener","timeoutSignal","readLock","fn","writeLock","finally","flushUpdates","refreshSchema","l","readConnection","OPSQLiteDBAdapter","DBAdapterDefaultMixin","executeBatch","query","params","tx","executeNativeBatch","exports"],"sourceRoot":"../../../src","sources":["db/OPSqliteAdapter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -81,6 +81,9 @@ class OPSQLiteExecutor extends BaseObserver {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
export class OPSQLiteConnection extends DBGetUtilsDefaultMixin(OPSQLiteExecutor) {
|
|
84
|
+
get connectionType() {
|
|
85
|
+
return this.options.readonly ? 'queryOnly' : 'writer';
|
|
86
|
+
}
|
|
84
87
|
async refreshSchema() {
|
|
85
88
|
await this.get("PRAGMA table_info('sqlite_master')");
|
|
86
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseObserver","DBGetUtilsDefaultMixin","RowUpdateType","OPSQLiteExecutor","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","executeRaw","executeNativeBatch","tuple","slice","forEach","p","result","executeBatch","OPSQLiteConnection","refreshSchema","get"],"sourceRoot":"../../../src","sources":["db/OPSQLiteConnection.ts"],"mappings":";;AACA,SACEA,YAAY,EAGZC,sBAAsB,EAGtBC,aAAa,QAGR,mBAAmB;
|
|
1
|
+
{"version":3,"names":["BaseObserver","DBGetUtilsDefaultMixin","RowUpdateType","OPSQLiteExecutor","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","executeRaw","executeNativeBatch","tuple","slice","forEach","p","result","executeBatch","OPSQLiteConnection","connectionType","readonly","refreshSchema","get"],"sourceRoot":"../../../src","sources":["db/OPSQLiteConnection.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -30,7 +30,7 @@ class OPSQLiteConnectionPool extends BaseObserver {
|
|
|
30
30
|
temporaryStorage
|
|
31
31
|
} = this.options.sqliteOptions;
|
|
32
32
|
const dbFilename = this.options.name;
|
|
33
|
-
const underlyingWriteConnection = await this.openConnection(dbFilename);
|
|
33
|
+
const underlyingWriteConnection = await this.openConnection(false, dbFilename);
|
|
34
34
|
const baseStatements = [`PRAGMA busy_timeout = ${lockTimeoutMs}`, `PRAGMA cache_size = -${cacheSizeKb}`, `PRAGMA temp_store = ${temporaryStorage}`];
|
|
35
35
|
const writeConnectionStatements = [...baseStatements, `PRAGMA journal_mode = ${journalMode}`, `PRAGMA journal_size_limit = ${journalSizeLimit}`, `PRAGMA synchronous = ${synchronous}`];
|
|
36
36
|
const readConnectionStatements = [...baseStatements, 'PRAGMA query_only = true'];
|
|
@@ -55,7 +55,7 @@ class OPSQLiteConnectionPool extends BaseObserver {
|
|
|
55
55
|
});
|
|
56
56
|
const underlyingReadConnections = [];
|
|
57
57
|
for (let i = 0; i < READ_CONNECTIONS; i++) {
|
|
58
|
-
const conn = await this.openConnection(dbFilename);
|
|
58
|
+
const conn = await this.openConnection(true, dbFilename);
|
|
59
59
|
for (let statement of readConnectionStatements) {
|
|
60
60
|
await conn.execute(statement);
|
|
61
61
|
}
|
|
@@ -64,7 +64,7 @@ class OPSQLiteConnectionPool extends BaseObserver {
|
|
|
64
64
|
this.writeConnection = new Semaphore([underlyingWriteConnection]);
|
|
65
65
|
this.readConnections = new Semaphore(underlyingReadConnections);
|
|
66
66
|
}
|
|
67
|
-
async openConnection(filenameOverride) {
|
|
67
|
+
async openConnection(readonly, filenameOverride) {
|
|
68
68
|
const dbFilename = filenameOverride ?? this.options.name;
|
|
69
69
|
const DB = this.openDatabase(dbFilename, this.options.sqliteOptions?.encryptionKey ?? undefined);
|
|
70
70
|
|
|
@@ -73,7 +73,8 @@ class OPSQLiteConnectionPool extends BaseObserver {
|
|
|
73
73
|
this.loadPowerSyncExtension(DB);
|
|
74
74
|
await DB.execute('SELECT powersync_init()');
|
|
75
75
|
return new OPSQLiteConnection({
|
|
76
|
-
baseDB: DB
|
|
76
|
+
baseDB: DB,
|
|
77
|
+
readonly
|
|
77
78
|
});
|
|
78
79
|
}
|
|
79
80
|
openDatabase(dbFilename, encryptionKey) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getDylibPath","open","BaseObserver","DBAdapterDefaultMixin","timeoutSignal","Semaphore","Platform","OPSQLiteConnection","READ_CONNECTIONS","OPSQLiteConnectionPool","constructor","options","name","readConnections","writeConnection","abortController","AbortController","initialized","init","lockTimeoutMs","journalMode","journalSizeLimit","synchronous","cacheSizeKb","temporaryStorage","sqliteOptions","dbFilename","underlyingWriteConnection","openConnection","baseStatements","writeConnectionStatements","readConnectionStatements","statement","tries","execute","e","Error","message","includes","registerListener","tablesUpdated","notification","iterateListeners","cb","underlyingReadConnections","i","conn","push","filenameOverride","DB","openDatabase","encryptionKey","undefined","loadAdditionalExtensions","loadPowerSyncExtension","baseDB","openOptions","dbLocation","location","extensions","length","extension","loadExtension","path","entryPoint","OS","libPath","close","abort","item","release","returnWrite","requestOne","items","readers","returnReaders","requestAll","forEach","c","generateNestedAbortSignal","outerSignal","signal","cleanUpInnerSignal","timeoutMs","aborted","innerController","removeEventListener","timeout","addEventListener","readLock","fn","writeLock","finally","flushUpdates","refreshSchema","l","readConnection","OPSQLiteDBAdapter","executeBatch","query","params","tx","executeNativeBatch"],"sourceRoot":"../../../src","sources":["db/OPSqliteAdapter.ts"],"mappings":";;AAAA,SAASA,YAAY,EAAEC,IAAI,QAAiB,2BAA2B;AACvE,SACEC,YAAY,EAGZC,qBAAqB,EAKrBC,aAAa,EACbC,SAAS,QACJ,mBAAmB;AAC1B,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,kBAAkB,QAAQ,yBAAsB;;AAGzD;AACA;AACA;;AAOA,MAAMC,gBAAgB,GAAG,CAAC;AAE1B,MAAMC,sBAAsB,SAASP,YAAY,CAA8C;EAU7FQ,WAAWA,CAAWC,OAA+B,EAAE;IACrD,KAAK,CAAC,CAAC;IAAC,KADYA,OAA+B,GAA/BA,OAA+B;IAEnD,IAAI,CAACC,IAAI,GAAG,IAAI,CAACD,OAAO,CAACC,IAAI;IAE7B,IAAI,CAACC,eAAe,GAAG,IAAI;IAC3B,IAAI,CAACC,eAAe,GAAG,IAAI;IAC3B,IAAI,CAACC,eAAe,GAAG,IAAIC,eAAe,CAAC,CAAC;IAC5C,IAAI,CAACC,WAAW,GAAG,IAAI,CAACC,IAAI,CAAC,CAAC;EAChC;EAEA,MAAgBA,IAAIA,CAAA,EAAG;IACrB,MAAM;MAAEC,aAAa;MAAEC,WAAW;MAAEC,gBAAgB;MAAEC,WAAW;MAAEC,WAAW;MAAEC;IAAiB,CAAC,GAChG,IAAI,CAACb,OAAO,CAACc,aAAc;IAC7B,MAAMC,UAAU,GAAG,IAAI,CAACf,OAAO,CAACC,IAAI;IAEpC,MAAMe,yBAAyB,GAAG,MAAM,IAAI,CAACC,cAAc,
|
|
1
|
+
{"version":3,"names":["getDylibPath","open","BaseObserver","DBAdapterDefaultMixin","timeoutSignal","Semaphore","Platform","OPSQLiteConnection","READ_CONNECTIONS","OPSQLiteConnectionPool","constructor","options","name","readConnections","writeConnection","abortController","AbortController","initialized","init","lockTimeoutMs","journalMode","journalSizeLimit","synchronous","cacheSizeKb","temporaryStorage","sqliteOptions","dbFilename","underlyingWriteConnection","openConnection","baseStatements","writeConnectionStatements","readConnectionStatements","statement","tries","execute","e","Error","message","includes","registerListener","tablesUpdated","notification","iterateListeners","cb","underlyingReadConnections","i","conn","push","readonly","filenameOverride","DB","openDatabase","encryptionKey","undefined","loadAdditionalExtensions","loadPowerSyncExtension","baseDB","openOptions","dbLocation","location","extensions","length","extension","loadExtension","path","entryPoint","OS","libPath","close","abort","item","release","returnWrite","requestOne","items","readers","returnReaders","requestAll","forEach","c","generateNestedAbortSignal","outerSignal","signal","cleanUpInnerSignal","timeoutMs","aborted","innerController","removeEventListener","timeout","addEventListener","readLock","fn","writeLock","finally","flushUpdates","refreshSchema","l","readConnection","OPSQLiteDBAdapter","executeBatch","query","params","tx","executeNativeBatch"],"sourceRoot":"../../../src","sources":["db/OPSqliteAdapter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@ import { DB, UpdateHookOperation } from '@op-engineering/op-sqlite';
|
|
|
2
2
|
import { BaseObserver, DBAdapterListener, LockContext, QueryResult, SqlExecutor } from '@powersync/common';
|
|
3
3
|
export type OPSQLiteConnectionOptions = {
|
|
4
4
|
baseDB: DB;
|
|
5
|
+
readonly: boolean;
|
|
5
6
|
};
|
|
6
7
|
export type OPSQLiteUpdateNotification = {
|
|
7
8
|
table: string;
|
|
@@ -30,6 +31,7 @@ declare const OPSQLiteConnection_base: (new (...args: any[]) => {
|
|
|
30
31
|
executeRaw: (query: string, params?: any[] | undefined) => Promise<any[][]>;
|
|
31
32
|
}) & typeof OPSQLiteExecutor;
|
|
32
33
|
export declare class OPSQLiteConnection extends OPSQLiteConnection_base implements LockContext {
|
|
34
|
+
get connectionType(): "writer" | "queryOnly";
|
|
33
35
|
refreshSchema(): Promise<void>;
|
|
34
36
|
}
|
|
35
37
|
export {};
|
|
@@ -1 +1 @@
|
|
|
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,EAEjB,WAAW,EACX,WAAW,EAEX,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,EAAE,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,EAEjB,WAAW,EACX,WAAW,EAEX,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,EAAE,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;CACnB,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,cAAM,gBAAiB,SAAQ,YAAY,CAAC,iBAAiB,CAAE,YAAW,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC;IAI7F,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,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;IAI3D,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAE,EAAO,GAAG,OAAO,CAAC,WAAW,CAAC;CASpF;;qCAWsX,CAAC;0CAAsE,CAAC;kCAAmE,CAAC;sCAAgE,CAAC;mCAAyE,CAAC;sCAAwF,CAAC;;AATvuB,qBAAa,kBAAmB,SAAQ,uBAAyC,YAAW,WAAW;IACrG,IAAI,cAAc,2BAEjB;IAEK,aAAa;CAGpB"}
|
|
@@ -18,7 +18,7 @@ declare class OPSQLiteConnectionPool extends BaseObserver<DBAdapterListener> imp
|
|
|
18
18
|
private abortController;
|
|
19
19
|
constructor(options: OPSQLiteAdapterOptions);
|
|
20
20
|
protected init(): Promise<void>;
|
|
21
|
-
protected openConnection(filenameOverride?: string): Promise<OPSQLiteConnection>;
|
|
21
|
+
protected openConnection(readonly: boolean, filenameOverride?: string): Promise<OPSQLiteConnection>;
|
|
22
22
|
private openDatabase;
|
|
23
23
|
private loadAdditionalExtensions;
|
|
24
24
|
private loadPowerSyncExtension;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OPSqliteAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/db/OPSqliteAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,SAAS,EAET,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,WAAW,EAEX,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAIF,cAAM,sBAAuB,SAAQ,YAAY,CAAC,iBAAiB,CAAE,YAAW,cAAc;IAUhF,SAAS,CAAC,OAAO,EAAE,sBAAsB;IATrD,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;IAChE,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;IAEhE,OAAO,CAAC,eAAe,CAAkB;gBAEnB,OAAO,EAAE,sBAAsB;cAUrC,IAAI;cAuDJ,cAAc,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"OPSqliteAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/db/OPSqliteAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,SAAS,EAET,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,WAAW,EAEX,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAIF,cAAM,sBAAuB,SAAQ,YAAY,CAAC,iBAAiB,CAAE,YAAW,cAAc;IAUhF,SAAS,CAAC,OAAO,EAAE,sBAAsB;IATrD,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;IAChE,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;IAEhE,OAAO,CAAC,eAAe,CAAkB;gBAEnB,OAAO,EAAE,sBAAsB;cAUrC,IAAI;cAuDJ,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgBzG,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,wBAAwB;YAQlB,sBAAsB;IAS9B,KAAK;IAiBX,OAAO,CAAC,yBAAyB;IA0B3B,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;IAa5F,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;IAa7F,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAYrC;;mEAzBkF,CAAC;oEAG/B,CAAC;qCACb,CAAC;0CAElB,CAAC;kCAEb,CAAC;iCAKC,CAAC;oCAEG,CAAC;sCACkB,CAAC;;;0FAM9B,CAAC;2FAKqE,CAAC;;;;AAA/E,qBAAa,iBAAkB,SAAQ,sBAA8C,YAAW,SAAS;IACjG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAE,EAAO,GAAG,OAAO,CAAC,WAAW,CAAC;CAK9E"}
|
|
@@ -2,6 +2,7 @@ import { DB, UpdateHookOperation } from '@op-engineering/op-sqlite';
|
|
|
2
2
|
import { BaseObserver, DBAdapterListener, LockContext, QueryResult, SqlExecutor } from '@powersync/common';
|
|
3
3
|
export type OPSQLiteConnectionOptions = {
|
|
4
4
|
baseDB: DB;
|
|
5
|
+
readonly: boolean;
|
|
5
6
|
};
|
|
6
7
|
export type OPSQLiteUpdateNotification = {
|
|
7
8
|
table: string;
|
|
@@ -30,6 +31,7 @@ declare const OPSQLiteConnection_base: (new (...args: any[]) => {
|
|
|
30
31
|
executeRaw: (query: string, params?: any[] | undefined) => Promise<any[][]>;
|
|
31
32
|
}) & typeof OPSQLiteExecutor;
|
|
32
33
|
export declare class OPSQLiteConnection extends OPSQLiteConnection_base implements LockContext {
|
|
34
|
+
get connectionType(): "writer" | "queryOnly";
|
|
33
35
|
refreshSchema(): Promise<void>;
|
|
34
36
|
}
|
|
35
37
|
export {};
|
|
@@ -1 +1 @@
|
|
|
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,EAEjB,WAAW,EACX,WAAW,EAEX,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,EAAE,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,EAEjB,WAAW,EACX,WAAW,EAEX,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,EAAE,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;CACnB,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,cAAM,gBAAiB,SAAQ,YAAY,CAAC,iBAAiB,CAAE,YAAW,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC;IAI7F,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,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;IAI3D,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAE,EAAO,GAAG,OAAO,CAAC,WAAW,CAAC;CASpF;;qCAWsX,CAAC;0CAAsE,CAAC;kCAAmE,CAAC;sCAAgE,CAAC;mCAAyE,CAAC;sCAAwF,CAAC;;AATvuB,qBAAa,kBAAmB,SAAQ,uBAAyC,YAAW,WAAW;IACrG,IAAI,cAAc,2BAEjB;IAEK,aAAa;CAGpB"}
|
|
@@ -18,7 +18,7 @@ declare class OPSQLiteConnectionPool extends BaseObserver<DBAdapterListener> imp
|
|
|
18
18
|
private abortController;
|
|
19
19
|
constructor(options: OPSQLiteAdapterOptions);
|
|
20
20
|
protected init(): Promise<void>;
|
|
21
|
-
protected openConnection(filenameOverride?: string): Promise<OPSQLiteConnection>;
|
|
21
|
+
protected openConnection(readonly: boolean, filenameOverride?: string): Promise<OPSQLiteConnection>;
|
|
22
22
|
private openDatabase;
|
|
23
23
|
private loadAdditionalExtensions;
|
|
24
24
|
private loadPowerSyncExtension;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OPSqliteAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/db/OPSqliteAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,SAAS,EAET,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,WAAW,EAEX,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAIF,cAAM,sBAAuB,SAAQ,YAAY,CAAC,iBAAiB,CAAE,YAAW,cAAc;IAUhF,SAAS,CAAC,OAAO,EAAE,sBAAsB;IATrD,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;IAChE,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;IAEhE,OAAO,CAAC,eAAe,CAAkB;gBAEnB,OAAO,EAAE,sBAAsB;cAUrC,IAAI;cAuDJ,cAAc,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"OPSqliteAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/db/OPSqliteAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,SAAS,EAET,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,WAAW,EAEX,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAIF,cAAM,sBAAuB,SAAQ,YAAY,CAAC,iBAAiB,CAAE,YAAW,cAAc;IAUhF,SAAS,CAAC,OAAO,EAAE,sBAAsB;IATrD,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;IAChE,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;IAEhE,OAAO,CAAC,eAAe,CAAkB;gBAEnB,OAAO,EAAE,sBAAsB;cAUrC,IAAI;cAuDJ,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgBzG,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,wBAAwB;YAQlB,sBAAsB;IAS9B,KAAK;IAiBX,OAAO,CAAC,yBAAyB;IA0B3B,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;IAa5F,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;IAa7F,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAYrC;;mEAzBkF,CAAC;oEAG/B,CAAC;qCACb,CAAC;0CAElB,CAAC;kCAEb,CAAC;iCAKC,CAAC;oCAEG,CAAC;sCACkB,CAAC;;;0FAM9B,CAAC;2FAKqE,CAAC;;;;AAA/E,qBAAa,iBAAkB,SAAQ,sBAA8C,YAAW,SAAS;IACjG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAE,EAAO,GAAG,OAAO,CAAC,WAAW,CAAC;CAK9E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powersync/op-sqlite",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.7",
|
|
4
4
|
"description": "PowerSync - sync Postgres or MongoDB with SQLite in your React Native app for offline-first and real-time data",
|
|
5
5
|
"source": "./src/index.ts",
|
|
6
6
|
"main": "./lib/commonjs/index.js",
|
|
@@ -59,12 +59,12 @@
|
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"@op-engineering/op-sqlite": "^13.0.0 || ^14.0.0 || ^15.0.0",
|
|
62
|
-
"@powersync/common": "^1.
|
|
62
|
+
"@powersync/common": "^1.53.0",
|
|
63
63
|
"react": "*",
|
|
64
64
|
"react-native": "*"
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
|
-
"@powersync/common": "1.
|
|
67
|
+
"@powersync/common": "1.53.0"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@op-engineering/op-sqlite": "^15.2.2",
|
|
@@ -23,7 +23,7 @@ Pod::Spec.new do |s|
|
|
|
23
23
|
|
|
24
24
|
s.dependency "React-callinvoker"
|
|
25
25
|
s.dependency "React"
|
|
26
|
-
s.dependency "powersync-sqlite-core", "~> 0.4.
|
|
26
|
+
s.dependency "powersync-sqlite-core", "~> 0.4.12"
|
|
27
27
|
if defined?(install_modules_dependencies())
|
|
28
28
|
install_modules_dependencies(s)
|
|
29
29
|
else
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
|
|
14
14
|
export type OPSQLiteConnectionOptions = {
|
|
15
15
|
baseDB: DB;
|
|
16
|
+
readonly: boolean;
|
|
16
17
|
};
|
|
17
18
|
|
|
18
19
|
export type OPSQLiteUpdateNotification = {
|
|
@@ -116,6 +117,10 @@ class OPSQLiteExecutor extends BaseObserver<DBAdapterListener> implements Omit<S
|
|
|
116
117
|
}
|
|
117
118
|
|
|
118
119
|
export class OPSQLiteConnection extends DBGetUtilsDefaultMixin(OPSQLiteExecutor) implements LockContext {
|
|
120
|
+
get connectionType() {
|
|
121
|
+
return this.options.readonly ? 'queryOnly' : 'writer';
|
|
122
|
+
}
|
|
123
|
+
|
|
119
124
|
async refreshSchema() {
|
|
120
125
|
await this.get("PRAGMA table_info('sqlite_master')");
|
|
121
126
|
}
|
|
@@ -51,7 +51,7 @@ class OPSQLiteConnectionPool extends BaseObserver<DBAdapterListener> implements
|
|
|
51
51
|
this.options.sqliteOptions!;
|
|
52
52
|
const dbFilename = this.options.name;
|
|
53
53
|
|
|
54
|
-
const underlyingWriteConnection = await this.openConnection(dbFilename);
|
|
54
|
+
const underlyingWriteConnection = await this.openConnection(false, dbFilename);
|
|
55
55
|
|
|
56
56
|
const baseStatements = [
|
|
57
57
|
`PRAGMA busy_timeout = ${lockTimeoutMs}`,
|
|
@@ -90,7 +90,7 @@ class OPSQLiteConnectionPool extends BaseObserver<DBAdapterListener> implements
|
|
|
90
90
|
|
|
91
91
|
const underlyingReadConnections = [];
|
|
92
92
|
for (let i = 0; i < READ_CONNECTIONS; i++) {
|
|
93
|
-
const conn = await this.openConnection(dbFilename);
|
|
93
|
+
const conn = await this.openConnection(true, dbFilename);
|
|
94
94
|
for (let statement of readConnectionStatements) {
|
|
95
95
|
await conn.execute(statement);
|
|
96
96
|
}
|
|
@@ -101,7 +101,7 @@ class OPSQLiteConnectionPool extends BaseObserver<DBAdapterListener> implements
|
|
|
101
101
|
this.readConnections = new Semaphore(underlyingReadConnections);
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
protected async openConnection(filenameOverride?: string): Promise<OPSQLiteConnection> {
|
|
104
|
+
protected async openConnection(readonly: boolean, filenameOverride?: string): Promise<OPSQLiteConnection> {
|
|
105
105
|
const dbFilename = filenameOverride ?? this.options.name;
|
|
106
106
|
const DB: DB = this.openDatabase(dbFilename, this.options.sqliteOptions?.encryptionKey ?? undefined);
|
|
107
107
|
|
|
@@ -112,7 +112,8 @@ class OPSQLiteConnectionPool extends BaseObserver<DBAdapterListener> implements
|
|
|
112
112
|
await DB.execute('SELECT powersync_init()');
|
|
113
113
|
|
|
114
114
|
return new OPSQLiteConnection({
|
|
115
|
-
baseDB: DB
|
|
115
|
+
baseDB: DB,
|
|
116
|
+
readonly
|
|
116
117
|
});
|
|
117
118
|
}
|
|
118
119
|
|