react-native-nitro-sqlite 9.6.0 → 9.8.0
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/RNNitroSQLite.podspec +56 -20
- package/android/CMakeLists.txt +15 -0
- package/android/build.gradle +14 -0
- package/cpp/NitroSQLiteException.hpp +5 -0
- package/cpp/databaseMigration.cpp +123 -0
- package/cpp/databaseMigration.hpp +13 -0
- package/cpp/hybridObjects/HybridNitroSQLite.cpp +65 -16
- package/cpp/hybridObjects/HybridNitroSQLite.hpp +5 -0
- package/cpp/hybridObjects/HybridNitroSQLiteQueryResult.cpp +5 -4
- package/cpp/hybridObjects/HybridNitroSQLiteQueryResult.hpp +1 -1
- package/cpp/importSqlFile.cpp +10 -5
- package/cpp/importSqlFile.hpp +5 -1
- package/cpp/operations.cpp +232 -168
- package/cpp/operations.hpp +31 -1
- package/cpp/sqliteExecuteBatch.cpp +17 -16
- package/cpp/sqliteExecuteBatch.hpp +4 -0
- package/ios/OnLoad.mm +26 -3
- package/lib/commonjs/DatabaseQueue.js +4 -17
- package/lib/commonjs/DatabaseQueue.js.map +1 -1
- package/lib/commonjs/operations/execute.js +28 -11
- package/lib/commonjs/operations/execute.js.map +1 -1
- package/lib/commonjs/operations/session.js +34 -9
- package/lib/commonjs/operations/session.js.map +1 -1
- package/lib/commonjs/operations/transaction.js +5 -5
- package/lib/commonjs/operations/transaction.js.map +1 -1
- package/lib/module/DatabaseQueue.js +4 -15
- package/lib/module/DatabaseQueue.js.map +1 -1
- package/lib/module/operations/execute.js +24 -12
- package/lib/module/operations/execute.js.map +1 -1
- package/lib/module/operations/session.js +36 -11
- package/lib/module/operations/session.js.map +1 -1
- package/lib/module/operations/transaction.js +6 -6
- package/lib/module/operations/transaction.js.map +1 -1
- package/lib/typescript/commonjs/DatabaseQueue.d.ts +1 -3
- package/lib/typescript/commonjs/DatabaseQueue.d.ts.map +1 -1
- package/lib/typescript/commonjs/operations/execute.d.ts +6 -0
- package/lib/typescript/commonjs/operations/execute.d.ts.map +1 -1
- package/lib/typescript/commonjs/operations/session.d.ts.map +1 -1
- package/lib/typescript/commonjs/specs/NitroSQLite.nitro.d.ts.map +1 -1
- package/lib/typescript/commonjs/specs/NitroSQLiteQueryResult.nitro.d.ts.map +1 -1
- package/lib/typescript/module/DatabaseQueue.d.ts +1 -3
- package/lib/typescript/module/DatabaseQueue.d.ts.map +1 -1
- package/lib/typescript/module/operations/execute.d.ts +6 -0
- package/lib/typescript/module/operations/execute.d.ts.map +1 -1
- package/lib/typescript/module/operations/session.d.ts.map +1 -1
- package/lib/typescript/module/specs/NitroSQLite.nitro.d.ts.map +1 -1
- package/lib/typescript/module/specs/NitroSQLiteQueryResult.nitro.d.ts.map +1 -1
- package/nitrogen/generated/android/RNNitroSQLiteOnLoad.cpp +2 -2
- package/nitrogen/generated/android/c++/JHybridNitroSQLiteOnLoadSpec.hpp +2 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rnnitrosqlite/HybridNitroSQLiteOnLoadSpec.kt +2 -0
- package/nitrogen/generated/ios/RNNitroSQLite+autolinking.rb +2 -0
- package/package.json +9 -7
- package/src/DatabaseQueue.ts +9 -19
- package/src/operations/execute.ts +52 -12
- package/src/operations/session.ts +57 -11
- package/src/operations/transaction.ts +6 -6
- package/src/specs/NitroSQLite.nitro.ts +4 -1
- package/src/specs/NitroSQLiteQueryResult.nitro.ts +4 -1
- package/android/.gradle/8.9/checksums/checksums.lock +0 -0
- package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.9/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/vcs-1/gc.properties +0 -0
|
@@ -3,11 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.closeDatabase = closeDatabase;
|
|
7
6
|
exports.closeDatabaseQueue = closeDatabaseQueue;
|
|
8
7
|
exports.getDatabaseQueue = getDatabaseQueue;
|
|
9
8
|
exports.isDatabaseOpen = isDatabaseOpen;
|
|
10
|
-
exports.openDatabase = openDatabase;
|
|
11
9
|
exports.openDatabaseQueue = openDatabaseQueue;
|
|
12
10
|
exports.queueOperationAsync = queueOperationAsync;
|
|
13
11
|
exports.startOperationSync = startOperationSync;
|
|
@@ -27,7 +25,7 @@ function openDatabaseQueue(dbName) {
|
|
|
27
25
|
function closeDatabaseQueue(dbName) {
|
|
28
26
|
const databaseQueue = getDatabaseQueue(dbName);
|
|
29
27
|
if (databaseQueue.inProgress || databaseQueue.queue.length > 0) {
|
|
30
|
-
|
|
28
|
+
throw new _NitroSQLiteError.default(`Cannot close database ${dbName}. The database is busy with another operation.`);
|
|
31
29
|
}
|
|
32
30
|
databaseQueues.delete(dbName);
|
|
33
31
|
}
|
|
@@ -42,15 +40,6 @@ function getDatabaseQueue(dbName) {
|
|
|
42
40
|
const queue = databaseQueues.get(dbName);
|
|
43
41
|
return queue;
|
|
44
42
|
}
|
|
45
|
-
function openDatabase(dbName) {
|
|
46
|
-
databaseQueues.set(dbName, {
|
|
47
|
-
queue: [],
|
|
48
|
-
inProgress: false
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
function closeDatabase(dbName) {
|
|
52
|
-
databaseQueues.delete(dbName);
|
|
53
|
-
}
|
|
54
43
|
function queueOperationAsync(dbName, callback) {
|
|
55
44
|
const databaseQueue = getDatabaseQueue(dbName);
|
|
56
45
|
return new Promise((resolve, reject) => {
|
|
@@ -62,19 +51,17 @@ function queueOperationAsync(dbName, callback) {
|
|
|
62
51
|
reject(error);
|
|
63
52
|
} finally {
|
|
64
53
|
databaseQueue.inProgress = false;
|
|
65
|
-
startOperationAsync(
|
|
54
|
+
startOperationAsync(databaseQueue);
|
|
66
55
|
}
|
|
67
56
|
}
|
|
68
57
|
const operation = {
|
|
69
58
|
start
|
|
70
59
|
};
|
|
71
60
|
databaseQueue.queue.push(operation);
|
|
72
|
-
startOperationAsync(
|
|
61
|
+
startOperationAsync(databaseQueue);
|
|
73
62
|
});
|
|
74
63
|
}
|
|
75
|
-
function startOperationAsync(
|
|
76
|
-
const queue = getDatabaseQueue(dbName);
|
|
77
|
-
|
|
64
|
+
function startOperationAsync(queue) {
|
|
78
65
|
// Queue is empty or in progress. Bail out.
|
|
79
66
|
if (queue.inProgress || queue.queue.length === 0) {
|
|
80
67
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_NitroSQLiteError","_interopRequireDefault","require","e","__esModule","default","databaseQueues","Map","openDatabaseQueue","dbName","isDatabaseOpen","NitroSQLiteError","set","queue","inProgress","closeDatabaseQueue","databaseQueue","getDatabaseQueue","length","
|
|
1
|
+
{"version":3,"names":["_NitroSQLiteError","_interopRequireDefault","require","e","__esModule","default","databaseQueues","Map","openDatabaseQueue","dbName","isDatabaseOpen","NitroSQLiteError","set","queue","inProgress","closeDatabaseQueue","databaseQueue","getDatabaseQueue","length","delete","has","throwIfDatabaseIsNotOpen","get","queueOperationAsync","callback","Promise","resolve","reject","start","result","error","startOperationAsync","operation","push","shift","setImmediate","startOperationSync"],"sourceRoot":"../../src","sources":["DatabaseQueue.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,12 +3,27 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.buildJSQueryResult = buildJSQueryResult;
|
|
6
7
|
exports.execute = execute;
|
|
7
8
|
exports.executeAsync = executeAsync;
|
|
9
|
+
exports.executeAsyncManaged = executeAsyncManaged;
|
|
10
|
+
exports.executeAsyncNative = executeAsyncNative;
|
|
11
|
+
exports.executeManaged = executeManaged;
|
|
12
|
+
exports.executeNative = executeNative;
|
|
8
13
|
var _nitro = require("../nitro.js");
|
|
9
14
|
var _NitroSQLiteError = _interopRequireDefault(require("../NitroSQLiteError.js"));
|
|
15
|
+
var _DatabaseQueue = require("../DatabaseQueue.js");
|
|
10
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
17
|
function execute(dbName, query, params) {
|
|
18
|
+
if (!(0, _DatabaseQueue.isDatabaseOpen)(dbName)) {
|
|
19
|
+
return executeNative(dbName, query, params);
|
|
20
|
+
}
|
|
21
|
+
return executeManaged(dbName, query, params);
|
|
22
|
+
}
|
|
23
|
+
function executeManaged(dbName, query, params) {
|
|
24
|
+
return (0, _DatabaseQueue.startOperationSync)(dbName, () => executeNative(dbName, query, params));
|
|
25
|
+
}
|
|
26
|
+
function executeNative(dbName, query, params) {
|
|
12
27
|
try {
|
|
13
28
|
const nativeResult = _nitro.HybridNitroSQLite.execute(dbName, query, params);
|
|
14
29
|
return buildJSQueryResult(nativeResult);
|
|
@@ -17,6 +32,15 @@ function execute(dbName, query, params) {
|
|
|
17
32
|
}
|
|
18
33
|
}
|
|
19
34
|
async function executeAsync(dbName, query, params) {
|
|
35
|
+
if (!(0, _DatabaseQueue.isDatabaseOpen)(dbName)) {
|
|
36
|
+
return executeAsyncNative(dbName, query, params);
|
|
37
|
+
}
|
|
38
|
+
return executeAsyncManaged(dbName, query, params);
|
|
39
|
+
}
|
|
40
|
+
async function executeAsyncManaged(dbName, query, params) {
|
|
41
|
+
return (0, _DatabaseQueue.queueOperationAsync)(dbName, () => executeAsyncNative(dbName, query, params));
|
|
42
|
+
}
|
|
43
|
+
async function executeAsyncNative(dbName, query, params) {
|
|
20
44
|
try {
|
|
21
45
|
const nativeResult = await _nitro.HybridNitroSQLite.executeAsync(dbName, query, params);
|
|
22
46
|
return buildJSQueryResult(nativeResult);
|
|
@@ -26,19 +50,12 @@ async function executeAsync(dbName, query, params) {
|
|
|
26
50
|
}
|
|
27
51
|
function buildJSQueryResult(result) {
|
|
28
52
|
const resultWithRows = result;
|
|
53
|
+
const results = result.results;
|
|
29
54
|
resultWithRows.rows = {
|
|
30
|
-
_array:
|
|
31
|
-
length:
|
|
32
|
-
item: idx =>
|
|
55
|
+
_array: results,
|
|
56
|
+
length: results.length,
|
|
57
|
+
item: idx => results[idx]
|
|
33
58
|
};
|
|
34
59
|
return resultWithRows;
|
|
35
|
-
|
|
36
|
-
// return Object.assign(result, {
|
|
37
|
-
// rows: {
|
|
38
|
-
// _array: result.results,
|
|
39
|
-
// length: result.results.length,
|
|
40
|
-
// item: (idx: number) => result.results[idx],
|
|
41
|
-
// },
|
|
42
|
-
// })
|
|
43
60
|
}
|
|
44
61
|
//# sourceMappingURL=execute.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_nitro","require","_NitroSQLiteError","_interopRequireDefault","e","__esModule","default","execute","dbName","query","params","nativeResult","HybridNitroSQLite","buildJSQueryResult","error","NitroSQLiteError","fromError","executeAsync","result","resultWithRows","
|
|
1
|
+
{"version":3,"names":["_nitro","require","_NitroSQLiteError","_interopRequireDefault","_DatabaseQueue","e","__esModule","default","execute","dbName","query","params","isDatabaseOpen","executeNative","executeManaged","startOperationSync","nativeResult","HybridNitroSQLite","buildJSQueryResult","error","NitroSQLiteError","fromError","executeAsync","executeAsyncNative","executeAsyncManaged","queueOperationAsync","result","resultWithRows","results","rows","_array","length","item","idx"],"sourceRoot":"../../../src","sources":["operations/execute.ts"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,cAAA,GAAAH,OAAA;AAIyB,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAElB,SAASG,OAAOA,CACrBC,MAAc,EACdC,KAAa,EACbC,MAA0B,EACR;EAClB,IAAI,CAAC,IAAAC,6BAAc,EAACH,MAAM,CAAC,EAAE;IAC3B,OAAOI,aAAa,CAACJ,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;EAC7C;EAEA,OAAOG,cAAc,CAACL,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;AAC9C;AAEO,SAASG,cAAcA,CAC5BL,MAAc,EACdC,KAAa,EACbC,MAA0B,EACR;EAClB,OAAO,IAAAI,iCAAkB,EAACN,MAAM,EAAE,MAAMI,aAAa,CAACJ,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC,CAAC;AAC/E;AAEO,SAASE,aAAaA,CAC3BJ,MAAc,EACdC,KAAa,EACbC,MAA0B,EACR;EAClB,IAAI;IACF,MAAMK,YAAY,GAAGC,wBAAiB,CAACT,OAAO,CAACC,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;IACrE,OAAOO,kBAAkB,CAAMF,YAAY,CAAC;EAC9C,CAAC,CAAC,OAAOG,KAAK,EAAE;IACd,MAAMC,yBAAgB,CAACC,SAAS,CAACF,KAAK,CAAC;EACzC;AACF;AAEO,eAAeG,YAAYA,CAChCb,MAAc,EACdC,KAAa,EACbC,MAA0B,EACC;EAC3B,IAAI,CAAC,IAAAC,6BAAc,EAACH,MAAM,CAAC,EAAE;IAC3B,OAAOc,kBAAkB,CAACd,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;EAClD;EAEA,OAAOa,mBAAmB,CAACf,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;AACnD;AAEO,eAAea,mBAAmBA,CACvCf,MAAc,EACdC,KAAa,EACbC,MAA0B,EACC;EAC3B,OAAO,IAAAc,kCAAmB,EAAChB,MAAM,EAAE,MACjCc,kBAAkB,CAACd,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAC1C,CAAC;AACH;AAEO,eAAeY,kBAAkBA,CACtCd,MAAc,EACdC,KAAa,EACbC,MAA0B,EACC;EAC3B,IAAI;IACF,MAAMK,YAAY,GAAG,MAAMC,wBAAiB,CAACK,YAAY,CACvDb,MAAM,EACNC,KAAK,EACLC,MACF,CAAC;IACD,OAAOO,kBAAkB,CAAMF,YAAY,CAAC;EAC9C,CAAC,CAAC,OAAOG,KAAK,EAAE;IACd,MAAMC,yBAAgB,CAACC,SAAS,CAACF,KAAK,CAAC;EACzC;AACF;AAEO,SAASD,kBAAkBA,CAChCQ,MAA8B,EACZ;EAClB,MAAMC,cAAc,GAAGD,MAA0B;EACjD,MAAME,OAAO,GAAGF,MAAM,CAACE,OAAgB;EAEvCD,cAAc,CAACE,IAAI,GAAG;IACpBC,MAAM,EAAEF,OAAO;IACfG,MAAM,EAAEH,OAAO,CAACG,MAAM;IACtBC,IAAI,EAAGC,GAAW,IAAKL,OAAO,CAACK,GAAG;EACpC,CAAC;EAED,OAAON,cAAc;AACvB","ignoreList":[]}
|
|
@@ -12,31 +12,56 @@ var _NitroSQLiteError = _interopRequireDefault(require("../NitroSQLiteError.js")
|
|
|
12
12
|
var _DatabaseQueue = require("../DatabaseQueue.js");
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
function open(options) {
|
|
15
|
+
(0, _DatabaseQueue.openDatabaseQueue)(options.name);
|
|
15
16
|
try {
|
|
16
17
|
_nitro.HybridNitroSQLite.open(options.name, options.location);
|
|
17
|
-
(0, _DatabaseQueue.openDatabaseQueue)(options.name);
|
|
18
18
|
} catch (error) {
|
|
19
|
+
(0, _DatabaseQueue.closeDatabaseQueue)(options.name);
|
|
19
20
|
throw _NitroSQLiteError.default.fromError(error);
|
|
20
21
|
}
|
|
21
22
|
return {
|
|
22
23
|
close: () => {
|
|
23
24
|
try {
|
|
24
|
-
_nitro.HybridNitroSQLite.close(options.name);
|
|
25
|
+
(0, _DatabaseQueue.startOperationSync)(options.name, () => _nitro.HybridNitroSQLite.close(options.name));
|
|
25
26
|
(0, _DatabaseQueue.closeDatabaseQueue)(options.name);
|
|
26
27
|
} catch (error) {
|
|
27
28
|
throw _NitroSQLiteError.default.fromError(error);
|
|
28
29
|
}
|
|
29
30
|
},
|
|
30
|
-
delete: () =>
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
delete: () => {
|
|
32
|
+
try {
|
|
33
|
+
if (!(0, _DatabaseQueue.isDatabaseOpen)(options.name)) {
|
|
34
|
+
_nitro.HybridNitroSQLite.drop(options.name, options.location);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
(0, _DatabaseQueue.startOperationSync)(options.name, () => _nitro.HybridNitroSQLite.drop(options.name, options.location));
|
|
38
|
+
(0, _DatabaseQueue.closeDatabaseQueue)(options.name);
|
|
39
|
+
} catch (error) {
|
|
40
|
+
throw _NitroSQLiteError.default.fromError(error);
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
attach: (dbNameToAttach, alias, location) => runSyncOperation(options.name, () => _nitro.HybridNitroSQLite.attach(options.name, dbNameToAttach, alias, location)),
|
|
44
|
+
detach: alias => runSyncOperation(options.name, () => _nitro.HybridNitroSQLite.detach(options.name, alias)),
|
|
33
45
|
transaction: fn => (0, _transaction.transaction)(options.name, fn),
|
|
34
|
-
execute: (query, params) => (0, _execute.
|
|
35
|
-
executeAsync: (query, params) => (0, _execute.
|
|
46
|
+
execute: (query, params) => (0, _execute.executeManaged)(options.name, query, params),
|
|
47
|
+
executeAsync: (query, params) => (0, _execute.executeAsyncManaged)(options.name, query, params),
|
|
36
48
|
executeBatch: commands => (0, _executeBatch.executeBatch)(options.name, commands),
|
|
37
49
|
executeBatchAsync: commands => (0, _executeBatch.executeBatchAsync)(options.name, commands),
|
|
38
|
-
loadFile: location => _nitro.HybridNitroSQLite.loadFile(options.name, location),
|
|
39
|
-
loadFileAsync: location =>
|
|
50
|
+
loadFile: location => runSyncOperation(options.name, () => _nitro.HybridNitroSQLite.loadFile(options.name, location)),
|
|
51
|
+
loadFileAsync: location => (0, _DatabaseQueue.queueOperationAsync)(options.name, async () => {
|
|
52
|
+
try {
|
|
53
|
+
return await _nitro.HybridNitroSQLite.loadFileAsync(options.name, location);
|
|
54
|
+
} catch (error) {
|
|
55
|
+
throw _NitroSQLiteError.default.fromError(error);
|
|
56
|
+
}
|
|
57
|
+
})
|
|
40
58
|
};
|
|
41
59
|
}
|
|
60
|
+
function runSyncOperation(dbName, callback) {
|
|
61
|
+
try {
|
|
62
|
+
return (0, _DatabaseQueue.startOperationSync)(dbName, callback);
|
|
63
|
+
} catch (error) {
|
|
64
|
+
throw _NitroSQLiteError.default.fromError(error);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
42
67
|
//# sourceMappingURL=session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_nitro","require","_transaction","_execute","_executeBatch","_NitroSQLiteError","_interopRequireDefault","_DatabaseQueue","e","__esModule","default","open","options","
|
|
1
|
+
{"version":3,"names":["_nitro","require","_transaction","_execute","_executeBatch","_NitroSQLiteError","_interopRequireDefault","_DatabaseQueue","e","__esModule","default","open","options","openDatabaseQueue","name","HybridNitroSQLite","location","error","closeDatabaseQueue","NitroSQLiteError","fromError","close","startOperationSync","delete","isDatabaseOpen","drop","attach","dbNameToAttach","alias","runSyncOperation","detach","transaction","fn","execute","query","params","executeManaged","executeAsync","executeAsyncManaged","executeBatch","commands","executeBatchAsync","loadFile","loadFileAsync","queueOperationAsync","dbName","callback"],"sourceRoot":"../../../src","sources":["operations/session.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAUA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AAMyB,SAAAK,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAElB,SAASG,IAAIA,CAClBC,OAAqC,EACd;EACvB,IAAAC,gCAAiB,EAACD,OAAO,CAACE,IAAI,CAAC;EAE/B,IAAI;IACFC,wBAAiB,CAACJ,IAAI,CAACC,OAAO,CAACE,IAAI,EAAEF,OAAO,CAACI,QAAQ,CAAC;EACxD,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,IAAAC,iCAAkB,EAACN,OAAO,CAACE,IAAI,CAAC;IAChC,MAAMK,yBAAgB,CAACC,SAAS,CAACH,KAAK,CAAC;EACzC;EAEA,OAAO;IACLI,KAAK,EAAEA,CAAA,KAAM;MACX,IAAI;QACF,IAAAC,iCAAkB,EAACV,OAAO,CAACE,IAAI,EAAE,MAC/BC,wBAAiB,CAACM,KAAK,CAACT,OAAO,CAACE,IAAI,CACtC,CAAC;QACD,IAAAI,iCAAkB,EAACN,OAAO,CAACE,IAAI,CAAC;MAClC,CAAC,CAAC,OAAOG,KAAK,EAAE;QACd,MAAME,yBAAgB,CAACC,SAAS,CAACH,KAAK,CAAC;MACzC;IACF,CAAC;IACDM,MAAM,EAAEA,CAAA,KAAM;MACZ,IAAI;QACF,IAAI,CAAC,IAAAC,6BAAc,EAACZ,OAAO,CAACE,IAAI,CAAC,EAAE;UACjCC,wBAAiB,CAACU,IAAI,CAACb,OAAO,CAACE,IAAI,EAAEF,OAAO,CAACI,QAAQ,CAAC;UACtD;QACF;QAEA,IAAAM,iCAAkB,EAACV,OAAO,CAACE,IAAI,EAAE,MAC/BC,wBAAiB,CAACU,IAAI,CAACb,OAAO,CAACE,IAAI,EAAEF,OAAO,CAACI,QAAQ,CACvD,CAAC;QACD,IAAAE,iCAAkB,EAACN,OAAO,CAACE,IAAI,CAAC;MAClC,CAAC,CAAC,OAAOG,KAAK,EAAE;QACd,MAAME,yBAAgB,CAACC,SAAS,CAACH,KAAK,CAAC;MACzC;IACF,CAAC;IACDS,MAAM,EAAEA,CAACC,cAAsB,EAAEC,KAAa,EAAEZ,QAAiB,KAC/Da,gBAAgB,CAACjB,OAAO,CAACE,IAAI,EAAE,MAC7BC,wBAAiB,CAACW,MAAM,CAACd,OAAO,CAACE,IAAI,EAAEa,cAAc,EAAEC,KAAK,EAAEZ,QAAQ,CACxE,CAAC;IACHc,MAAM,EAAGF,KAAa,IACpBC,gBAAgB,CAACjB,OAAO,CAACE,IAAI,EAAE,MAC7BC,wBAAiB,CAACe,MAAM,CAAClB,OAAO,CAACE,IAAI,EAAEc,KAAK,CAC9C,CAAC;IACHG,WAAW,EAAkBC,EAAwC,IACnE,IAAAD,wBAAW,EAACnB,OAAO,CAACE,IAAI,EAAEkB,EAAE,CAAC;IAC/BC,OAAO,EAAEA,CACPC,KAAa,EACbC,MAA0B,KACL,IAAAC,uBAAc,EAACxB,OAAO,CAACE,IAAI,EAAEoB,KAAK,EAAEC,MAAM,CAAC;IAClEE,YAAY,EAAEA,CACZH,KAAa,EACbC,MAA0B,KAE1B,IAAAG,4BAAmB,EAAC1B,OAAO,CAACE,IAAI,EAAEoB,KAAK,EAAEC,MAAM,CAAC;IAClDI,YAAY,EAAGC,QAA6B,IAC1C,IAAAD,0BAAY,EAAC3B,OAAO,CAACE,IAAI,EAAE0B,QAAQ,CAAC;IACtCC,iBAAiB,EAAGD,QAA6B,IAC/C,IAAAC,+BAAiB,EAAC7B,OAAO,CAACE,IAAI,EAAE0B,QAAQ,CAAC;IAC3CE,QAAQ,EAAG1B,QAAgB,IACzBa,gBAAgB,CAACjB,OAAO,CAACE,IAAI,EAAE,MAC7BC,wBAAiB,CAAC2B,QAAQ,CAAC9B,OAAO,CAACE,IAAI,EAAEE,QAAQ,CACnD,CAAC;IACH2B,aAAa,EAAG3B,QAAgB,IAC9B,IAAA4B,kCAAmB,EAAChC,OAAO,CAACE,IAAI,EAAE,YAAY;MAC5C,IAAI;QACF,OAAO,MAAMC,wBAAiB,CAAC4B,aAAa,CAAC/B,OAAO,CAACE,IAAI,EAAEE,QAAQ,CAAC;MACtE,CAAC,CAAC,OAAOC,KAAK,EAAE;QACd,MAAME,yBAAgB,CAACC,SAAS,CAACH,KAAK,CAAC;MACzC;IACF,CAAC;EACL,CAAC;AACH;AAEA,SAASY,gBAAgBA,CAASgB,MAAc,EAAEC,QAAsB,EAAE;EACxE,IAAI;IACF,OAAO,IAAAxB,iCAAkB,EAACuB,MAAM,EAAEC,QAAQ,CAAC;EAC7C,CAAC,CAAC,OAAO7B,KAAK,EAAE;IACd,MAAME,yBAAgB,CAACC,SAAS,CAACH,KAAK,CAAC;EACzC;AACF","ignoreList":[]}
|
|
@@ -15,31 +15,31 @@ const transaction = async (dbName, transactionCallback, isExclusive = false) =>
|
|
|
15
15
|
if (isFinished) {
|
|
16
16
|
throw new _NitroSQLiteError.default(`Cannot execute query on finalized transaction: ${dbName}`);
|
|
17
17
|
}
|
|
18
|
-
return (0, _execute.
|
|
18
|
+
return (0, _execute.executeNative)(dbName, query, params);
|
|
19
19
|
};
|
|
20
20
|
const executeAsyncOnTransaction = (query, params) => {
|
|
21
21
|
if (isFinished) {
|
|
22
22
|
throw new _NitroSQLiteError.default(`Cannot execute query on finalized transaction: ${dbName}`);
|
|
23
23
|
}
|
|
24
|
-
return (0, _execute.
|
|
24
|
+
return (0, _execute.executeAsyncNative)(dbName, query, params);
|
|
25
25
|
};
|
|
26
26
|
const commit = () => {
|
|
27
27
|
if (isFinished) {
|
|
28
28
|
throw new _NitroSQLiteError.default(`Cannot execute commit on finalized transaction: ${dbName}`);
|
|
29
29
|
}
|
|
30
30
|
isFinished = true;
|
|
31
|
-
return (0, _execute.
|
|
31
|
+
return (0, _execute.executeNative)(dbName, 'COMMIT');
|
|
32
32
|
};
|
|
33
33
|
const rollback = () => {
|
|
34
34
|
if (isFinished) {
|
|
35
35
|
throw new _NitroSQLiteError.default(`Cannot execute rollback on finalized transaction: ${dbName}`);
|
|
36
36
|
}
|
|
37
37
|
isFinished = true;
|
|
38
|
-
return (0, _execute.
|
|
38
|
+
return (0, _execute.executeNative)(dbName, 'ROLLBACK');
|
|
39
39
|
};
|
|
40
40
|
return await (0, _DatabaseQueue.queueOperationAsync)(dbName, async () => {
|
|
41
41
|
try {
|
|
42
|
-
await (0, _execute.
|
|
42
|
+
await (0, _execute.executeAsyncNative)(dbName, isExclusive ? 'BEGIN EXCLUSIVE TRANSACTION' : 'BEGIN TRANSACTION');
|
|
43
43
|
const result = await transactionCallback({
|
|
44
44
|
commit,
|
|
45
45
|
execute: executeOnTransaction,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_DatabaseQueue","require","_execute","_NitroSQLiteError","_interopRequireDefault","e","__esModule","default","transaction","dbName","transactionCallback","isExclusive","throwIfDatabaseIsNotOpen","isFinished","executeOnTransaction","query","params","NitroSQLiteError","
|
|
1
|
+
{"version":3,"names":["_DatabaseQueue","require","_execute","_NitroSQLiteError","_interopRequireDefault","e","__esModule","default","transaction","dbName","transactionCallback","isExclusive","throwIfDatabaseIsNotOpen","isFinished","executeOnTransaction","query","params","NitroSQLiteError","executeNative","executeAsyncOnTransaction","executeAsyncNative","commit","rollback","queueOperationAsync","result","execute","executeAsync","executionError","rollbackError","fromError","exports"],"sourceRoot":"../../../src","sources":["operations/transaction.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAOA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAkD,SAAAG,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3C,MAAMG,WAAW,GAAG,MAAAA,CACzBC,MAAc,EACdC,mBAAyD,EACzDC,WAAW,GAAG,KAAK,KAChB;EACH,IAAAC,uCAAwB,EAACH,MAAM,CAAC;EAEhC,IAAII,UAAU,GAAG,KAAK;EAEtB,MAAMC,oBAAoB,GAAGA,CAC3BC,KAAa,EACbC,MAA0B,KACL;IACrB,IAAIH,UAAU,EAAE;MACd,MAAM,IAAII,yBAAgB,CACxB,kDAAkDR,MAAM,EAC1D,CAAC;IACH;IACA,OAAO,IAAAS,sBAAa,EAACT,MAAM,EAAEM,KAAK,EAAEC,MAAM,CAAC;EAC7C,CAAC;EAED,MAAMG,yBAAyB,GAAGA,CAChCJ,KAAa,EACbC,MAA0B,KACI;IAC9B,IAAIH,UAAU,EAAE;MACd,MAAM,IAAII,yBAAgB,CACxB,kDAAkDR,MAAM,EAC1D,CAAC;IACH;IACA,OAAO,IAAAW,2BAAkB,EAACX,MAAM,EAAEM,KAAK,EAAEC,MAAM,CAAC;EAClD,CAAC;EAED,MAAMK,MAAM,GAAGA,CAAA,KAAM;IACnB,IAAIR,UAAU,EAAE;MACd,MAAM,IAAII,yBAAgB,CACxB,mDAAmDR,MAAM,EAC3D,CAAC;IACH;IACAI,UAAU,GAAG,IAAI;IACjB,OAAO,IAAAK,sBAAa,EAACT,MAAM,EAAE,QAAQ,CAAC;EACxC,CAAC;EAED,MAAMa,QAAQ,GAAGA,CAAA,KAAM;IACrB,IAAIT,UAAU,EAAE;MACd,MAAM,IAAII,yBAAgB,CACxB,qDAAqDR,MAAM,EAC7D,CAAC;IACH;IACAI,UAAU,GAAG,IAAI;IACjB,OAAO,IAAAK,sBAAa,EAACT,MAAM,EAAE,UAAU,CAAC;EAC1C,CAAC;EAED,OAAO,MAAM,IAAAc,kCAAmB,EAACd,MAAM,EAAE,YAAY;IACnD,IAAI;MACF,MAAM,IAAAW,2BAAkB,EACtBX,MAAM,EACNE,WAAW,GAAG,6BAA6B,GAAG,mBAChD,CAAC;MAED,MAAMa,MAAM,GAAG,MAAMd,mBAAmB,CAAC;QACvCW,MAAM;QACNI,OAAO,EAAEX,oBAAoB;QAC7BY,YAAY,EAAEP,yBAAyB;QACvCG;MACF,CAAC,CAAC;MAEF,IAAI,CAACT,UAAU,EAAEQ,MAAM,CAAC,CAAC;MAEzB,OAAOG,MAAM;IACf,CAAC,CAAC,OAAOG,cAAc,EAAE;MACvB,IAAI,CAACd,UAAU,EAAE;QACf,IAAI;UACFS,QAAQ,CAAC,CAAC;QACZ,CAAC,CAAC,OAAOM,aAAa,EAAE;UACtB,MAAMX,yBAAgB,CAACY,SAAS,CAACD,aAAa,CAAC;QACjD;MACF;MAEA,MAAMX,yBAAgB,CAACY,SAAS,CAACF,cAAc,CAAC;IAClD;EACF,CAAC,CAAC;AACJ,CAAC;AAAAG,OAAA,CAAAtB,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
@@ -14,7 +14,7 @@ export function openDatabaseQueue(dbName) {
|
|
|
14
14
|
export function closeDatabaseQueue(dbName) {
|
|
15
15
|
const databaseQueue = getDatabaseQueue(dbName);
|
|
16
16
|
if (databaseQueue.inProgress || databaseQueue.queue.length > 0) {
|
|
17
|
-
|
|
17
|
+
throw new NitroSQLiteError(`Cannot close database ${dbName}. The database is busy with another operation.`);
|
|
18
18
|
}
|
|
19
19
|
databaseQueues.delete(dbName);
|
|
20
20
|
}
|
|
@@ -29,15 +29,6 @@ export function getDatabaseQueue(dbName) {
|
|
|
29
29
|
const queue = databaseQueues.get(dbName);
|
|
30
30
|
return queue;
|
|
31
31
|
}
|
|
32
|
-
export function openDatabase(dbName) {
|
|
33
|
-
databaseQueues.set(dbName, {
|
|
34
|
-
queue: [],
|
|
35
|
-
inProgress: false
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
export function closeDatabase(dbName) {
|
|
39
|
-
databaseQueues.delete(dbName);
|
|
40
|
-
}
|
|
41
32
|
export function queueOperationAsync(dbName, callback) {
|
|
42
33
|
const databaseQueue = getDatabaseQueue(dbName);
|
|
43
34
|
return new Promise((resolve, reject) => {
|
|
@@ -49,19 +40,17 @@ export function queueOperationAsync(dbName, callback) {
|
|
|
49
40
|
reject(error);
|
|
50
41
|
} finally {
|
|
51
42
|
databaseQueue.inProgress = false;
|
|
52
|
-
startOperationAsync(
|
|
43
|
+
startOperationAsync(databaseQueue);
|
|
53
44
|
}
|
|
54
45
|
}
|
|
55
46
|
const operation = {
|
|
56
47
|
start
|
|
57
48
|
};
|
|
58
49
|
databaseQueue.queue.push(operation);
|
|
59
|
-
startOperationAsync(
|
|
50
|
+
startOperationAsync(databaseQueue);
|
|
60
51
|
});
|
|
61
52
|
}
|
|
62
|
-
function startOperationAsync(
|
|
63
|
-
const queue = getDatabaseQueue(dbName);
|
|
64
|
-
|
|
53
|
+
function startOperationAsync(queue) {
|
|
65
54
|
// Queue is empty or in progress. Bail out.
|
|
66
55
|
if (queue.inProgress || queue.queue.length === 0) {
|
|
67
56
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NitroSQLiteError","databaseQueues","Map","openDatabaseQueue","dbName","isDatabaseOpen","set","queue","inProgress","closeDatabaseQueue","databaseQueue","getDatabaseQueue","length","
|
|
1
|
+
{"version":3,"names":["NitroSQLiteError","databaseQueues","Map","openDatabaseQueue","dbName","isDatabaseOpen","set","queue","inProgress","closeDatabaseQueue","databaseQueue","getDatabaseQueue","length","delete","has","throwIfDatabaseIsNotOpen","get","queueOperationAsync","callback","Promise","resolve","reject","start","result","error","startOperationAsync","operation","push","shift","setImmediate","startOperationSync"],"sourceRoot":"../../src","sources":["DatabaseQueue.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
import { HybridNitroSQLite } from "../nitro.js";
|
|
4
4
|
import NitroSQLiteError from "../NitroSQLiteError.js";
|
|
5
|
+
import { isDatabaseOpen, queueOperationAsync, startOperationSync } from "../DatabaseQueue.js";
|
|
5
6
|
export function execute(dbName, query, params) {
|
|
7
|
+
if (!isDatabaseOpen(dbName)) {
|
|
8
|
+
return executeNative(dbName, query, params);
|
|
9
|
+
}
|
|
10
|
+
return executeManaged(dbName, query, params);
|
|
11
|
+
}
|
|
12
|
+
export function executeManaged(dbName, query, params) {
|
|
13
|
+
return startOperationSync(dbName, () => executeNative(dbName, query, params));
|
|
14
|
+
}
|
|
15
|
+
export function executeNative(dbName, query, params) {
|
|
6
16
|
try {
|
|
7
17
|
const nativeResult = HybridNitroSQLite.execute(dbName, query, params);
|
|
8
18
|
return buildJSQueryResult(nativeResult);
|
|
@@ -11,6 +21,15 @@ export function execute(dbName, query, params) {
|
|
|
11
21
|
}
|
|
12
22
|
}
|
|
13
23
|
export async function executeAsync(dbName, query, params) {
|
|
24
|
+
if (!isDatabaseOpen(dbName)) {
|
|
25
|
+
return executeAsyncNative(dbName, query, params);
|
|
26
|
+
}
|
|
27
|
+
return executeAsyncManaged(dbName, query, params);
|
|
28
|
+
}
|
|
29
|
+
export async function executeAsyncManaged(dbName, query, params) {
|
|
30
|
+
return queueOperationAsync(dbName, () => executeAsyncNative(dbName, query, params));
|
|
31
|
+
}
|
|
32
|
+
export async function executeAsyncNative(dbName, query, params) {
|
|
14
33
|
try {
|
|
15
34
|
const nativeResult = await HybridNitroSQLite.executeAsync(dbName, query, params);
|
|
16
35
|
return buildJSQueryResult(nativeResult);
|
|
@@ -18,21 +37,14 @@ export async function executeAsync(dbName, query, params) {
|
|
|
18
37
|
throw NitroSQLiteError.fromError(error);
|
|
19
38
|
}
|
|
20
39
|
}
|
|
21
|
-
function buildJSQueryResult(result) {
|
|
40
|
+
export function buildJSQueryResult(result) {
|
|
22
41
|
const resultWithRows = result;
|
|
42
|
+
const results = result.results;
|
|
23
43
|
resultWithRows.rows = {
|
|
24
|
-
_array:
|
|
25
|
-
length:
|
|
26
|
-
item: idx =>
|
|
44
|
+
_array: results,
|
|
45
|
+
length: results.length,
|
|
46
|
+
item: idx => results[idx]
|
|
27
47
|
};
|
|
28
48
|
return resultWithRows;
|
|
29
|
-
|
|
30
|
-
// return Object.assign(result, {
|
|
31
|
-
// rows: {
|
|
32
|
-
// _array: result.results,
|
|
33
|
-
// length: result.results.length,
|
|
34
|
-
// item: (idx: number) => result.results[idx],
|
|
35
|
-
// },
|
|
36
|
-
// })
|
|
37
49
|
}
|
|
38
50
|
//# sourceMappingURL=execute.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HybridNitroSQLite","NitroSQLiteError","execute","dbName","query","params","nativeResult","buildJSQueryResult","error","fromError","executeAsync","result","resultWithRows","
|
|
1
|
+
{"version":3,"names":["HybridNitroSQLite","NitroSQLiteError","isDatabaseOpen","queueOperationAsync","startOperationSync","execute","dbName","query","params","executeNative","executeManaged","nativeResult","buildJSQueryResult","error","fromError","executeAsync","executeAsyncNative","executeAsyncManaged","result","resultWithRows","results","rows","_array","length","item","idx"],"sourceRoot":"../../../src","sources":["operations/execute.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,aAAU;AAE5C,OAAOC,gBAAgB,MAAM,wBAAqB;AAElD,SACEC,cAAc,EACdC,mBAAmB,EACnBC,kBAAkB,QACb,qBAAkB;AAEzB,OAAO,SAASC,OAAOA,CACrBC,MAAc,EACdC,KAAa,EACbC,MAA0B,EACR;EAClB,IAAI,CAACN,cAAc,CAACI,MAAM,CAAC,EAAE;IAC3B,OAAOG,aAAa,CAACH,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;EAC7C;EAEA,OAAOE,cAAc,CAACJ,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;AAC9C;AAEA,OAAO,SAASE,cAAcA,CAC5BJ,MAAc,EACdC,KAAa,EACbC,MAA0B,EACR;EAClB,OAAOJ,kBAAkB,CAACE,MAAM,EAAE,MAAMG,aAAa,CAACH,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC,CAAC;AAC/E;AAEA,OAAO,SAASC,aAAaA,CAC3BH,MAAc,EACdC,KAAa,EACbC,MAA0B,EACR;EAClB,IAAI;IACF,MAAMG,YAAY,GAAGX,iBAAiB,CAACK,OAAO,CAACC,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;IACrE,OAAOI,kBAAkB,CAAMD,YAAY,CAAC;EAC9C,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,MAAMZ,gBAAgB,CAACa,SAAS,CAACD,KAAK,CAAC;EACzC;AACF;AAEA,OAAO,eAAeE,YAAYA,CAChCT,MAAc,EACdC,KAAa,EACbC,MAA0B,EACC;EAC3B,IAAI,CAACN,cAAc,CAACI,MAAM,CAAC,EAAE;IAC3B,OAAOU,kBAAkB,CAACV,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;EAClD;EAEA,OAAOS,mBAAmB,CAACX,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;AACnD;AAEA,OAAO,eAAeS,mBAAmBA,CACvCX,MAAc,EACdC,KAAa,EACbC,MAA0B,EACC;EAC3B,OAAOL,mBAAmB,CAACG,MAAM,EAAE,MACjCU,kBAAkB,CAACV,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAC1C,CAAC;AACH;AAEA,OAAO,eAAeQ,kBAAkBA,CACtCV,MAAc,EACdC,KAAa,EACbC,MAA0B,EACC;EAC3B,IAAI;IACF,MAAMG,YAAY,GAAG,MAAMX,iBAAiB,CAACe,YAAY,CACvDT,MAAM,EACNC,KAAK,EACLC,MACF,CAAC;IACD,OAAOI,kBAAkB,CAAMD,YAAY,CAAC;EAC9C,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,MAAMZ,gBAAgB,CAACa,SAAS,CAACD,KAAK,CAAC;EACzC;AACF;AAEA,OAAO,SAASD,kBAAkBA,CAChCM,MAA8B,EACZ;EAClB,MAAMC,cAAc,GAAGD,MAA0B;EACjD,MAAME,OAAO,GAAGF,MAAM,CAACE,OAAgB;EAEvCD,cAAc,CAACE,IAAI,GAAG;IACpBC,MAAM,EAAEF,OAAO;IACfG,MAAM,EAAEH,OAAO,CAACG,MAAM;IACtBC,IAAI,EAAGC,GAAW,IAAKL,OAAO,CAACK,GAAG;EACpC,CAAC;EAED,OAAON,cAAc;AACvB","ignoreList":[]}
|
|
@@ -2,36 +2,61 @@
|
|
|
2
2
|
|
|
3
3
|
import { HybridNitroSQLite } from "../nitro.js";
|
|
4
4
|
import { transaction } from "./transaction.js";
|
|
5
|
-
import {
|
|
5
|
+
import { executeAsyncManaged, executeManaged } from "./execute.js";
|
|
6
6
|
import { executeBatch, executeBatchAsync } from "./executeBatch.js";
|
|
7
7
|
import NitroSQLiteError from "../NitroSQLiteError.js";
|
|
8
|
-
import { closeDatabaseQueue, openDatabaseQueue } from "../DatabaseQueue.js";
|
|
8
|
+
import { closeDatabaseQueue, isDatabaseOpen, openDatabaseQueue, queueOperationAsync, startOperationSync } from "../DatabaseQueue.js";
|
|
9
9
|
export function open(options) {
|
|
10
|
+
openDatabaseQueue(options.name);
|
|
10
11
|
try {
|
|
11
12
|
HybridNitroSQLite.open(options.name, options.location);
|
|
12
|
-
openDatabaseQueue(options.name);
|
|
13
13
|
} catch (error) {
|
|
14
|
+
closeDatabaseQueue(options.name);
|
|
14
15
|
throw NitroSQLiteError.fromError(error);
|
|
15
16
|
}
|
|
16
17
|
return {
|
|
17
18
|
close: () => {
|
|
18
19
|
try {
|
|
19
|
-
HybridNitroSQLite.close(options.name);
|
|
20
|
+
startOperationSync(options.name, () => HybridNitroSQLite.close(options.name));
|
|
20
21
|
closeDatabaseQueue(options.name);
|
|
21
22
|
} catch (error) {
|
|
22
23
|
throw NitroSQLiteError.fromError(error);
|
|
23
24
|
}
|
|
24
25
|
},
|
|
25
|
-
delete: () =>
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
delete: () => {
|
|
27
|
+
try {
|
|
28
|
+
if (!isDatabaseOpen(options.name)) {
|
|
29
|
+
HybridNitroSQLite.drop(options.name, options.location);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
startOperationSync(options.name, () => HybridNitroSQLite.drop(options.name, options.location));
|
|
33
|
+
closeDatabaseQueue(options.name);
|
|
34
|
+
} catch (error) {
|
|
35
|
+
throw NitroSQLiteError.fromError(error);
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
attach: (dbNameToAttach, alias, location) => runSyncOperation(options.name, () => HybridNitroSQLite.attach(options.name, dbNameToAttach, alias, location)),
|
|
39
|
+
detach: alias => runSyncOperation(options.name, () => HybridNitroSQLite.detach(options.name, alias)),
|
|
28
40
|
transaction: fn => transaction(options.name, fn),
|
|
29
|
-
execute: (query, params) =>
|
|
30
|
-
executeAsync: (query, params) =>
|
|
41
|
+
execute: (query, params) => executeManaged(options.name, query, params),
|
|
42
|
+
executeAsync: (query, params) => executeAsyncManaged(options.name, query, params),
|
|
31
43
|
executeBatch: commands => executeBatch(options.name, commands),
|
|
32
44
|
executeBatchAsync: commands => executeBatchAsync(options.name, commands),
|
|
33
|
-
loadFile: location => HybridNitroSQLite.loadFile(options.name, location),
|
|
34
|
-
loadFileAsync: location =>
|
|
45
|
+
loadFile: location => runSyncOperation(options.name, () => HybridNitroSQLite.loadFile(options.name, location)),
|
|
46
|
+
loadFileAsync: location => queueOperationAsync(options.name, async () => {
|
|
47
|
+
try {
|
|
48
|
+
return await HybridNitroSQLite.loadFileAsync(options.name, location);
|
|
49
|
+
} catch (error) {
|
|
50
|
+
throw NitroSQLiteError.fromError(error);
|
|
51
|
+
}
|
|
52
|
+
})
|
|
35
53
|
};
|
|
36
54
|
}
|
|
55
|
+
function runSyncOperation(dbName, callback) {
|
|
56
|
+
try {
|
|
57
|
+
return startOperationSync(dbName, callback);
|
|
58
|
+
} catch (error) {
|
|
59
|
+
throw NitroSQLiteError.fromError(error);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
37
62
|
//# sourceMappingURL=session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HybridNitroSQLite","transaction","
|
|
1
|
+
{"version":3,"names":["HybridNitroSQLite","transaction","executeAsyncManaged","executeManaged","executeBatch","executeBatchAsync","NitroSQLiteError","closeDatabaseQueue","isDatabaseOpen","openDatabaseQueue","queueOperationAsync","startOperationSync","open","options","name","location","error","fromError","close","delete","drop","attach","dbNameToAttach","alias","runSyncOperation","detach","fn","execute","query","params","executeAsync","commands","loadFile","loadFileAsync","dbName","callback"],"sourceRoot":"../../../src","sources":["operations/session.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { queueOperationAsync, throwIfDatabaseIsNotOpen } from "../DatabaseQueue.js";
|
|
4
|
-
import {
|
|
4
|
+
import { executeAsyncNative, executeNative } from "./execute.js";
|
|
5
5
|
import NitroSQLiteError from "../NitroSQLiteError.js";
|
|
6
6
|
export const transaction = async (dbName, transactionCallback, isExclusive = false) => {
|
|
7
7
|
throwIfDatabaseIsNotOpen(dbName);
|
|
@@ -10,31 +10,31 @@ export const transaction = async (dbName, transactionCallback, isExclusive = fal
|
|
|
10
10
|
if (isFinished) {
|
|
11
11
|
throw new NitroSQLiteError(`Cannot execute query on finalized transaction: ${dbName}`);
|
|
12
12
|
}
|
|
13
|
-
return
|
|
13
|
+
return executeNative(dbName, query, params);
|
|
14
14
|
};
|
|
15
15
|
const executeAsyncOnTransaction = (query, params) => {
|
|
16
16
|
if (isFinished) {
|
|
17
17
|
throw new NitroSQLiteError(`Cannot execute query on finalized transaction: ${dbName}`);
|
|
18
18
|
}
|
|
19
|
-
return
|
|
19
|
+
return executeAsyncNative(dbName, query, params);
|
|
20
20
|
};
|
|
21
21
|
const commit = () => {
|
|
22
22
|
if (isFinished) {
|
|
23
23
|
throw new NitroSQLiteError(`Cannot execute commit on finalized transaction: ${dbName}`);
|
|
24
24
|
}
|
|
25
25
|
isFinished = true;
|
|
26
|
-
return
|
|
26
|
+
return executeNative(dbName, 'COMMIT');
|
|
27
27
|
};
|
|
28
28
|
const rollback = () => {
|
|
29
29
|
if (isFinished) {
|
|
30
30
|
throw new NitroSQLiteError(`Cannot execute rollback on finalized transaction: ${dbName}`);
|
|
31
31
|
}
|
|
32
32
|
isFinished = true;
|
|
33
|
-
return
|
|
33
|
+
return executeNative(dbName, 'ROLLBACK');
|
|
34
34
|
};
|
|
35
35
|
return await queueOperationAsync(dbName, async () => {
|
|
36
36
|
try {
|
|
37
|
-
await
|
|
37
|
+
await executeAsyncNative(dbName, isExclusive ? 'BEGIN EXCLUSIVE TRANSACTION' : 'BEGIN TRANSACTION');
|
|
38
38
|
const result = await transactionCallback({
|
|
39
39
|
commit,
|
|
40
40
|
execute: executeOnTransaction,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["queueOperationAsync","throwIfDatabaseIsNotOpen","
|
|
1
|
+
{"version":3,"names":["queueOperationAsync","throwIfDatabaseIsNotOpen","executeAsyncNative","executeNative","NitroSQLiteError","transaction","dbName","transactionCallback","isExclusive","isFinished","executeOnTransaction","query","params","executeAsyncOnTransaction","commit","rollback","result","execute","executeAsync","executionError","rollbackError","fromError"],"sourceRoot":"../../../src","sources":["operations/transaction.ts"],"mappings":";;AAAA,SAASA,mBAAmB,EAAEC,wBAAwB,QAAQ,qBAAkB;AAOhF,SAASC,kBAAkB,EAAEC,aAAa,QAAQ,cAAW;AAC7D,OAAOC,gBAAgB,MAAM,wBAAqB;AAElD,OAAO,MAAMC,WAAW,GAAG,MAAAA,CACzBC,MAAc,EACdC,mBAAyD,EACzDC,WAAW,GAAG,KAAK,KAChB;EACHP,wBAAwB,CAACK,MAAM,CAAC;EAEhC,IAAIG,UAAU,GAAG,KAAK;EAEtB,MAAMC,oBAAoB,GAAGA,CAC3BC,KAAa,EACbC,MAA0B,KACL;IACrB,IAAIH,UAAU,EAAE;MACd,MAAM,IAAIL,gBAAgB,CACxB,kDAAkDE,MAAM,EAC1D,CAAC;IACH;IACA,OAAOH,aAAa,CAACG,MAAM,EAAEK,KAAK,EAAEC,MAAM,CAAC;EAC7C,CAAC;EAED,MAAMC,yBAAyB,GAAGA,CAChCF,KAAa,EACbC,MAA0B,KACI;IAC9B,IAAIH,UAAU,EAAE;MACd,MAAM,IAAIL,gBAAgB,CACxB,kDAAkDE,MAAM,EAC1D,CAAC;IACH;IACA,OAAOJ,kBAAkB,CAACI,MAAM,EAAEK,KAAK,EAAEC,MAAM,CAAC;EAClD,CAAC;EAED,MAAME,MAAM,GAAGA,CAAA,KAAM;IACnB,IAAIL,UAAU,EAAE;MACd,MAAM,IAAIL,gBAAgB,CACxB,mDAAmDE,MAAM,EAC3D,CAAC;IACH;IACAG,UAAU,GAAG,IAAI;IACjB,OAAON,aAAa,CAACG,MAAM,EAAE,QAAQ,CAAC;EACxC,CAAC;EAED,MAAMS,QAAQ,GAAGA,CAAA,KAAM;IACrB,IAAIN,UAAU,EAAE;MACd,MAAM,IAAIL,gBAAgB,CACxB,qDAAqDE,MAAM,EAC7D,CAAC;IACH;IACAG,UAAU,GAAG,IAAI;IACjB,OAAON,aAAa,CAACG,MAAM,EAAE,UAAU,CAAC;EAC1C,CAAC;EAED,OAAO,MAAMN,mBAAmB,CAACM,MAAM,EAAE,YAAY;IACnD,IAAI;MACF,MAAMJ,kBAAkB,CACtBI,MAAM,EACNE,WAAW,GAAG,6BAA6B,GAAG,mBAChD,CAAC;MAED,MAAMQ,MAAM,GAAG,MAAMT,mBAAmB,CAAC;QACvCO,MAAM;QACNG,OAAO,EAAEP,oBAAoB;QAC7BQ,YAAY,EAAEL,yBAAyB;QACvCE;MACF,CAAC,CAAC;MAEF,IAAI,CAACN,UAAU,EAAEK,MAAM,CAAC,CAAC;MAEzB,OAAOE,MAAM;IACf,CAAC,CAAC,OAAOG,cAAc,EAAE;MACvB,IAAI,CAACV,UAAU,EAAE;QACf,IAAI;UACFM,QAAQ,CAAC,CAAC;QACZ,CAAC,CAAC,OAAOK,aAAa,EAAE;UACtB,MAAMhB,gBAAgB,CAACiB,SAAS,CAACD,aAAa,CAAC;QACjD;MACF;MAEA,MAAMhB,gBAAgB,CAACiB,SAAS,CAACF,cAAc,CAAC;IAClD;EACF,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
|
|
@@ -13,8 +13,6 @@ export declare function closeDatabaseQueue(dbName: string): void;
|
|
|
13
13
|
export declare function isDatabaseOpen(dbName: string): boolean;
|
|
14
14
|
export declare function throwIfDatabaseIsNotOpen(dbName: string): void;
|
|
15
15
|
export declare function getDatabaseQueue(dbName: string): DatabaseQueue;
|
|
16
|
-
export declare function openDatabase(dbName: string): void;
|
|
17
|
-
export declare function closeDatabase(dbName: string): void;
|
|
18
16
|
export declare function queueOperationAsync<Result>(dbName: string, callback: () => Promise<Result>): Promise<Result>;
|
|
19
|
-
export declare function startOperationSync<
|
|
17
|
+
export declare function startOperationSync<Result>(dbName: string, callback: () => Result): Result;
|
|
20
18
|
//# sourceMappingURL=DatabaseQueue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseQueue.d.ts","sourceRoot":"","sources":["../../../src/DatabaseQueue.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,QAQ/C;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,QAUhD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,WAE5C;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,QAKtD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,iBAK9C;AAED,wBAAgB,
|
|
1
|
+
{"version":3,"file":"DatabaseQueue.d.ts","sourceRoot":"","sources":["../../../src/DatabaseQueue.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,QAQ/C;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,QAUhD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,WAE5C;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,QAKtD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,iBAK9C;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EACxC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,mBAwBhC;AAgBD,wBAAgB,kBAAkB,CAAC,MAAM,EACvC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,MAAM,GACrB,MAAM,CAiBR"}
|