@capacitor-community/sqlite 5.0.4-alphabetter.3 → 5.0.4-alphabetter.4
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/electron/dist/plugin.js +46 -27
- package/electron/dist/plugin.js.map +1 -1
- package/package.json +1 -1
package/electron/dist/plugin.js
CHANGED
|
@@ -68,7 +68,7 @@ class UtilsSQLite {
|
|
|
68
68
|
* @param password
|
|
69
69
|
*/
|
|
70
70
|
async openOrCreateDatabase(pathDB, password, readonly) {
|
|
71
|
-
const msg = 'OpenOrCreateDatabase
|
|
71
|
+
const msg = 'OpenOrCreateDatabase';
|
|
72
72
|
// open sqlite3 database
|
|
73
73
|
let mDB;
|
|
74
74
|
if (!readonly) {
|
|
@@ -116,7 +116,7 @@ class UtilsSQLite {
|
|
|
116
116
|
* @param password
|
|
117
117
|
*/
|
|
118
118
|
async setCipherPragma(mDB, passphrase) {
|
|
119
|
-
const msg = 'setCipherPragma
|
|
119
|
+
const msg = 'setCipherPragma';
|
|
120
120
|
try {
|
|
121
121
|
mDB.pragma(`cipher='sqlcipher'`);
|
|
122
122
|
mDB.pragma(`legacy=4`);
|
|
@@ -134,7 +134,7 @@ class UtilsSQLite {
|
|
|
134
134
|
* @param toggle
|
|
135
135
|
*/
|
|
136
136
|
async setForeignKeyConstraintsEnabled(mDB, toggle) {
|
|
137
|
-
const msg = 'SetForeignKeyConstraintsEnabled
|
|
137
|
+
const msg = 'SetForeignKeyConstraintsEnabled';
|
|
138
138
|
let key = 'OFF';
|
|
139
139
|
if (toggle) {
|
|
140
140
|
key = 'ON';
|
|
@@ -148,12 +148,27 @@ class UtilsSQLite {
|
|
|
148
148
|
return Promise.reject(`${msg} ${errmsg}`);
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* CloseDB
|
|
153
|
+
* @param mDB
|
|
154
|
+
*/
|
|
155
|
+
async closeDB(mDB) {
|
|
156
|
+
const msg = 'closeDB';
|
|
157
|
+
try {
|
|
158
|
+
mDB.close();
|
|
159
|
+
return Promise.resolve();
|
|
160
|
+
}
|
|
161
|
+
catch (err) {
|
|
162
|
+
const errmsg = err.message ? err.message : err;
|
|
163
|
+
return Promise.reject(`${msg} ${errmsg}`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
151
166
|
/**
|
|
152
167
|
* GetVersion
|
|
153
168
|
* @param mDB
|
|
154
169
|
*/
|
|
155
170
|
async getVersion(mDB) {
|
|
156
|
-
const msg = 'GetVersion
|
|
171
|
+
const msg = 'GetVersion';
|
|
157
172
|
try {
|
|
158
173
|
const version = mDB.pragma('user_version');
|
|
159
174
|
return Promise.resolve(version);
|
|
@@ -169,7 +184,7 @@ class UtilsSQLite {
|
|
|
169
184
|
* @param version
|
|
170
185
|
*/
|
|
171
186
|
async setVersion(mDB, version) {
|
|
172
|
-
const msg = 'SetVersion
|
|
187
|
+
const msg = 'SetVersion';
|
|
173
188
|
try {
|
|
174
189
|
mDB.pragma(`user_version = '${version}'`);
|
|
175
190
|
return;
|
|
@@ -197,8 +212,9 @@ class UtilsSQLite {
|
|
|
197
212
|
return Promise.reject(`${msg} ${errmsg}`);
|
|
198
213
|
}
|
|
199
214
|
finally {
|
|
200
|
-
|
|
215
|
+
await this.closeDB(mDB);
|
|
201
216
|
}
|
|
217
|
+
return;
|
|
202
218
|
}
|
|
203
219
|
/**
|
|
204
220
|
* PragmaReKey
|
|
@@ -3324,9 +3340,9 @@ class UtilsEncryption {
|
|
|
3324
3340
|
const oDB = await this.sqliteUtil.openOrCreateDatabase(tempPath, '', false);
|
|
3325
3341
|
const mDB = await this.sqliteUtil.openOrCreateDatabase(pathDB, password, false);
|
|
3326
3342
|
await this.sqlcipherEncrypt(oDB, pathDB, password);
|
|
3327
|
-
|
|
3343
|
+
await this.sqliteUtil.closeDB(oDB);
|
|
3328
3344
|
this.fileUtil.deleteFilePath(tempPath);
|
|
3329
|
-
|
|
3345
|
+
await this.sqliteUtil.closeDB(mDB);
|
|
3330
3346
|
return Promise.resolve();
|
|
3331
3347
|
}
|
|
3332
3348
|
catch (err) {
|
|
@@ -3515,27 +3531,27 @@ class Database {
|
|
|
3515
3531
|
}
|
|
3516
3532
|
catch (err) {
|
|
3517
3533
|
if (this._isDbOpen)
|
|
3518
|
-
this.
|
|
3534
|
+
await this.sqliteUtil.closeDB(this.database);
|
|
3519
3535
|
throw new Error(`Open: ${err}`);
|
|
3520
3536
|
}
|
|
3521
3537
|
}
|
|
3522
3538
|
/**
|
|
3523
3539
|
* Close
|
|
3524
|
-
* close
|
|
3540
|
+
* close better-sqlite3 database
|
|
3525
3541
|
* @returns Promise<boolean>
|
|
3526
3542
|
*/
|
|
3527
|
-
async
|
|
3543
|
+
async dbClose() {
|
|
3528
3544
|
this.ensureDatabaseIsOpen();
|
|
3529
|
-
|
|
3530
|
-
this.
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
3545
|
+
try {
|
|
3546
|
+
await this.sqliteUtil.closeDB(this.database);
|
|
3547
|
+
}
|
|
3548
|
+
catch (err) {
|
|
3549
|
+
throw new Error(`Close failed: ${this.dbName} ${err}`);
|
|
3550
|
+
}
|
|
3551
|
+
finally {
|
|
3552
|
+
this._isDbOpen = false;
|
|
3553
|
+
}
|
|
3554
|
+
return;
|
|
3539
3555
|
}
|
|
3540
3556
|
/**
|
|
3541
3557
|
* ChangeSecret
|
|
@@ -3569,7 +3585,7 @@ class Database {
|
|
|
3569
3585
|
}
|
|
3570
3586
|
catch (err) {
|
|
3571
3587
|
if (this._isDbOpen)
|
|
3572
|
-
this.
|
|
3588
|
+
await this.sqliteUtil.closeDB(this.database);
|
|
3573
3589
|
throw new Error(`getVersion: ${err}`);
|
|
3574
3590
|
}
|
|
3575
3591
|
}
|
|
@@ -3593,7 +3609,7 @@ class Database {
|
|
|
3593
3609
|
}
|
|
3594
3610
|
// close the database
|
|
3595
3611
|
try {
|
|
3596
|
-
await this.
|
|
3612
|
+
await this.dbClose();
|
|
3597
3613
|
}
|
|
3598
3614
|
catch (err) {
|
|
3599
3615
|
throw new Error('DeleteDB: Close failed');
|
|
@@ -3997,10 +4013,12 @@ class CapacitorSQLite {
|
|
|
3997
4013
|
const readonly = options.readonly ? options.readonly : false;
|
|
3998
4014
|
const connName = readonly ? 'RO_' + dbName : 'RW_' + dbName;
|
|
3999
4015
|
const database = this.getDatabaseConnectionOrThrowError(connName);
|
|
4016
|
+
console.log(`@@@@@ connName: ${connName}`);
|
|
4000
4017
|
try {
|
|
4001
4018
|
if (database.isDBOpen()) {
|
|
4002
4019
|
// close the database
|
|
4003
|
-
await database.
|
|
4020
|
+
await database.dbClose();
|
|
4021
|
+
console.log(`@@@@@ after database.dbClose()`);
|
|
4004
4022
|
}
|
|
4005
4023
|
}
|
|
4006
4024
|
catch (err) {
|
|
@@ -4038,7 +4056,7 @@ class CapacitorSQLite {
|
|
|
4038
4056
|
const database = this.getDatabaseConnectionOrThrowError(connName);
|
|
4039
4057
|
if (database.isDBOpen()) {
|
|
4040
4058
|
try {
|
|
4041
|
-
await database.
|
|
4059
|
+
await database.dbClose();
|
|
4042
4060
|
return;
|
|
4043
4061
|
}
|
|
4044
4062
|
catch (err) {
|
|
@@ -4322,7 +4340,7 @@ class CapacitorSQLite {
|
|
|
4322
4340
|
// Import the JsonSQLite Object
|
|
4323
4341
|
const changes = await database.importJson(vJsonObj);
|
|
4324
4342
|
// Close the database
|
|
4325
|
-
await database.
|
|
4343
|
+
await database.dbClose();
|
|
4326
4344
|
return { changes: { changes: changes } };
|
|
4327
4345
|
}
|
|
4328
4346
|
catch (err) {
|
|
@@ -4619,6 +4637,7 @@ class CapacitorSQLite {
|
|
|
4619
4637
|
*/
|
|
4620
4638
|
getDatabaseConnectionOrThrowError(dbName) {
|
|
4621
4639
|
const databaseNames = Object.keys(this.databases);
|
|
4640
|
+
console.log(`@@@@ this.databases: ${JSON.stringify(this.databases)}`);
|
|
4622
4641
|
if (!databaseNames.includes(dbName)) {
|
|
4623
4642
|
throw new Error(`No connection available for database "${dbName}"`);
|
|
4624
4643
|
}
|
|
@@ -4719,7 +4738,7 @@ class CapacitorSQLite {
|
|
|
4719
4738
|
try {
|
|
4720
4739
|
const mDB = await this.sqliteUtil.openOrCreateDatabase(filePath, "", true);
|
|
4721
4740
|
await this.sqliteUtil.getVersion(mDB);
|
|
4722
|
-
|
|
4741
|
+
await this.sqliteUtil.closeDB(mDB);
|
|
4723
4742
|
return Promise.resolve({ result: false });
|
|
4724
4743
|
}
|
|
4725
4744
|
catch (error) {
|