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

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.
@@ -137,6 +137,23 @@ void DBHostObject::auto_register_update_hook() {
137
137
  }
138
138
  #endif
139
139
 
140
+ #ifdef OP_SQLITE_USE_LIBSQL
141
+ DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &url,
142
+ std::string &auth_token,
143
+ std::shared_ptr<react::CallInvoker> js_call_invoker,
144
+ std::shared_ptr<ThreadPool> thread_pool)
145
+ : db_name(url), jsCallInvoker(js_call_invoker), thread_pool(thread_pool),
146
+ rt(rt) {
147
+ BridgeResult result = opsqlite_libsql_open_remote(url, auth_token);
148
+
149
+ if (result.type == SQLiteError) {
150
+ throw std::runtime_error(result.message);
151
+ }
152
+
153
+ create_jsi_functions();
154
+ }
155
+ #endif
156
+
140
157
  DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &base_path,
141
158
  std::shared_ptr<react::CallInvoker> jsCallInvoker,
142
159
  std::shared_ptr<ThreadPool> thread_pool,
@@ -159,6 +176,10 @@ DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &base_path,
159
176
  throw std::runtime_error(result.message);
160
177
  }
161
178
 
179
+ create_jsi_functions();
180
+ };
181
+
182
+ void DBHostObject::create_jsi_functions() {
162
183
  auto attach = HOSTFN("attach", 4) {
163
184
  if (count < 3) {
164
185
  throw jsi::JSError(rt,
@@ -311,11 +332,11 @@ DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &base_path,
311
332
  }
312
333
 
313
334
  auto promiseCtr = rt.global().getPropertyAsFunction(rt, "Promise");
314
- auto promise = promiseCtr.callAsConstructor(rt, HOSTFN("executor", 2) {
335
+ auto promise = promiseCtr.callAsConstructor(rt, HOSTFN("executor", 2) {
315
336
  auto resolve = std::make_shared<jsi::Value>(rt, args[0]);
316
337
  auto reject = std::make_shared<jsi::Value>(rt, args[1]);
317
338
 
318
- auto task = [&rt, db_name, query, params = std::move(params), resolve,
339
+ auto task = [&rt, this, query, params = std::move(params), resolve,
319
340
  reject, invoker = this->jsCallInvoker]() {
320
341
  try {
321
342
  std::vector<std::vector<JSVariant>> results;
@@ -360,7 +381,7 @@ DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &base_path,
360
381
  return {};
361
382
  }));
362
383
 
363
- return promise;
384
+ return promise;
364
385
  });
365
386
 
366
387
  auto execute_async = HOSTFN("executeAsync", 2) {
@@ -377,7 +398,7 @@ DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &base_path,
377
398
  auto resolve = std::make_shared<jsi::Value>(rt, args[0]);
378
399
  auto reject = std::make_shared<jsi::Value>(rt, args[1]);
379
400
 
380
- auto task = [&rt, &db_name, query, params = std::move(params), resolve,
401
+ auto task = [&rt, this, query, params = std::move(params), resolve,
381
402
  reject, invoker = this->jsCallInvoker]() {
382
403
  try {
383
404
  std::vector<DumbHostObject> results;
@@ -486,7 +507,7 @@ DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &base_path,
486
507
  auto resolve = std::make_shared<jsi::Value>(rt, args[0]);
487
508
  auto reject = std::make_shared<jsi::Value>(rt, args[1]);
488
509
 
489
- auto task = [&rt, &db_name, &jsCallInvoker,
510
+ auto task = [&rt, this,
490
511
  commands =
491
512
  std::make_shared<std::vector<BatchArguments>>(commands),
492
513
  resolve, reject]() {
@@ -540,8 +561,7 @@ DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &base_path,
540
561
  auto resolve = std::make_shared<jsi::Value>(rt, args[0]);
541
562
  auto reject = std::make_shared<jsi::Value>(rt, args[1]);
542
563
 
543
- auto task = [&rt, &db_name, &jsCallInvoker, sqlFileName, resolve,
544
- reject]() {
564
+ auto task = [&rt, this, sqlFileName, resolve, reject]() {
545
565
  try {
546
566
  const auto importResult = importSQLFile(db_name, sqlFileName);
547
567
 
@@ -597,7 +617,7 @@ DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &base_path,
597
617
  }
598
618
  commit_hook_callback = callback;
599
619
 
600
- auto hook = [&rt, jsCallInvoker, callback](std::string dbName) {
620
+ auto hook = [&rt, this, callback](std::string dbName) {
601
621
  jsCallInvoker->invokeAsync(
602
622
  [&rt, callback] { callback->asObject(rt).asFunction(rt).call(rt); });
603
623
  };
@@ -621,7 +641,7 @@ DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &base_path,
621
641
  }
622
642
  rollback_hook_callback = callback;
623
643
 
624
- auto hook = [&rt, jsCallInvoker, callback](std::string db_name) {
644
+ auto hook = [&rt, this, callback](std::string db_name) {
625
645
  jsCallInvoker->invokeAsync(
626
646
  [&rt, callback] { callback->asObject(rt).asFunction(rt).call(rt); });
627
647
  };
@@ -764,6 +784,8 @@ DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &base_path,
764
784
  function_map["delete"] = std::move(remove);
765
785
  function_map["executeBatch"] = std::move(execute_batch);
766
786
  function_map["executeBatchAsync"] = std::move(execute_batch_async);
787
+ function_map["prepareStatement"] = std::move(prepare_statement);
788
+ function_map["getDbPath"] = std::move(get_db_path);
767
789
  #ifndef OP_SQLITE_USE_LIBSQL
768
790
  function_map["loadFile"] = std::move(load_file);
769
791
  function_map["updateHook"] = std::move(update_hook);
@@ -772,9 +794,7 @@ DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &base_path,
772
794
  function_map["loadExtension"] = std::move(load_extension);
773
795
  function_map["reactiveExecute"] = std::move(reactive_execute);
774
796
  #endif
775
- function_map["prepareStatement"] = std::move(prepare_statement);
776
- function_map["getDbPath"] = std::move(get_db_path);
777
- };
797
+ }
778
798
 
779
799
  std::vector<jsi::PropNameID> DBHostObject::getPropertyNames(jsi::Runtime &rt) {
780
800
  std::vector<jsi::PropNameID> keys;
@@ -1,5 +1,4 @@
1
- #ifndef DBHostObject_h
2
- #define DBHostObject_h
1
+ #pragma once
3
2
 
4
3
  #include "ThreadPool.h"
5
4
  #include "sqlite3.h"
@@ -34,16 +33,23 @@ public:
34
33
  std::string &path, std::string &crsqlite_path,
35
34
  std::string &encryption_key);
36
35
 
36
+ #ifdef OP_SQLITE_USE_LIBSQL
37
+ DBHostObject(jsi::Runtime &rt, std::string &url, std::string &auth_token,
38
+ std::shared_ptr<react::CallInvoker> js_call_invoker,
39
+ std::shared_ptr<ThreadPool> thread_pool);
40
+ #endif
41
+
37
42
  std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime &rt);
38
43
  jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propNameID);
39
44
  void set(jsi::Runtime &rt, const jsi::PropNameID &name,
40
45
  const jsi::Value &value);
41
46
 
47
+ private:
42
48
  void auto_register_update_hook();
49
+ void create_jsi_functions();
43
50
 
44
51
  std::unordered_map<std::string, jsi::Value> function_map;
45
52
  std::string base_path;
46
-
47
53
  std::shared_ptr<jsi::Value> update_hook;
48
54
  std::shared_ptr<react::CallInvoker> jsCallInvoker;
49
55
  std::shared_ptr<ThreadPool> thread_pool;
@@ -57,5 +63,3 @@ public:
57
63
  };
58
64
 
59
65
  } // namespace opsqlite
60
-
61
- #endif /* DBHostObject_h */
package/cpp/bindings.cpp CHANGED
@@ -19,9 +19,9 @@ namespace opsqlite {
19
19
 
20
20
  namespace jsi = facebook::jsi;
21
21
 
22
- std::string basePath;
23
- std::string crsqlitePath;
24
- std::shared_ptr<react::CallInvoker> invoker;
22
+ std::string _base_path;
23
+ std::string _crsqlite_path;
24
+ std::shared_ptr<react::CallInvoker> _invoker;
25
25
  std::shared_ptr<ThreadPool> thread_pool = std::make_shared<ThreadPool>();
26
26
 
27
27
  // React native will try to clean the module on JS context invalidation
@@ -31,29 +31,28 @@ bool invalidated = false;
31
31
 
32
32
  void clearState() {
33
33
  invalidated = true;
34
- // Will terminate all operations and database connections
35
- // opsqlite_close_all();
34
+
35
+ #ifdef OP_SQLITE_USE_LIBSQL
36
+ opsqlite_libsql_close_all();
37
+ #else
38
+ opsqlite_close_all();
39
+ #endif
40
+
36
41
  // We then join all the threads before the context gets invalidated
37
42
  thread_pool->restartPool();
38
43
  }
39
44
 
40
- void install(jsi::Runtime &rt,
41
- std::shared_ptr<react::CallInvoker> js_call_invoker,
42
- const char *doc_path, const char *_crsqlitePath) {
43
-
45
+ void install(jsi::Runtime &rt, std::shared_ptr<react::CallInvoker> invoker,
46
+ const char *base_path, const char *crsqlite_path) {
44
47
  invalidated = false;
45
- basePath = std::string(doc_path);
46
- crsqlitePath = std::string(_crsqlitePath);
47
- invoker = js_call_invoker;
48
-
49
- auto open = HOSTFN("open", 3) {
50
- if (count == 0) {
51
- throw std::runtime_error("[op-sqlite][open] database name is required");
52
- }
48
+ _base_path = std::string(base_path);
49
+ _crsqlite_path = std::string(crsqlite_path);
50
+ _invoker = invoker;
53
51
 
52
+ auto open = HOSTFN("open", 1) {
54
53
  jsi::Object options = args[0].asObject(rt);
55
- std::string dbName = options.getProperty(rt, "name").asString(rt).utf8(rt);
56
- std::string path = std::string(basePath);
54
+ std::string name = options.getProperty(rt, "name").asString(rt).utf8(rt);
55
+ std::string path = std::string(_base_path);
57
56
  std::string location;
58
57
  std::string encryptionKey;
59
58
 
@@ -83,9 +82,9 @@ void install(jsi::Runtime &rt,
83
82
  }
84
83
  }
85
84
 
86
- std::shared_ptr<DBHostObject> db = std::make_shared<DBHostObject>(
87
- rt, basePath, invoker, thread_pool, dbName, path, crsqlitePath,
88
- encryptionKey);
85
+ std::shared_ptr<DBHostObject> db =
86
+ std::make_shared<DBHostObject>(rt, path, invoker, thread_pool, name,
87
+ path, _crsqlite_path, encryptionKey);
89
88
  return jsi::Object::createFromHostObject(rt, db);
90
89
  });
91
90
 
@@ -105,10 +104,26 @@ void install(jsi::Runtime &rt,
105
104
  #endif
106
105
  });
107
106
 
107
+ #ifdef OP_SQLITE_USE_LIBSQL
108
+ auto open_remote = HOSTFN("openRemote", 1) {
109
+ jsi::Object options = args[0].asObject(rt);
110
+ std::string url = options.getProperty(rt, "url").asString(rt).utf8(rt);
111
+ std::string auth_token =
112
+ options.getProperty(rt, "authToken").asString(rt).utf8(rt);
113
+
114
+ std::shared_ptr<DBHostObject> db = std::make_shared<DBHostObject>(
115
+ rt, url, auth_token, invoker, thread_pool);
116
+ return jsi::Object::createFromHostObject(rt, db);
117
+ });
118
+ #endif
119
+
108
120
  jsi::Object module = jsi::Object(rt);
109
121
  module.setProperty(rt, "open", std::move(open));
110
122
  module.setProperty(rt, "isSQLCipher", std::move(is_sqlcipher));
111
123
  module.setProperty(rt, "isLibsql", std::move(is_libsql));
124
+ #ifdef OP_SQLITE_USE_LIBSQL
125
+ module.setProperty(rt, "openRemote", std::move(open_remote));
126
+ #endif
112
127
 
113
128
  rt.global().setProperty(rt, "__OPSQLiteProxy", std::move(module));
114
129
  }
package/cpp/bindings.h CHANGED
@@ -9,9 +9,8 @@ namespace opsqlite {
9
9
  namespace jsi = facebook::jsi;
10
10
  namespace react = facebook::react;
11
11
 
12
- void install(jsi::Runtime &rt,
13
- std::shared_ptr<react::CallInvoker> jsCallInvoker,
14
- const char *docPath, const char *crsqlitePath);
12
+ void install(jsi::Runtime &rt, std::shared_ptr<react::CallInvoker> invoker,
13
+ const char *base_path, const char *crsqlite_path);
15
14
  void clearState();
16
15
 
17
16
  } // namespace opsqlite
@@ -80,6 +80,30 @@ BridgeResult opsqlite_libsql_open(std::string const &name,
80
80
  return {.type = SQLiteOk, .affectedRows = 0};
81
81
  }
82
82
 
83
+ BridgeResult opsqlite_libsql_open_remote(std::string const &url,
84
+ std::string const &auth_token) {
85
+ int status = 0;
86
+ libsql_database_t db;
87
+ libsql_connection_t c;
88
+ const char *err = NULL;
89
+
90
+ status = libsql_open_remote(url.c_str(), auth_token.c_str(), &db, &err);
91
+
92
+ if (status != 0) {
93
+ return {.type = SQLiteError, .message = err};
94
+ }
95
+
96
+ status = libsql_connect(db, &c, &err);
97
+
98
+ if (status != 0) {
99
+ return {.type = SQLiteError, .message = err};
100
+ }
101
+
102
+ db_map[url] = {.db = db, .c = c};
103
+
104
+ return {.type = SQLiteOk, .affectedRows = 0};
105
+ }
106
+
83
107
  BridgeResult opsqlite_libsql_close(std::string const &name) {
84
108
 
85
109
  check_db_open(name);
@@ -96,6 +120,15 @@ BridgeResult opsqlite_libsql_close(std::string const &name) {
96
120
  };
97
121
  }
98
122
 
123
+ void opsqlite_libsql_close_all() {
124
+ // for (auto const &db : db_map) {
125
+ // libsql_close();
126
+ // }
127
+ for (auto const &db : db_map) {
128
+ opsqlite_libsql_close(db.first);
129
+ }
130
+ }
131
+
99
132
  BridgeResult opsqlite_libsql_attach(std::string const &mainDBName,
100
133
  std::string const &docPath,
101
134
  std::string const &databaseToAttach,
@@ -160,8 +193,6 @@ BridgeResult opsqlite_libsql_remove(std::string const &name,
160
193
 
161
194
  void opsqlite_libsql_bind_statement(libsql_stmt_t statement,
162
195
  const std::vector<JSVariant> *values) {
163
-
164
- // sqlite3_clear_bindings(statement);
165
196
  const char *err;
166
197
  size_t size = values->size();
167
198
 
@@ -30,6 +30,9 @@ std::string opsqlite_get_db_path(std::string const &name,
30
30
  BridgeResult opsqlite_libsql_open(std::string const &name,
31
31
  std::string const &path);
32
32
 
33
+ BridgeResult opsqlite_libsql_open_remote(std::string const &url,
34
+ std::string const &auth_token);
35
+
33
36
  BridgeResult opsqlite_libsql_close(std::string const &name);
34
37
 
35
38
  BridgeResult opsqlite_libsql_remove(std::string const &name,
@@ -57,18 +60,7 @@ BatchResult
57
60
  opsqlite_libsql_execute_batch(std::string const &name,
58
61
  std::vector<BatchArguments> *commands);
59
62
 
60
- // void opsqlite_close_all();
61
-
62
- // BridgeResult opsqlite_register_update_hook(std::string const &dbName,
63
- // UpdateCallback const callback);
64
- // BridgeResult opsqlite_deregister_update_hook(std::string const &dbName);
65
- // BridgeResult opsqlite_register_commit_hook(std::string const &dbName,
66
- // CommitCallback const callback);
67
- // BridgeResult opsqlite_deregister_commit_hook(std::string const &dbName);
68
- // BridgeResult opsqlite_register_rollback_hook(std::string const &dbName,
69
- // RollbackCallback const
70
- // callback);
71
- // BridgeResult opsqlite_deregister_rollback_hook(std::string const &dbName);
63
+ void opsqlite_libsql_close_all();
72
64
 
73
65
  libsql_stmt_t opsqlite_libsql_prepare_statement(std::string const &name,
74
66
  std::string const &query);
@@ -81,8 +73,4 @@ BridgeResult opsqlite_libsql_execute_prepared_statement(
81
73
  std::vector<DumbHostObject> *results,
82
74
  std::shared_ptr<std::vector<SmartHostObject>> metadatas);
83
75
 
84
- // BridgeResult opsqlite_load_extension(std::string const &db_name,
85
- // std::string &path,
86
- // std::string &entry_point);
87
-
88
76
  } // namespace opsqlite
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
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;
6
+ exports.openRemote = 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,6 +91,168 @@ function enhanceQueryResult(result) {
91
91
  result.rows.item = idx => result.rows?._array[idx];
92
92
  }
93
93
  }
94
+
95
+ // TODO de-dupe this function with open
96
+ const openRemote = options => {
97
+ if (!isLibsql()) {
98
+ throw new Error('This function is only available for libsql');
99
+ }
100
+ const db = OPSQLite.openRemote(options);
101
+ const lock = {
102
+ queue: [],
103
+ inProgress: false
104
+ };
105
+ const startNextTransaction = () => {
106
+ if (lock.inProgress) {
107
+ // Transaction is already in process bail out
108
+ return;
109
+ }
110
+ if (lock.queue.length) {
111
+ lock.inProgress = true;
112
+ const tx = lock.queue.shift();
113
+ if (!tx) {
114
+ throw new Error('Could not get a operation on database');
115
+ }
116
+ setImmediate(() => {
117
+ tx.start();
118
+ });
119
+ }
120
+ };
121
+
122
+ // spreading the object is not working, so we need to do it manually
123
+ let enhancedDb = {
124
+ delete: db.delete,
125
+ attach: db.attach,
126
+ detach: db.detach,
127
+ executeBatch: db.executeBatch,
128
+ executeBatchAsync: db.executeBatchAsync,
129
+ loadFile: db.loadFile,
130
+ updateHook: db.updateHook,
131
+ commitHook: db.commitHook,
132
+ rollbackHook: db.rollbackHook,
133
+ loadExtension: db.loadExtension,
134
+ executeRawAsync: db.executeRawAsync,
135
+ getDbPath: db.getDbPath,
136
+ reactiveExecute: db.reactiveExecute,
137
+ close: () => {
138
+ db.close();
139
+ delete locks[options.url];
140
+ },
141
+ execute: (query, params) => {
142
+ const sanitizedParams = params?.map(p => {
143
+ if (ArrayBuffer.isView(p)) {
144
+ return p.buffer;
145
+ }
146
+ return p;
147
+ });
148
+ const result = db.execute(query, sanitizedParams);
149
+ enhanceQueryResult(result);
150
+ return result;
151
+ },
152
+ executeAsync: async (query, params) => {
153
+ const sanitizedParams = params?.map(p => {
154
+ if (ArrayBuffer.isView(p)) {
155
+ return p.buffer;
156
+ }
157
+ return p;
158
+ });
159
+ const result = await db.executeAsync(query, sanitizedParams);
160
+ enhanceQueryResult(result);
161
+ return result;
162
+ },
163
+ prepareStatement: query => {
164
+ const stmt = db.prepareStatement(query);
165
+ return {
166
+ bind: params => {
167
+ const sanitizedParams = params.map(p => {
168
+ if (ArrayBuffer.isView(p)) {
169
+ return p.buffer;
170
+ }
171
+ return p;
172
+ });
173
+ stmt.bind(sanitizedParams);
174
+ },
175
+ execute: () => {
176
+ const res = stmt.execute();
177
+ enhanceQueryResult(res);
178
+ return res;
179
+ }
180
+ };
181
+ },
182
+ transaction: async fn => {
183
+ let isFinalized = false;
184
+
185
+ // Local transaction context object implementation
186
+ const execute = (query, params) => {
187
+ if (isFinalized) {
188
+ throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
189
+ }
190
+ return enhancedDb.execute(query, params);
191
+ };
192
+ const executeAsync = (query, params) => {
193
+ if (isFinalized) {
194
+ throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
195
+ }
196
+ return enhancedDb.executeAsync(query, params);
197
+ };
198
+ const commit = () => {
199
+ if (isFinalized) {
200
+ throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
201
+ }
202
+ const result = enhancedDb.execute('COMMIT;');
203
+ isFinalized = true;
204
+ return result;
205
+ };
206
+ const rollback = () => {
207
+ if (isFinalized) {
208
+ throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
209
+ }
210
+ const result = enhancedDb.execute('ROLLBACK;');
211
+ isFinalized = true;
212
+ return result;
213
+ };
214
+ async function run() {
215
+ try {
216
+ await enhancedDb.executeAsync('BEGIN TRANSACTION;');
217
+ await fn({
218
+ commit,
219
+ execute,
220
+ executeAsync,
221
+ rollback
222
+ });
223
+ if (!isFinalized) {
224
+ commit();
225
+ }
226
+ } catch (executionError) {
227
+ console.warn('transaction error', executionError);
228
+ if (!isFinalized) {
229
+ try {
230
+ rollback();
231
+ } catch (rollbackError) {
232
+ throw rollbackError;
233
+ }
234
+ }
235
+ throw executionError;
236
+ } finally {
237
+ lock.inProgress = false;
238
+ isFinalized = false;
239
+ startNextTransaction();
240
+ }
241
+ }
242
+ return await new Promise((resolve, reject) => {
243
+ const tx = {
244
+ start: () => {
245
+ run().then(resolve).catch(reject);
246
+ }
247
+ };
248
+ lock.queue.push(tx);
249
+ startNextTransaction();
250
+ });
251
+ }
252
+ };
253
+ return enhancedDb;
254
+ };
255
+ exports.openRemote = openRemote;
94
256
  const open = options => {
95
257
  const db = OPSQLite.open(options);
96
258
  const lock = {
@@ -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","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":[]}
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","openRemote","options","isLibsql","db","lock","queue","inProgress","startNextTransaction","tx","shift","setImmediate","start","enhancedDb","delete","attach","detach","executeBatch","executeBatchAsync","loadFile","updateHook","commitHook","rollbackHook","loadExtension","executeRawAsync","getDbPath","reactiveExecute","close","url","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","open","name","moveAssetsDatabase","args","isSQLCipher"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -80,6 +80,167 @@ function enhanceQueryResult(result) {
80
80
  result.rows.item = idx => result.rows?._array[idx];
81
81
  }
82
82
  }
83
+
84
+ // TODO de-dupe this function with open
85
+ export const openRemote = options => {
86
+ if (!isLibsql()) {
87
+ throw new Error('This function is only available for libsql');
88
+ }
89
+ const db = OPSQLite.openRemote(options);
90
+ const lock = {
91
+ queue: [],
92
+ inProgress: false
93
+ };
94
+ const startNextTransaction = () => {
95
+ if (lock.inProgress) {
96
+ // Transaction is already in process bail out
97
+ return;
98
+ }
99
+ if (lock.queue.length) {
100
+ lock.inProgress = true;
101
+ const tx = lock.queue.shift();
102
+ if (!tx) {
103
+ throw new Error('Could not get a operation on database');
104
+ }
105
+ setImmediate(() => {
106
+ tx.start();
107
+ });
108
+ }
109
+ };
110
+
111
+ // spreading the object is not working, so we need to do it manually
112
+ let enhancedDb = {
113
+ delete: db.delete,
114
+ attach: db.attach,
115
+ detach: db.detach,
116
+ executeBatch: db.executeBatch,
117
+ executeBatchAsync: db.executeBatchAsync,
118
+ loadFile: db.loadFile,
119
+ updateHook: db.updateHook,
120
+ commitHook: db.commitHook,
121
+ rollbackHook: db.rollbackHook,
122
+ loadExtension: db.loadExtension,
123
+ executeRawAsync: db.executeRawAsync,
124
+ getDbPath: db.getDbPath,
125
+ reactiveExecute: db.reactiveExecute,
126
+ close: () => {
127
+ db.close();
128
+ delete locks[options.url];
129
+ },
130
+ execute: (query, params) => {
131
+ const sanitizedParams = params?.map(p => {
132
+ if (ArrayBuffer.isView(p)) {
133
+ return p.buffer;
134
+ }
135
+ return p;
136
+ });
137
+ const result = db.execute(query, sanitizedParams);
138
+ enhanceQueryResult(result);
139
+ return result;
140
+ },
141
+ executeAsync: async (query, params) => {
142
+ const sanitizedParams = params?.map(p => {
143
+ if (ArrayBuffer.isView(p)) {
144
+ return p.buffer;
145
+ }
146
+ return p;
147
+ });
148
+ const result = await db.executeAsync(query, sanitizedParams);
149
+ enhanceQueryResult(result);
150
+ return result;
151
+ },
152
+ prepareStatement: query => {
153
+ const stmt = db.prepareStatement(query);
154
+ return {
155
+ bind: params => {
156
+ const sanitizedParams = params.map(p => {
157
+ if (ArrayBuffer.isView(p)) {
158
+ return p.buffer;
159
+ }
160
+ return p;
161
+ });
162
+ stmt.bind(sanitizedParams);
163
+ },
164
+ execute: () => {
165
+ const res = stmt.execute();
166
+ enhanceQueryResult(res);
167
+ return res;
168
+ }
169
+ };
170
+ },
171
+ transaction: async fn => {
172
+ let isFinalized = false;
173
+
174
+ // Local transaction context object implementation
175
+ const execute = (query, params) => {
176
+ if (isFinalized) {
177
+ throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
178
+ }
179
+ return enhancedDb.execute(query, params);
180
+ };
181
+ const executeAsync = (query, params) => {
182
+ if (isFinalized) {
183
+ throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
184
+ }
185
+ return enhancedDb.executeAsync(query, params);
186
+ };
187
+ const commit = () => {
188
+ if (isFinalized) {
189
+ throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
190
+ }
191
+ const result = enhancedDb.execute('COMMIT;');
192
+ isFinalized = true;
193
+ return result;
194
+ };
195
+ const rollback = () => {
196
+ if (isFinalized) {
197
+ throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
198
+ }
199
+ const result = enhancedDb.execute('ROLLBACK;');
200
+ isFinalized = true;
201
+ return result;
202
+ };
203
+ async function run() {
204
+ try {
205
+ await enhancedDb.executeAsync('BEGIN TRANSACTION;');
206
+ await fn({
207
+ commit,
208
+ execute,
209
+ executeAsync,
210
+ rollback
211
+ });
212
+ if (!isFinalized) {
213
+ commit();
214
+ }
215
+ } catch (executionError) {
216
+ console.warn('transaction error', executionError);
217
+ if (!isFinalized) {
218
+ try {
219
+ rollback();
220
+ } catch (rollbackError) {
221
+ throw rollbackError;
222
+ }
223
+ }
224
+ throw executionError;
225
+ } finally {
226
+ lock.inProgress = false;
227
+ isFinalized = false;
228
+ startNextTransaction();
229
+ }
230
+ }
231
+ return await new Promise((resolve, reject) => {
232
+ const tx = {
233
+ start: () => {
234
+ run().then(resolve).catch(reject);
235
+ }
236
+ };
237
+ lock.queue.push(tx);
238
+ startNextTransaction();
239
+ });
240
+ }
241
+ };
242
+ return enhancedDb;
243
+ };
83
244
  export const open = options => {
84
245
  const db = OPSQLite.open(options);
85
246
  const lock = {
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","global","__OPSQLiteProxy","OPSQLite","Error","install","result","proxy","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":[]}
1
+ {"version":3,"names":["NativeModules","global","__OPSQLiteProxy","OPSQLite","Error","install","result","proxy","IOS_DOCUMENT_PATH","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","ANDROID_FILES_PATH","ANDROID_EXTERNAL_FILES_PATH","getConstants","locks","enhanceQueryResult","rows","_array","length","item","idx","openRemote","options","isLibsql","db","lock","queue","inProgress","startNextTransaction","tx","shift","setImmediate","start","enhancedDb","delete","attach","detach","executeBatch","executeBatchAsync","loadFile","updateHook","commitHook","rollbackHook","loadExtension","executeRawAsync","getDbPath","reactiveExecute","close","url","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","open","name","moveAssetsDatabase","args","isSQLCipher"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -121,9 +121,17 @@ type OPSQLiteProxy = {
121
121
  location?: string;
122
122
  encryptionKey?: string;
123
123
  }) => DB;
124
+ openRemote: (options: {
125
+ url: string;
126
+ authToken: string;
127
+ }) => DB;
124
128
  isSQLCipher: () => boolean;
125
129
  isLibsql: () => boolean;
126
130
  };
131
+ export declare const openRemote: (options: {
132
+ url: string;
133
+ authToken: string;
134
+ }) => DB;
127
135
  export declare const open: (options: {
128
136
  name: string;
129
137
  location?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@op-engineering/op-sqlite",
3
- "version": "6.0.2-beta3",
3
+ "version": "6.0.2-beta4",
4
4
  "description": "Next generation SQLite for React Native",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/index.ts CHANGED
@@ -194,6 +194,7 @@ type OPSQLiteProxy = {
194
194
  location?: string;
195
195
  encryptionKey?: string;
196
196
  }) => DB;
197
+ openRemote: (options: { url: string; authToken: string }) => DB;
197
198
  isSQLCipher: () => boolean;
198
199
  isLibsql: () => boolean;
199
200
  };
@@ -219,6 +220,204 @@ function enhanceQueryResult(result: QueryResult): void {
219
220
  }
220
221
  }
221
222
 
223
+ // TODO de-dupe this function with open
224
+ export const openRemote = (options: { url: string; authToken: string }): DB => {
225
+ if (!isLibsql()) {
226
+ throw new Error('This function is only available for libsql');
227
+ }
228
+
229
+ const db = OPSQLite.openRemote(options);
230
+
231
+ const lock = {
232
+ queue: [] as PendingTransaction[],
233
+ inProgress: false,
234
+ };
235
+
236
+ const startNextTransaction = () => {
237
+ if (lock.inProgress) {
238
+ // Transaction is already in process bail out
239
+ return;
240
+ }
241
+
242
+ if (lock.queue.length) {
243
+ lock.inProgress = true;
244
+ const tx = lock.queue.shift();
245
+
246
+ if (!tx) {
247
+ throw new Error('Could not get a operation on database');
248
+ }
249
+
250
+ setImmediate(() => {
251
+ tx.start();
252
+ });
253
+ }
254
+ };
255
+
256
+ // spreading the object is not working, so we need to do it manually
257
+ let enhancedDb = {
258
+ delete: db.delete,
259
+ attach: db.attach,
260
+ detach: db.detach,
261
+ executeBatch: db.executeBatch,
262
+ executeBatchAsync: db.executeBatchAsync,
263
+
264
+ loadFile: db.loadFile,
265
+ updateHook: db.updateHook,
266
+ commitHook: db.commitHook,
267
+ rollbackHook: db.rollbackHook,
268
+ loadExtension: db.loadExtension,
269
+ executeRawAsync: db.executeRawAsync,
270
+ getDbPath: db.getDbPath,
271
+ reactiveExecute: db.reactiveExecute,
272
+ close: () => {
273
+ db.close();
274
+ delete locks[options.url];
275
+ },
276
+ execute: (query: string, params?: any[] | undefined): QueryResult => {
277
+ const sanitizedParams = params?.map((p) => {
278
+ if (ArrayBuffer.isView(p)) {
279
+ return p.buffer;
280
+ }
281
+
282
+ return p;
283
+ });
284
+
285
+ const result = db.execute(query, sanitizedParams);
286
+ enhanceQueryResult(result);
287
+ return result;
288
+ },
289
+ executeAsync: async (
290
+ query: string,
291
+ params?: any[] | undefined
292
+ ): Promise<QueryResult> => {
293
+ const sanitizedParams = params?.map((p) => {
294
+ if (ArrayBuffer.isView(p)) {
295
+ return p.buffer;
296
+ }
297
+
298
+ return p;
299
+ });
300
+
301
+ const result = await db.executeAsync(query, sanitizedParams);
302
+ enhanceQueryResult(result);
303
+ return result;
304
+ },
305
+ prepareStatement: (query: string) => {
306
+ const stmt = db.prepareStatement(query);
307
+
308
+ return {
309
+ bind: (params: any[]) => {
310
+ const sanitizedParams = params.map((p) => {
311
+ if (ArrayBuffer.isView(p)) {
312
+ return p.buffer;
313
+ }
314
+
315
+ return p;
316
+ });
317
+
318
+ stmt.bind(sanitizedParams);
319
+ },
320
+ execute: () => {
321
+ const res = stmt.execute();
322
+ enhanceQueryResult(res);
323
+ return res;
324
+ },
325
+ };
326
+ },
327
+ transaction: async (
328
+ fn: (tx: Transaction) => Promise<void>
329
+ ): Promise<void> => {
330
+ let isFinalized = false;
331
+
332
+ // Local transaction context object implementation
333
+ const execute = (query: string, params?: any[]): QueryResult => {
334
+ if (isFinalized) {
335
+ throw Error(
336
+ `OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`
337
+ );
338
+ }
339
+ return enhancedDb.execute(query, params);
340
+ };
341
+
342
+ const executeAsync = (query: string, params?: any[] | undefined) => {
343
+ if (isFinalized) {
344
+ throw Error(
345
+ `OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`
346
+ );
347
+ }
348
+ return enhancedDb.executeAsync(query, params);
349
+ };
350
+
351
+ const commit = () => {
352
+ if (isFinalized) {
353
+ throw Error(
354
+ `OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`
355
+ );
356
+ }
357
+ const result = enhancedDb.execute('COMMIT;');
358
+ isFinalized = true;
359
+ return result;
360
+ };
361
+
362
+ const rollback = () => {
363
+ if (isFinalized) {
364
+ throw Error(
365
+ `OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`
366
+ );
367
+ }
368
+ const result = enhancedDb.execute('ROLLBACK;');
369
+ isFinalized = true;
370
+ return result;
371
+ };
372
+
373
+ async function run() {
374
+ try {
375
+ await enhancedDb.executeAsync('BEGIN TRANSACTION;');
376
+
377
+ await fn({
378
+ commit,
379
+ execute,
380
+ executeAsync,
381
+ rollback,
382
+ });
383
+
384
+ if (!isFinalized) {
385
+ commit();
386
+ }
387
+ } catch (executionError) {
388
+ console.warn('transaction error', executionError);
389
+ if (!isFinalized) {
390
+ try {
391
+ rollback();
392
+ } catch (rollbackError) {
393
+ throw rollbackError;
394
+ }
395
+ }
396
+
397
+ throw executionError;
398
+ } finally {
399
+ lock.inProgress = false;
400
+ isFinalized = false;
401
+ startNextTransaction();
402
+ }
403
+ }
404
+
405
+ return await new Promise((resolve, reject) => {
406
+ const tx: PendingTransaction = {
407
+ start: () => {
408
+ run().then(resolve).catch(reject);
409
+ },
410
+ };
411
+
412
+ lock.queue.push(tx);
413
+ startNextTransaction();
414
+ });
415
+ },
416
+ };
417
+
418
+ return enhancedDb;
419
+ };
420
+
222
421
  export const open = (options: {
223
422
  name: string;
224
423
  location?: string;