@op-engineering/op-sqlite 6.0.1 → 6.0.2-beta3

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.
Files changed (38) hide show
  1. package/android/CMakeLists.txt +26 -15
  2. package/android/build.gradle +10 -1
  3. package/android/cpp-adapter.cpp +4 -0
  4. package/android/jniLibs/arm64-v8a/libsql_experimental.a +0 -0
  5. package/android/jniLibs/armeabi-v7a/libsql_experimental.a +0 -0
  6. package/android/jniLibs/x86/libsql_experimental.a +0 -0
  7. package/android/jniLibs/x86_64/libsql_experimental.a +0 -0
  8. package/cpp/DBHostObject.cpp +882 -0
  9. package/cpp/DBHostObject.h +61 -0
  10. package/cpp/PreparedStatementHostObject.cpp +29 -15
  11. package/cpp/PreparedStatementHostObject.h +18 -14
  12. package/cpp/bindings.cpp +24 -616
  13. package/cpp/bindings.h +5 -2
  14. package/cpp/bridge.cpp +55 -16
  15. package/cpp/bridge.h +5 -1
  16. package/cpp/libsql/bridge.cpp +629 -0
  17. package/cpp/libsql/bridge.h +88 -0
  18. package/cpp/libsql/libsql.h +133 -0
  19. package/cpp/sqlite3.h +0 -1
  20. package/cpp/types.h +5 -0
  21. package/cpp/utils.cpp +68 -6
  22. package/cpp/utils.h +5 -5
  23. package/ios/libsql.xcframework/Info.plist +48 -0
  24. package/ios/libsql.xcframework/ios-arm64/Headers/libsql.h +133 -0
  25. package/ios/libsql.xcframework/ios-arm64/libsql_experimental.a +0 -0
  26. package/ios/libsql.xcframework/ios-arm64_x86_64-simulator/Headers/libsql.h +133 -0
  27. package/ios/libsql.xcframework/ios-arm64_x86_64-simulator/libsql_experimental.a +0 -0
  28. package/lib/commonjs/index.js +143 -153
  29. package/lib/commonjs/index.js.map +1 -1
  30. package/lib/module/index.js +141 -152
  31. package/lib/module/index.js.map +1 -1
  32. package/lib/typescript/src/index.d.ts +28 -39
  33. package/lib/typescript/src/index.d.ts.map +1 -1
  34. package/op-sqlite.podspec +20 -3
  35. package/package.json +1 -1
  36. package/src/index.ts +203 -272
  37. package/cpp/sqlbatchexecutor.cpp +0 -93
  38. package/cpp/sqlbatchexecutor.h +0 -30
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.open = exports.moveAssetsDatabase = exports.isSQLCipher = exports.OPSQLite = exports.IOS_LIBRARY_PATH = exports.IOS_DOCUMENT_PATH = exports.ANDROID_FILES_PATH = exports.ANDROID_EXTERNAL_FILES_PATH = exports.ANDROID_DATABASE_PATH = void 0;
6
+ exports.open = exports.moveAssetsDatabase = exports.isSQLCipher = exports.isLibsql = exports.OPSQLite = exports.IOS_LIBRARY_PATH = exports.IOS_DOCUMENT_PATH = exports.ANDROID_FILES_PATH = exports.ANDROID_EXTERNAL_FILES_PATH = exports.ANDROID_DATABASE_PATH = void 0;
7
7
  var _reactNative = require("react-native");
8
8
  // import NativeOPSQLite from './NativeOPSQLite';
9
9
 
@@ -91,175 +91,161 @@ function enhanceQueryResult(result) {
91
91
  result.rows.item = idx => result.rows?._array[idx];
92
92
  }
93
93
  }
