@powersync/op-sqlite 0.0.0-dev-20250528152729 → 0.0.0-dev-20250604135557
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 +10 -5
- package/lib/commonjs/db/OPSqliteAdapter.js +45 -9
- package/lib/commonjs/db/OPSqliteAdapter.js.map +1 -1
- package/lib/commonjs/db/SqliteOptions.js +10 -1
- package/lib/commonjs/db/SqliteOptions.js.map +1 -1
- package/lib/commonjs/index.js +16 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/db/OPSqliteAdapter.js +45 -9
- package/lib/module/db/OPSqliteAdapter.js.map +1 -1
- package/lib/module/db/SqliteOptions.js +9 -0
- package/lib/module/db/SqliteOptions.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/db/OPSqliteAdapter.d.ts +9 -1
- package/lib/typescript/commonjs/src/db/OPSqliteAdapter.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/db/SqliteOptions.d.ts +16 -0
- package/lib/typescript/commonjs/src/db/SqliteOptions.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +1 -0
- 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/OPSqliteAdapter.d.ts +9 -1
- package/lib/typescript/module/src/db/OPSqliteAdapter.d.ts.map +1 -1
- package/lib/typescript/module/src/db/SqliteOptions.d.ts +16 -0
- package/lib/typescript/module/src/db/SqliteOptions.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +1 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/src/db/OPSqliteAdapter.ts +61 -10
- package/src/db/SqliteOptions.ts +19 -0
- package/src/index.ts +3 -4
package/README.md
CHANGED
|
@@ -6,10 +6,6 @@ This package (`packages/powersync-op-sqlite`) enables using [OP-SQLite](https://
|
|
|
6
6
|
|
|
7
7
|
If you are not yet familiar with PowerSync, please see the [PowerSync React Native SDK README](https://github.com/powersync-ja/powersync-js/tree/main/packages/react-native) for more information.
|
|
8
8
|
|
|
9
|
-
## Beta Release
|
|
10
|
-
|
|
11
|
-
This package is currently in a beta release.
|
|
12
|
-
|
|
13
9
|
## Installation
|
|
14
10
|
|
|
15
11
|
Follow the installation instructions for the [React Native SDK](https://github.com/powersync-ja/powersync-js/tree/main/packages/react-native) if you haven't yet set up PowerSync in your project. However, note that this package cannot be installed alongside `@journeyapps/react-native-quick-sqlite`. Skip the step about installing it as a peer dependency, or uninstall it if it is already installed.
|
|
@@ -30,6 +26,15 @@ Install it in your app with:
|
|
|
30
26
|
npx expo install @op-engineering/op-sqlite
|
|
31
27
|
```
|
|
32
28
|
|
|
29
|
+
## Version Compatibility
|
|
30
|
+
|
|
31
|
+
This package version reflects the supported OP-SQLite major version:
|
|
32
|
+
|
|
33
|
+
- `@powersync/op-sqlite` version `0.14.x` supports `@op-engineering/op-sqlite` version `14.x.x`
|
|
34
|
+
- `@powersync/op-sqlite` version `0.15.x` supports `@op-engineering/op-sqlite` version `15.x.x`
|
|
35
|
+
|
|
36
|
+
Always ensure your OP-SQLite peer dependency matches the major version indicated by this package.
|
|
37
|
+
|
|
33
38
|
## Usage
|
|
34
39
|
|
|
35
40
|
```typescript
|
|
@@ -45,7 +50,7 @@ this.powersync = new PowerSyncDatabase({ database: factory, schema: AppSchema })
|
|
|
45
50
|
|
|
46
51
|
### Encryption with SQLCipher
|
|
47
52
|
|
|
48
|
-
To enable SQLCipher you need to add the following configuration option to your application's `package.json`
|
|
53
|
+
To enable SQLCipher you need to add the following configuration option to your application's `package.json`. Note that for [monorepos](https://op-engineering.github.io/op-sqlite/docs/installation) you may have to add this configuration to the monorepo root `package.json` instead, this depends on where your package manager tool hoists modules.
|
|
49
54
|
|
|
50
55
|
```json
|
|
51
56
|
{
|
|
@@ -9,6 +9,7 @@ var _common = require("@powersync/common");
|
|
|
9
9
|
var _asyncLock = _interopRequireDefault(require("async-lock"));
|
|
10
10
|
var _reactNative = require("react-native");
|
|
11
11
|
var _OPSQLiteConnection = require("./OPSQLiteConnection.js");
|
|
12
|
+
var _SqliteOptions = require("./SqliteOptions.js");
|
|
12
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
14
|
/**
|
|
14
15
|
* Adapter for React Native Quick SQLite
|
|
@@ -41,7 +42,7 @@ class OPSQLiteDBAdapter extends _common.BaseObserver {
|
|
|
41
42
|
temporaryStorage
|
|
42
43
|
} = this.options.sqliteOptions;
|
|
43
44
|
const dbFilename = this.options.name;
|
|
44
|
-
this.writeConnection = await this.openConnection(dbFilename);
|
|
45
|
+
this.writeConnection = await this.openConnection(dbFilename, true);
|
|
45
46
|
const baseStatements = [`PRAGMA busy_timeout = ${lockTimeoutMs}`, `PRAGMA cache_size = -${cacheSizeKb}`, `PRAGMA temp_store = ${temporaryStorage}`];
|
|
46
47
|
const writeConnectionStatements = [...baseStatements, `PRAGMA journal_mode = ${journalMode}`, `PRAGMA journal_size_limit = ${journalSizeLimit}`, `PRAGMA synchronous = ${synchronous}`];
|
|
47
48
|
const readConnectionStatements = [...baseStatements, 'PRAGMA query_only = true'];
|
|
@@ -76,9 +77,9 @@ class OPSQLiteDBAdapter extends _common.BaseObserver {
|
|
|
76
77
|
});
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
|
-
async openConnection(filenameOverride) {
|
|
80
|
+
async openConnection(filenameOverride, writeConnection) {
|
|
80
81
|
const dbFilename = filenameOverride ?? this.options.name;
|
|
81
|
-
const DB = this.openDatabase(dbFilename, this.options.sqliteOptions?.encryptionKey ?? undefined);
|
|
82
|
+
const DB = await this.openDatabase(dbFilename, this.options.sqliteOptions?.encryptionKey ?? undefined, writeConnection);
|
|
82
83
|
|
|
83
84
|
//Load extensions for all connections
|
|
84
85
|
this.loadAdditionalExtensions(DB);
|
|
@@ -95,16 +96,12 @@ class OPSQLiteDBAdapter extends _common.BaseObserver {
|
|
|
95
96
|
return dbLocation ?? _opSqlite.ANDROID_DATABASE_PATH;
|
|
96
97
|
}
|
|
97
98
|
}
|
|
98
|
-
openDatabase(dbFilename, encryptionKey) {
|
|
99
|
+
async openDatabase(dbFilename, encryptionKey, writeConnection) {
|
|
99
100
|
//This is needed because an undefined/null dbLocation will cause the open function to fail
|
|
100
101
|
const location = this.getDbLocation(this.options.dbLocation);
|
|
101
102
|
//Simarlily if the encryption key is undefined/null when using SQLCipher it will cause the open function to fail
|
|
102
103
|
if (encryptionKey) {
|
|
103
|
-
return (
|
|
104
|
-
name: dbFilename,
|
|
105
|
-
location: location,
|
|
106
|
-
encryptionKey: encryptionKey
|
|
107
|
-
});
|
|
104
|
+
return await this.openSQLCipher(dbFilename, location, encryptionKey, writeConnection);
|
|
108
105
|
} else {
|
|
109
106
|
return (0, _opSqlite.open)({
|
|
110
107
|
name: dbFilename,
|
|
@@ -112,6 +109,45 @@ class OPSQLiteDBAdapter extends _common.BaseObserver {
|
|
|
112
109
|
});
|
|
113
110
|
}
|
|
114
111
|
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* We set up SQLCipher compatibility here.
|
|
115
|
+
*
|
|
116
|
+
* - For compability with SQLCipher 3 databases, we set the cipher_compatibility pragma to 3 for all connections.
|
|
117
|
+
* - For upgrading SQLCipher 3 databases to version 4, we do the migration on the write connection.
|
|
118
|
+
* - For SQLCipher 4 databases, we do not need to set the cipher_compatibility pragma, as it is the default.
|
|
119
|
+
*/
|
|
120
|
+
async openSQLCipher(dbFilename, location, encryptionKey, writeConnection) {
|
|
121
|
+
const openDb = () => (0, _opSqlite.open)({
|
|
122
|
+
name: dbFilename,
|
|
123
|
+
location: location,
|
|
124
|
+
encryptionKey: encryptionKey
|
|
125
|
+
});
|
|
126
|
+
const db = openDb();
|
|
127
|
+
const cipherVersion = this.options.sqliteOptions?.cipherVersion;
|
|
128
|
+
if (cipherVersion == _SqliteOptions.CipherVersion.VERSION_3) {
|
|
129
|
+
await db.execute('PRAGMA cipher_compatibility = 3;');
|
|
130
|
+
return db;
|
|
131
|
+
} else if (cipherVersion == _SqliteOptions.CipherVersion.UPGRADE_3_TO_4 && writeConnection) {
|
|
132
|
+
// Based on steps described at https://www.zetetic.net/sqlcipher/sqlcipher-api/#cipher_migrate
|
|
133
|
+
try {
|
|
134
|
+
// Valid version agnostic query to confirm SQLCipher version
|
|
135
|
+
await db.execute('SELECT count(*) FROM sqlite_master;');
|
|
136
|
+
// Query succeeded, so we are on SQLCipher 4 and don't have to do anything
|
|
137
|
+
console.log('SQLCipher 4 database detected, no migration needed.');
|
|
138
|
+
return db;
|
|
139
|
+
} catch (e) {
|
|
140
|
+
// Query failed, assuming we are on SQLCipher 3 and need to upgrade
|
|
141
|
+
// Catch any error
|
|
142
|
+
}
|
|
143
|
+
db.close();
|
|
144
|
+
const reopenedDB = openDb();
|
|
145
|
+
const migrationResult = await reopenedDB.execute('PRAGMA cipher_migrate;');
|
|
146
|
+
console.log('SQLCipher migration result:', migrationResult);
|
|
147
|
+
return reopenedDB;
|
|
148
|
+
}
|
|
149
|
+
return db;
|
|
150
|
+
}
|
|
115
151
|
loadAdditionalExtensions(DB) {
|
|
116
152
|
if (this.options.sqliteOptions?.extensions && this.options.sqliteOptions.extensions.length > 0) {
|
|
117
153
|
for (const extension of this.options.sqliteOptions.extensions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_opSqlite","require","_common","_asyncLock","_interopRequireDefault","_reactNative","_OPSQLiteConnection","e","__esModule","default","LockType","READ_CONNECTIONS","OPSQLiteDBAdapter","BaseObserver","readQueue","constructor","options","name","locks","Lock","readConnections","writeConnection","abortController","AbortController","initialized","init","lockTimeoutMs","journalMode","journalSizeLimit","synchronous","cacheSizeKb","temporaryStorage","sqliteOptions","dbFilename","openConnection","baseStatements","writeConnectionStatements","readConnectionStatements","statement","tries","execute","Error","message","includes","registerListener","tablesUpdated","notification","iterateListeners","cb","i","conn","push","busy","connection","filenameOverride","DB","openDatabase","encryptionKey","undefined","loadAdditionalExtensions","loadPowerSyncExtension","OPSQLiteConnection","baseDB","getDbLocation","dbLocation","Platform","OS","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","location","open","extensions","length","extension","loadExtension","path","entryPoint","libPath","getDylibPath","close","abort","forEach","c","readLock","fn","Promise","resolve","reject","availableConnection","find","error","processQueue","next","shift","writeLock","abortListener","signal","addEventListener","acquire","WRITE","aborted","timeout","timeoutMs","then","flushUpdates","finally","removeEventListener","ex","readTransaction","ctx","internalTransaction","writeTransaction","getAll","sql","parameters","getOptional","get","query","params","executeRaw","executeBatch","finalized","commit","rowsAffected","rollback","result","ex2","refreshSchema","readConnection","exports"],"sourceRoot":"../../../src","sources":["db/OPSqliteAdapter.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_opSqlite","require","_common","_asyncLock","_interopRequireDefault","_reactNative","_OPSQLiteConnection","_SqliteOptions","e","__esModule","default","LockType","READ_CONNECTIONS","OPSQLiteDBAdapter","BaseObserver","readQueue","constructor","options","name","locks","Lock","readConnections","writeConnection","abortController","AbortController","initialized","init","lockTimeoutMs","journalMode","journalSizeLimit","synchronous","cacheSizeKb","temporaryStorage","sqliteOptions","dbFilename","openConnection","baseStatements","writeConnectionStatements","readConnectionStatements","statement","tries","execute","Error","message","includes","registerListener","tablesUpdated","notification","iterateListeners","cb","i","conn","push","busy","connection","filenameOverride","DB","openDatabase","encryptionKey","undefined","loadAdditionalExtensions","loadPowerSyncExtension","OPSQLiteConnection","baseDB","getDbLocation","dbLocation","Platform","OS","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","location","openSQLCipher","open","openDb","db","cipherVersion","CipherVersion","VERSION_3","UPGRADE_3_TO_4","console","log","close","reopenedDB","migrationResult","extensions","length","extension","loadExtension","path","entryPoint","libPath","getDylibPath","abort","forEach","c","readLock","fn","Promise","resolve","reject","availableConnection","find","error","processQueue","next","shift","writeLock","abortListener","signal","addEventListener","acquire","WRITE","aborted","timeout","timeoutMs","then","flushUpdates","finally","removeEventListener","ex","readTransaction","ctx","internalTransaction","writeTransaction","getAll","sql","parameters","getOptional","get","query","params","executeRaw","executeBatch","finalized","commit","rowsAffected","rollback","result","ex2","refreshSchema","readConnection","exports"],"sourceRoot":"../../../src","sources":["db/OPSqliteAdapter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.TemporaryStorageOption = exports.DEFAULT_SQLITE_OPTIONS = void 0;
|
|
6
|
+
exports.TemporaryStorageOption = exports.DEFAULT_SQLITE_OPTIONS = exports.CipherVersion = void 0;
|
|
7
|
+
let CipherVersion = exports.CipherVersion = /*#__PURE__*/function (CipherVersion) {
|
|
8
|
+
CipherVersion["VERSION_4"] = "4";
|
|
9
|
+
CipherVersion["UPGRADE_3_TO_4"] = "upgrade3to4";
|
|
10
|
+
CipherVersion["VERSION_3"] = "3";
|
|
11
|
+
return CipherVersion;
|
|
12
|
+
}({});
|
|
7
13
|
let TemporaryStorageOption = exports.TemporaryStorageOption = /*#__PURE__*/function (TemporaryStorageOption) {
|
|
8
14
|
TemporaryStorageOption["MEMORY"] = "memory";
|
|
9
15
|
TemporaryStorageOption["FILESYSTEM"] = "file";
|
|
@@ -12,6 +18,8 @@ let TemporaryStorageOption = exports.TemporaryStorageOption = /*#__PURE__*/funct
|
|
|
12
18
|
// This library is written with WAL mode in mind - other modes may cause
|
|
13
19
|
// unexpected locking behavior.
|
|
14
20
|
var SqliteJournalMode = /*#__PURE__*/function (SqliteJournalMode) {
|
|
21
|
+
// Use a write-ahead log instead of a rollback journal.
|
|
22
|
+
// This provides good performance and concurrency.
|
|
15
23
|
SqliteJournalMode["wal"] = "WAL";
|
|
16
24
|
SqliteJournalMode["delete"] = "DELETE";
|
|
17
25
|
SqliteJournalMode["truncate"] = "TRUNCATE";
|
|
@@ -34,6 +42,7 @@ const DEFAULT_SQLITE_OPTIONS = exports.DEFAULT_SQLITE_OPTIONS = {
|
|
|
34
42
|
temporaryStorage: TemporaryStorageOption.MEMORY,
|
|
35
43
|
lockTimeoutMs: 30000,
|
|
36
44
|
encryptionKey: null,
|
|
45
|
+
cipherVersion: CipherVersion.VERSION_3,
|
|
37
46
|
extensions: []
|
|
38
47
|
};
|
|
39
48
|
//# sourceMappingURL=SqliteOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["CipherVersion","exports","TemporaryStorageOption","SqliteJournalMode","SqliteSynchronous","DEFAULT_SQLITE_OPTIONS","journalMode","wal","synchronous","normal","journalSizeLimit","cacheSizeKb","temporaryStorage","MEMORY","lockTimeoutMs","encryptionKey","cipherVersion","VERSION_3","extensions"],"sourceRoot":"../../../src","sources":["db/SqliteOptions.ts"],"mappings":";;;;;;IAqEYA,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAAA,IAMbE,sBAAsB,GAAAD,OAAA,CAAAC,sBAAA,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA,OAKlC;AACA;AACA;AAAA,IACKC,iBAAiB,0BAAjBA,iBAAiB;EACpB;EACA;EAFGA,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;AAMf,MAAMC,sBAA+C,GAAAJ,OAAA,CAAAI,sBAAA,GAAG;EAC7DC,WAAW,EAAEH,iBAAiB,CAACI,GAAG;EAClCC,WAAW,EAAEJ,iBAAiB,CAACK,MAAM;EACrCC,gBAAgB,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;EACjCC,WAAW,EAAE,EAAE,GAAG,IAAI;EACtBC,gBAAgB,EAAEV,sBAAsB,CAACW,MAAM;EAC/CC,aAAa,EAAE,KAAK;EACpBC,aAAa,EAAE,IAAI;EACnBC,aAAa,EAAEhB,aAAa,CAACiB,SAAS;EACtCC,UAAU,EAAE;AACd,CAAC","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
OPSqliteOpenFactory: true,
|
|
8
|
+
OPSQLiteOpenFactoryOptions: true
|
|
9
|
+
};
|
|
6
10
|
Object.defineProperty(exports, "OPSQLiteOpenFactoryOptions", {
|
|
7
11
|
enumerable: true,
|
|
8
12
|
get: function () {
|
|
@@ -16,4 +20,16 @@ Object.defineProperty(exports, "OPSqliteOpenFactory", {
|
|
|
16
20
|
}
|
|
17
21
|
});
|
|
18
22
|
var _OPSqliteDBOpenFactory = require("./db/OPSqliteDBOpenFactory.js");
|
|
23
|
+
var _SqliteOptions = require("./db/SqliteOptions.js");
|
|
24
|
+
Object.keys(_SqliteOptions).forEach(function (key) {
|
|
25
|
+
if (key === "default" || key === "__esModule") return;
|
|
26
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
27
|
+
if (key in exports && exports[key] === _SqliteOptions[key]) return;
|
|
28
|
+
Object.defineProperty(exports, key, {
|
|
29
|
+
enumerable: true,
|
|
30
|
+
get: function () {
|
|
31
|
+
return _SqliteOptions[key];
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
});
|
|
19
35
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_OPSqliteDBOpenFactory","require"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_OPSqliteDBOpenFactory","require","_SqliteOptions","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,cAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,cAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,cAAA,CAAAI,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ import { BaseObserver } from '@powersync/common';
|
|
|
5
5
|
import Lock from 'async-lock';
|
|
6
6
|
import { Platform } from 'react-native';
|
|
7
7
|
import { OPSQLiteConnection } from "./OPSQLiteConnection.js";
|
|
8
|
+
import { CipherVersion } from "./SqliteOptions.js";
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Adapter for React Native Quick SQLite
|
|
@@ -37,7 +38,7 @@ export class OPSQLiteDBAdapter extends BaseObserver {
|
|
|
37
38
|
temporaryStorage
|
|
38
39
|
} = this.options.sqliteOptions;
|
|
39
40
|
const dbFilename = this.options.name;
|
|
40
|
-
this.writeConnection = await this.openConnection(dbFilename);
|
|
41
|
+
this.writeConnection = await this.openConnection(dbFilename, true);
|
|
41
42
|
const baseStatements = [`PRAGMA busy_timeout = ${lockTimeoutMs}`, `PRAGMA cache_size = -${cacheSizeKb}`, `PRAGMA temp_store = ${temporaryStorage}`];
|
|
42
43
|
const writeConnectionStatements = [...baseStatements, `PRAGMA journal_mode = ${journalMode}`, `PRAGMA journal_size_limit = ${journalSizeLimit}`, `PRAGMA synchronous = ${synchronous}`];
|
|
43
44
|
const readConnectionStatements = [...baseStatements, 'PRAGMA query_only = true'];
|
|
@@ -72,9 +73,9 @@ export class OPSQLiteDBAdapter extends BaseObserver {
|
|
|
72
73
|
});
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
|
-
async openConnection(filenameOverride) {
|
|
76
|
+
async openConnection(filenameOverride, writeConnection) {
|
|
76
77
|
const dbFilename = filenameOverride ?? this.options.name;
|
|
77
|
-
const DB = this.openDatabase(dbFilename, this.options.sqliteOptions?.encryptionKey ?? undefined);
|
|
78
|
+
const DB = await this.openDatabase(dbFilename, this.options.sqliteOptions?.encryptionKey ?? undefined, writeConnection);
|
|
78
79
|
|
|
79
80
|
//Load extensions for all connections
|
|
80
81
|
this.loadAdditionalExtensions(DB);
|
|
@@ -91,16 +92,12 @@ export class OPSQLiteDBAdapter extends BaseObserver {
|
|
|
91
92
|
return dbLocation ?? ANDROID_DATABASE_PATH;
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
|
-
openDatabase(dbFilename, encryptionKey) {
|
|
95
|
+
async openDatabase(dbFilename, encryptionKey, writeConnection) {
|
|
95
96
|
//This is needed because an undefined/null dbLocation will cause the open function to fail
|
|
96
97
|
const location = this.getDbLocation(this.options.dbLocation);
|
|
97
98
|
//Simarlily if the encryption key is undefined/null when using SQLCipher it will cause the open function to fail
|
|
98
99
|
if (encryptionKey) {
|
|
99
|
-
return
|
|
100
|
-
name: dbFilename,
|
|
101
|
-
location: location,
|
|
102
|
-
encryptionKey: encryptionKey
|
|
103
|
-
});
|
|
100
|
+
return await this.openSQLCipher(dbFilename, location, encryptionKey, writeConnection);
|
|
104
101
|
} else {
|
|
105
102
|
return open({
|
|
106
103
|
name: dbFilename,
|
|
@@ -108,6 +105,45 @@ export class OPSQLiteDBAdapter extends BaseObserver {
|
|
|
108
105
|
});
|
|
109
106
|
}
|
|
110
107
|
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* We set up SQLCipher compatibility here.
|
|
111
|
+
*
|
|
112
|
+
* - For compability with SQLCipher 3 databases, we set the cipher_compatibility pragma to 3 for all connections.
|
|
113
|
+
* - For upgrading SQLCipher 3 databases to version 4, we do the migration on the write connection.
|
|
114
|
+
* - For SQLCipher 4 databases, we do not need to set the cipher_compatibility pragma, as it is the default.
|
|
115
|
+
*/
|
|
116
|
+
async openSQLCipher(dbFilename, location, encryptionKey, writeConnection) {
|
|
117
|
+
const openDb = () => open({
|
|
118
|
+
name: dbFilename,
|
|
119
|
+
location: location,
|
|
120
|
+
encryptionKey: encryptionKey
|
|
121
|
+
});
|
|
122
|
+
const db = openDb();
|
|
123
|
+
const cipherVersion = this.options.sqliteOptions?.cipherVersion;
|
|
124
|
+
if (cipherVersion == CipherVersion.VERSION_3) {
|
|
125
|
+
await db.execute('PRAGMA cipher_compatibility = 3;');
|
|
126
|
+
return db;
|
|
127
|
+
} else if (cipherVersion == CipherVersion.UPGRADE_3_TO_4 && writeConnection) {
|
|
128
|
+
// Based on steps described at https://www.zetetic.net/sqlcipher/sqlcipher-api/#cipher_migrate
|
|
129
|
+
try {
|
|
130
|
+
// Valid version agnostic query to confirm SQLCipher version
|
|
131
|
+
await db.execute('SELECT count(*) FROM sqlite_master;');
|
|
132
|
+
// Query succeeded, so we are on SQLCipher 4 and don't have to do anything
|
|
133
|
+
console.log('SQLCipher 4 database detected, no migration needed.');
|
|
134
|
+
return db;
|
|
135
|
+
} catch (e) {
|
|
136
|
+
// Query failed, assuming we are on SQLCipher 3 and need to upgrade
|
|
137
|
+
// Catch any error
|
|
138
|
+
}
|
|
139
|
+
db.close();
|
|
140
|
+
const reopenedDB = openDb();
|
|
141
|
+
const migrationResult = await reopenedDB.execute('PRAGMA cipher_migrate;');
|
|
142
|
+
console.log('SQLCipher migration result:', migrationResult);
|
|
143
|
+
return reopenedDB;
|
|
144
|
+
}
|
|
145
|
+
return db;
|
|
146
|
+
}
|
|
111
147
|
loadAdditionalExtensions(DB) {
|
|
112
148
|
if (this.options.sqliteOptions?.extensions && this.options.sqliteOptions.extensions.length > 0) {
|
|
113
149
|
for (const extension of this.options.sqliteOptions.extensions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ANDROID_DATABASE_PATH","getDylibPath","IOS_LIBRARY_PATH","open","BaseObserver","Lock","Platform","OPSQLiteConnection","LockType","READ_CONNECTIONS","OPSQLiteDBAdapter","readQueue","constructor","options","name","locks","readConnections","writeConnection","abortController","AbortController","initialized","init","lockTimeoutMs","journalMode","journalSizeLimit","synchronous","cacheSizeKb","temporaryStorage","sqliteOptions","dbFilename","openConnection","baseStatements","writeConnectionStatements","readConnectionStatements","statement","tries","execute","e","Error","message","includes","registerListener","tablesUpdated","notification","iterateListeners","cb","i","conn","push","busy","connection","filenameOverride","DB","openDatabase","encryptionKey","undefined","loadAdditionalExtensions","loadPowerSyncExtension","baseDB","getDbLocation","dbLocation","OS","location","extensions","length","extension","loadExtension","path","entryPoint","libPath","close","abort","forEach","c","readLock","fn","Promise","resolve","reject","availableConnection","find","error","processQueue","next","shift","writeLock","abortListener","signal","addEventListener","acquire","WRITE","aborted","timeout","timeoutMs","then","flushUpdates","finally","removeEventListener","ex","readTransaction","ctx","internalTransaction","writeTransaction","getAll","sql","parameters","getOptional","get","query","params","executeRaw","executeBatch","finalized","commit","rowsAffected","rollback","result","ex2","refreshSchema","readConnection"],"sourceRoot":"../../../src","sources":["db/OPSqliteAdapter.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ANDROID_DATABASE_PATH","getDylibPath","IOS_LIBRARY_PATH","open","BaseObserver","Lock","Platform","OPSQLiteConnection","CipherVersion","LockType","READ_CONNECTIONS","OPSQLiteDBAdapter","readQueue","constructor","options","name","locks","readConnections","writeConnection","abortController","AbortController","initialized","init","lockTimeoutMs","journalMode","journalSizeLimit","synchronous","cacheSizeKb","temporaryStorage","sqliteOptions","dbFilename","openConnection","baseStatements","writeConnectionStatements","readConnectionStatements","statement","tries","execute","e","Error","message","includes","registerListener","tablesUpdated","notification","iterateListeners","cb","i","conn","push","busy","connection","filenameOverride","DB","openDatabase","encryptionKey","undefined","loadAdditionalExtensions","loadPowerSyncExtension","baseDB","getDbLocation","dbLocation","OS","location","openSQLCipher","openDb","db","cipherVersion","VERSION_3","UPGRADE_3_TO_4","console","log","close","reopenedDB","migrationResult","extensions","length","extension","loadExtension","path","entryPoint","libPath","abort","forEach","c","readLock","fn","Promise","resolve","reject","availableConnection","find","error","processQueue","next","shift","writeLock","abortListener","signal","addEventListener","acquire","WRITE","aborted","timeout","timeoutMs","then","flushUpdates","finally","removeEventListener","ex","readTransaction","ctx","internalTransaction","writeTransaction","getAll","sql","parameters","getOptional","get","query","params","executeRaw","executeBatch","finalized","commit","rowsAffected","rollback","result","ex2","refreshSchema","readConnection"],"sourceRoot":"../../../src","sources":["db/OPSqliteAdapter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
export let CipherVersion = /*#__PURE__*/function (CipherVersion) {
|
|
4
|
+
CipherVersion["VERSION_4"] = "4";
|
|
5
|
+
CipherVersion["UPGRADE_3_TO_4"] = "upgrade3to4";
|
|
6
|
+
CipherVersion["VERSION_3"] = "3";
|
|
7
|
+
return CipherVersion;
|
|
8
|
+
}({});
|
|
3
9
|
export let TemporaryStorageOption = /*#__PURE__*/function (TemporaryStorageOption) {
|
|
4
10
|
TemporaryStorageOption["MEMORY"] = "memory";
|
|
5
11
|
TemporaryStorageOption["FILESYSTEM"] = "file";
|
|
@@ -10,6 +16,8 @@ export let TemporaryStorageOption = /*#__PURE__*/function (TemporaryStorageOptio
|
|
|
10
16
|
// This library is written with WAL mode in mind - other modes may cause
|
|
11
17
|
// unexpected locking behavior.
|
|
12
18
|
var SqliteJournalMode = /*#__PURE__*/function (SqliteJournalMode) {
|
|
19
|
+
// Use a write-ahead log instead of a rollback journal.
|
|
20
|
+
// This provides good performance and concurrency.
|
|
13
21
|
SqliteJournalMode["wal"] = "WAL";
|
|
14
22
|
SqliteJournalMode["delete"] = "DELETE";
|
|
15
23
|
SqliteJournalMode["truncate"] = "TRUNCATE";
|
|
@@ -32,6 +40,7 @@ export const DEFAULT_SQLITE_OPTIONS = {
|
|
|
32
40
|
temporaryStorage: TemporaryStorageOption.MEMORY,
|
|
33
41
|
lockTimeoutMs: 30000,
|
|
34
42
|
encryptionKey: null,
|
|
43
|
+
cipherVersion: CipherVersion.VERSION_3,
|
|
35
44
|
extensions: []
|
|
36
45
|
};
|
|
37
46
|
//# sourceMappingURL=SqliteOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TemporaryStorageOption","SqliteJournalMode","SqliteSynchronous","DEFAULT_SQLITE_OPTIONS","journalMode","wal","synchronous","normal","journalSizeLimit","cacheSizeKb","temporaryStorage","MEMORY","lockTimeoutMs","encryptionKey","extensions"],"sourceRoot":"../../../src","sources":["db/SqliteOptions.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["CipherVersion","TemporaryStorageOption","SqliteJournalMode","SqliteSynchronous","DEFAULT_SQLITE_OPTIONS","journalMode","wal","synchronous","normal","journalSizeLimit","cacheSizeKb","temporaryStorage","MEMORY","lockTimeoutMs","encryptionKey","cipherVersion","VERSION_3","extensions"],"sourceRoot":"../../../src","sources":["db/SqliteOptions.ts"],"mappings":";;AAqEA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAMzB,WAAYC,sBAAsB,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA;;AAKlC;AACA;AACA;AAAA,IACKC,iBAAiB,0BAAjBA,iBAAiB;EACpB;EACA;EAFGA,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,WAAW,EAAE,EAAE,GAAG,IAAI;EACtBC,gBAAgB,EAAEV,sBAAsB,CAACW,MAAM;EAC/CC,aAAa,EAAE,KAAK;EACpBC,aAAa,EAAE,IAAI;EACnBC,aAAa,EAAEf,aAAa,CAACgB,SAAS;EACtCC,UAAU,EAAE;AACd,CAAC","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OPSqliteOpenFactory","OPSQLiteOpenFactoryOptions"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"names":["OPSqliteOpenFactory","OPSQLiteOpenFactoryOptions"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,mBAAmB,EAAEC,0BAA0B,QAAQ,+BAA4B;AAE5F,cAAc,uBAAoB","ignoreList":[]}
|
|
@@ -24,9 +24,17 @@ export declare class OPSQLiteDBAdapter extends BaseObserver<DBAdapterListener> i
|
|
|
24
24
|
private abortController;
|
|
25
25
|
constructor(options: OPSQLiteAdapterOptions);
|
|
26
26
|
protected init(): Promise<void>;
|
|
27
|
-
protected openConnection(filenameOverride?: string): Promise<OPSQLiteConnection>;
|
|
27
|
+
protected openConnection(filenameOverride?: string, writeConnection?: boolean): Promise<OPSQLiteConnection>;
|
|
28
28
|
private getDbLocation;
|
|
29
29
|
private openDatabase;
|
|
30
|
+
/**
|
|
31
|
+
* We set up SQLCipher compatibility here.
|
|
32
|
+
*
|
|
33
|
+
* - For compability with SQLCipher 3 databases, we set the cipher_compatibility pragma to 3 for all connections.
|
|
34
|
+
* - For upgrading SQLCipher 3 databases to version 4, we do the migration on the write connection.
|
|
35
|
+
* - For SQLCipher 4 databases, we do not need to set the cipher_compatibility pragma, as it is the default.
|
|
36
|
+
*/
|
|
37
|
+
private openSQLCipher;
|
|
30
38
|
private loadAdditionalExtensions;
|
|
31
39
|
private loadPowerSyncExtension;
|
|
32
40
|
close(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OPSqliteAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/db/OPSqliteAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxH,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"OPSqliteAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/db/OPSqliteAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,17 @@ export interface SqliteOptions {
|
|
|
25
25
|
* If set, the database will be encrypted using SQLCipher.
|
|
26
26
|
*/
|
|
27
27
|
encryptionKey?: string | null;
|
|
28
|
+
/**
|
|
29
|
+
* SQLCipher version compatibility option. Only applicable when encryptionKey is set.
|
|
30
|
+
*
|
|
31
|
+
* - '4': Use SQLCipher 4 format (recommended for new databases)
|
|
32
|
+
* - 'upgrade3to4': Automatically attempt to upgrade SQLCipher 3 databases to version 4
|
|
33
|
+
* - '3': Use SQLCipher 3 compatibility mode for existing databases (used by default)
|
|
34
|
+
*
|
|
35
|
+
* Note: The 'upgrade3to4' option will attempt migration only when needed and may
|
|
36
|
+
* be expensive on first run. Migration requires the correct encryption key.
|
|
37
|
+
*/
|
|
38
|
+
cipherVersion?: CipherVersion | null;
|
|
28
39
|
/**
|
|
29
40
|
* Where to store SQLite temporary files. Defaults to 'MEMORY'.
|
|
30
41
|
* Setting this to `FILESYSTEM` can cause issues with larger queries or datasets.
|
|
@@ -47,6 +58,11 @@ export interface SqliteOptions {
|
|
|
47
58
|
entryPoint?: string;
|
|
48
59
|
}>;
|
|
49
60
|
}
|
|
61
|
+
export declare enum CipherVersion {
|
|
62
|
+
VERSION_4 = "4",
|
|
63
|
+
UPGRADE_3_TO_4 = "upgrade3to4",
|
|
64
|
+
VERSION_3 = "3"
|
|
65
|
+
}
|
|
50
66
|
export declare enum TemporaryStorageOption {
|
|
51
67
|
MEMORY = "memory",
|
|
52
68
|
FILESYSTEM = "file"
|
|
@@ -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;IAEvB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAE1C;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,oBAAY,sBAAsB;IAChC,MAAM,WAAW;IACjB,UAAU,SAAS;CACpB;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,
|
|
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,GAAG,IAAI,CAAC;IAE9B;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAErC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAE1C;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,oBAAY,aAAa;IACvB,SAAS,MAAM;IACf,cAAc,gBAAgB;IAC9B,SAAS,MAAM;CAChB;AAED,oBAAY,sBAAsB;IAChC,MAAM,WAAW;IACjB,UAAU,SAAS;CACpB;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,CAU1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAE7F,cAAc,oBAAoB,CAAC"}
|