94
- const _open = OPSQLite.open;
95
- OPSQLite.open = options => {
96
- _open(options);
97
- locks[options.name] = {
94
+ const open = options => {
95
+ const db = OPSQLite.open(options);
96
+ const lock = {
98
97
  queue: [],
99
98
  inProgress: false
100
99
  };
101
- };
102
- const _close = OPSQLite.close;
103
- OPSQLite.close = dbName => {
104
- _close(dbName);
105
- delete locks[dbName];
106
- };
107
- const _execute = OPSQLite.execute;
108
- OPSQLite.execute = (dbName, query, params) => {
109
- const sanitizedParams = params?.map(p => {
110
- if (ArrayBuffer.isView(p)) {
111
- return p.buffer;
100
+ const startNextTransaction = () => {
101
+ if (lock.inProgress) {
102
+ // Transaction is already in process bail out
103
+ return;
112
104
  }
113
- return p;
114
- });
115
- const result = _execute(dbName, query, sanitizedParams);
116
- enhanceQueryResult(result);
117
- return result;
118
- };
119
- const _executeAsync = OPSQLite.executeAsync;
120
- OPSQLite.executeAsync = async (dbName, query, params) => {
121
- const sanitizedParams = params?.map(p => {
122
- if (ArrayBuffer.isView(p)) {
123
- return p.buffer;
105
+ if (lock.queue.length) {
106
+ lock.inProgress = true;
107
+ const tx = lock.queue.shift();
108
+ if (!tx) {
109
+ throw new Error('Could not get a operation on database');
110
+ }
111
+ setImmediate(() => {
112
+ tx.start();
113
+ });
124
114
  }
125
- return p;
126
- });
127
- const res = await _executeAsync(dbName, query, sanitizedParams);
128
- enhanceQueryResult(res);
129
- return res;
130
- };
131
- const _prepareStatement = OPSQLite.prepareStatement;
132
- OPSQLite.prepareStatement = (dbName, query) => {
133
- const stmt = _prepareStatement(dbName, query);
134
- return {
135
- bind: params => {
136
- const sanitizedParams = params.map(p => {
115
+ };
116
+
117
+ // spreading the object is not working, so we need to do it manually
118
+ let enhancedDb = {
119
+ delete: db.delete,
120
+ attach: db.attach,
121
+ detach: db.detach,
122
+ executeBatch: db.executeBatch,
123
+ executeBatchAsync: db.executeBatchAsync,
124
+ loadFile: db.loadFile,
125
+ updateHook: db.updateHook,
126
+ commitHook: db.commitHook,
127
+ rollbackHook: db.rollbackHook,
128
+ loadExtension: db.loadExtension,
129
+ executeRawAsync: db.executeRawAsync,
130
+ getDbPath: db.getDbPath,
131
+ reactiveExecute: db.reactiveExecute,
132
+ close: () => {
133
+ db.close();
134
+ delete locks[options.name];
135
+ },
136
+ execute: (query, params) => {
137
+ const sanitizedParams = params?.map(p => {
137
138
  if (ArrayBuffer.isView(p)) {
138
139
  return p.buffer;
139
140
  }
140
141
  return p;
141
142
  });
142
- stmt.bind(sanitizedParams);
143
+ const result = db.execute(query, sanitizedParams);
144
+ enhanceQueryResult(result);
145
+ return result;
143
146
  },
144
- execute: () => {
145
- const res = stmt.execute();
146
- enhanceQueryResult(res);
147
- return res;
148
- }
149
- };
150
- };
151
- OPSQLite.transaction = async (dbName, fn) => {
152
- if (!locks[dbName]) {
153
- throw Error(`SQLite Error: No lock found on db: ${dbName}`);
154
- }
155
- let isFinalized = false;
156
-
157
- // Local transaction context object implementation
158
- const execute = (query, params) => {
159
- if (isFinalized) {
160
- throw Error(`SQLite Error: Cannot execute query on finalized transaction: ${dbName}`);
161
- }
162
- return OPSQLite.execute(dbName, query, params);
163
- };
164
- const executeAsync = (query, params) => {
165
- if (isFinalized) {
166
- throw Error(`SQLite Error: Cannot execute query on finalized transaction: ${dbName}`);
167
- }
168
- return OPSQLite.executeAsync(dbName, query, params);
169
- };
170
- const commit = () => {
171
- if (isFinalized) {
172
- throw Error(`SQLite Error: Cannot execute commit on finalized transaction: ${dbName}`);
173
- }
174
- const result = OPSQLite.execute(dbName, 'COMMIT');
175
- isFinalized = true;
176
- return result;
177
- };
178
- const rollback = () => {
179
- if (isFinalized) {
180
- throw Error(`SQLite Error: Cannot execute rollback on finalized transaction: ${dbName}`);
181
- }
182
- const result = OPSQLite.execute(dbName, 'ROLLBACK');
183
- isFinalized = true;
184
- return result;
185
- };
186
- async function run() {
187
- try {
188
- await OPSQLite.executeAsync(dbName, 'BEGIN TRANSACTION');
189
- await fn({
190
- commit,
191
- execute,
192
- executeAsync,
193
- rollback
147
+ executeAsync: async (query, params) => {
148
+ const sanitizedParams = params?.map(p => {
149
+ if (ArrayBuffer.isView(p)) {
150
+ return p.buffer;
151
+ }
152
+ return p;
194
153
  });
195
- if (!isFinalized) {
196
- commit();
197
- }
198
- } catch (executionError) {
199
- if (!isFinalized) {
154
+ const result = await db.executeAsync(query, sanitizedParams);
155
+ enhanceQueryResult(result);
156
+ return result;
157
+ },
158
+ prepareStatement: query => {
159
+ const stmt = db.prepareStatement(query);
160
+ return {
161
+ bind: params => {
162
+ const sanitizedParams = params.map(p => {
163
+ if (ArrayBuffer.isView(p)) {
164
+ return p.buffer;
165
+ }
166
+ return p;
167
+ });
168
+ stmt.bind(sanitizedParams);
169
+ },
170
+ execute: () => {
171
+ const res = stmt.execute();
172
+ enhanceQueryResult(res);
173
+ return res;
174
+ }
175
+ };
176
+ },
177
+ transaction: async fn => {
178
+ let isFinalized = false;
179
+
180
+ // Local transaction context object implementation
181
+ const execute = (query, params) => {
182
+ if (isFinalized) {
183
+ throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
184
+ }
185
+ return enhancedDb.execute(query, params);
186
+ };
187
+ const executeAsync = (query, params) => {
188
+ if (isFinalized) {
189
+ throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
190
+ }
191
+ return enhancedDb.executeAsync(query, params);
192
+ };
193
+ const commit = () => {
194
+ if (isFinalized) {
195
+ throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
196
+ }
197
+ const result = enhancedDb.execute('COMMIT;');
198
+ isFinalized = true;
199
+ return result;
200
+ };
201
+ const rollback = () => {
202
+ if (isFinalized) {
203
+ throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
204
+ }
205
+ const result = enhancedDb.execute('ROLLBACK;');
206
+ isFinalized = true;
207
+ return result;
208
+ };
209
+ async function run() {
200
210
  try {
201
- rollback();
202
- } catch (rollbackError) {
203
- throw rollbackError;
211
+ await enhancedDb.executeAsync('BEGIN TRANSACTION;');
212
+ await fn({
213
+ commit,
214
+ execute,
215
+ executeAsync,
216
+ rollback
217
+ });
218
+ if (!isFinalized) {
219
+ commit();
220
+ }
221
+ } catch (executionError) {
222
+ console.warn('transaction error', executionError);
223
+ if (!isFinalized) {
224
+ try {
225
+ rollback();
226
+ } catch (rollbackError) {
227
+ throw rollbackError;
228
+ }
229
+ }
230
+ throw executionError;
231
+ } finally {
232
+ lock.inProgress = false;
233
+ isFinalized = false;
234
+ startNextTransaction();
204
235
  }
205
236
  }
206
- throw executionError;
207
- } finally {
208
- locks[dbName].inProgress = false;
209
- isFinalized = false;
210
- startNextTransaction(dbName);
211
- }
212
- }
213
- return await new Promise((resolve, reject) => {
214
- const tx = {
215
- start: () => {
216
- run().then(resolve).catch(reject);
217
- }
218
- };
219
- locks[dbName].queue.push(tx);
220
- startNextTransaction(dbName);
221
- });
222
- };
223
- const startNextTransaction = dbName => {
224
- if (!locks[dbName]) {
225
- throw Error(`Lock not found for db: ${dbName}`);
226
- }
227
- if (locks[dbName].inProgress) {
228
- // Transaction is already in process bail out
229
- return;
230
- }
231
- if (locks[dbName].queue.length) {
232
- locks[dbName].inProgress = true;
233
- const tx = locks[dbName].queue.shift();
234
- if (!tx) {
235
- throw new Error('Could not get a operation on datebase');
237
+ return await new Promise((resolve, reject) => {
238
+ const tx = {
239
+ start: () => {
240
+ run().then(resolve).catch(reject);
241
+ }
242
+ };
243
+ lock.queue.push(tx);
244
+ startNextTransaction();
245
+ });
236
246
  }
237
- setImmediate(() => {
238
- tx.start();
239
- });
240
- }
241
- };
242
- const open = options => {
243
- OPSQLite.open(options);
244
- return {
245
- close: () => OPSQLite.close(options.name),
246
- delete: () => OPSQLite.delete(options.name, options.location),
247
- attach: (dbNameToAttach, alias, location) => OPSQLite.attach(options.name, dbNameToAttach, alias, location),
248
- detach: alias => OPSQLite.detach(options.name, alias),
249
- transaction: fn => OPSQLite.transaction(options.name, fn),
250
- execute: (query, params) => OPSQLite.execute(options.name, query, params),
251
- executeAsync: (query, params) => OPSQLite.executeAsync(options.name, query, params),
252
- executeBatch: commands => OPSQLite.executeBatch(options.name, commands),
253
- executeBatchAsync: commands => OPSQLite.executeBatchAsync(options.name, commands),
254
- loadFile: location => OPSQLite.loadFile(options.name, location),
255
- updateHook: callback => OPSQLite.updateHook(options.name, callback),
256
- commitHook: callback => OPSQLite.commitHook(options.name, callback),
257
- rollbackHook: callback => OPSQLite.rollbackHook(options.name, callback),
258
- prepareStatement: query => OPSQLite.prepareStatement(options.name, query),
259
- loadExtension: (path, entryPoint) => OPSQLite.loadExtension(options.name, path, entryPoint),
260
- executeRawAsync: (query, params) => OPSQLite.executeRawAsync(options.name, query, params),
261
- getDbPath: () => OPSQLite.getDbPath(options.name, options.location)
262
247
  };
248
+ return enhancedDb;
263
249
  };
264
250
  exports.open = open;
265
251
  const moveAssetsDatabase = async args => {
@@ -270,4 +256,8 @@ const isSQLCipher = () => {
270
256
  return OPSQLite.isSQLCipher();
271
257
  };
272
258
  exports.isSQLCipher = isSQLCipher;
259
+ const isLibsql = () => {
260
+ return OPSQLite.isLibsql();
261
+ };
262
+ exports.isLibsql = isLibsql;
273
263
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","global","__OPSQLiteProxy","NativeModules","OPSQLite","Error","install","result","proxy","exports","IOS_DOCUMENT_PATH","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","ANDROID_FILES_PATH","ANDROID_EXTERNAL_FILES_PATH","getConstants","locks","enhanceQueryResult","rows","_array","length","item","idx","_open","open","options","name","queue","inProgress","_close","close","dbName","_execute","execute","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","_executeAsync","executeAsync","res","_prepareStatement","prepareStatement","stmt","bind","transaction","fn","isFinalized","commit","rollback","run","executionError","rollbackError","startNextTransaction","Promise","resolve","reject","tx","start","then","catch","push","shift","setImmediate","delete","location","attach","dbNameToAttach","alias","detach","executeBatch","commands","executeBatchAsync","loadFile","updateHook","callback","commitHook","rollbackHook","loadExtension","path","entryPoint","executeRawAsync","getDbPath","moveAssetsDatabase","args","isSQLCipher"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","global","__OPSQLiteProxy","NativeModules","OPSQLite","Error","install","result","proxy","exports","IOS_DOCUMENT_PATH","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","ANDROID_FILES_PATH","ANDROID_EXTERNAL_FILES_PATH","getConstants","locks","enhanceQueryResult","rows","_array","length","item","idx","open","options","db","lock","queue","inProgress","startNextTransaction","tx","shift","setImmediate","start","enhancedDb","delete","attach","detach","executeBatch","executeBatchAsync","loadFile","updateHook","commitHook","rollbackHook","loadExtension","executeRawAsync","getDbPath","reactiveExecute","close","name","execute","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","executeAsync","prepareStatement","stmt","bind","res","transaction","fn","isFinalized","commit","rollback","run","executionError","console","warn","rollbackError","Promise","resolve","reject","then","catch","push","moveAssetsDatabase","args","isSQLCipher","isLibsql"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}