@op-engineering/op-sqlite 2.0.13 → 2.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,29 +1,27 @@
1
- ![screenshot](https://raw.githubusercontent.com/OP-Engineering/op-sqlite/main/Header.png)
1
+ ![benchmark](benchmark.png)
2
2
 
3
- <div align="center">
4
- <pre align="center">
5
- yarn add @op-engineering/op-sqlite
6
- npx pod-install</pre>
7
- <br />
8
- </div>
9
- <br />
3
+ ```sh
4
+ yarn add @op-engineering/op-sqlite && npx pod-install
5
+ ```
10
6
 
11
- OP SQLite embeds the latest version of SQLite and provides a low-level API to execute SQL queries.
7
+ OP-SQLite embeds the latest version of SQLite and provides a low-level API to execute SQL queries.
12
8
 
13
9
  **Current SQLite version: 3.44.0**
14
10
 
15
- Created by [@ospfranco](https://twitter.com/ospfranco). **Please consider Sponsoring**, none of this work is for free. I pay for it with my time and knowledge. If you are a company in need of help with your React Native/React apps feel free to reach out. I also do a lot of C++ and nowadays Rust.
11
+ Created by [@ospfranco](https://twitter.com/ospfranco). **Please consider sponsoring!**.
16
12
 
17
13
  ## Benchmarks
18
14
 
19
- You can find the [benchmarking code in the example app](https://github.com/OP-Engineering/op-sqlite/blob/main/example/src/Database.ts#L44). This is run using the `OP_SQLITE_PERF` flag which in turns disables some old and unused features of sqlite to squeeze the last drop of performance.
15
+ You can find the [benchmarking code in the example app](https://github.com/OP-Engineering/op-sqlite/blob/main/example/src/Database.ts#L44). This is run using the `OP_SQLITE_PERF` [performance flag](#perf-flag) which in turns disables some old and unused features of sqlite to squeeze the last drop of performance.
20
16
 
21
- ![benchmark](benchmark.png)
22
-
23
- Memory consumption is also 1/4 compared to `react-native-quick-sqlite`. This query used to take 1.2 GB of peak memory usage, and now runs in 250mbs.
17
+ Memory consumption is minimised as much as possible since all the data is shared via HostObjects, meaning large queries can be run in few mbs.
24
18
 
25
19
  You can also turn on [Memory Mapping](#speed) to make your queries even faster by skipping the kernel during I/O and potentially reduce RAM usage, this comes with some disadvantages though. If you want even more speed and you can re-use your queries you can use [Prepared Statements](#prepared-statements).
26
20
 
21
+ Here is another benchmark with all the optimizations reading a single string value against react-native-mmkv.
22
+
23
+ ![benchmark](benchmark2.png)
24
+
27
25
  # Encryption
28
26
 
29
27
  If you need to encrypt your entire database, there is [`op-sqlcipher`](https://github.com/OP-Engineering/op-sqlcipher), which is a fork of this library that uses [SQLCipher](https://github.com/sqlcipher/sqlcipher). It completely encrypts the database with minimal overhead.
@@ -59,7 +57,7 @@ import {
59
57
  IOS_DOCUMENT_PATH,
60
58
  ANDROID_DATABASE_PATH, // Default Android
61
59
  ANDROID_FILES_PATH,
62
- ANDROID_EXTERNAL_FILES_PATH,
60
+ ANDROID_EXTERNAL_FILES_PATH, // Android SD Card
63
61
  open,
64
62
  } from '@op-engineering/op-sqlite';
65
63
 
@@ -104,9 +102,11 @@ const largeDb = open({
104
102
  });
105
103
  ```
106
104
 
105
+ In memory databases are faster since they don't need to hit the disk I/O to save the data and are useful for synchronization only workflows.
106
+
107
107
  # Performance
108
108
 
109
- op-sqlite is already the fastest solution it can be, but it doesn't mean you cannot tweak SQLite to be faster (at the cost of some disadvantages). One possible tweak is turning on [Memory Mapping](https://www.sqlite.org/mmap.html). It allows to read/write to/from the disk without going through the kernel. However, if your queries throw an error your application might crash.
109
+ You can tweak SQLite to be faster (at the cost of some disadvantages). One possibility is [Memory Mapping](https://www.sqlite.org/mmap.html). It allows to read/write to/from the disk without going through the kernel. However, if your queries throw an error your application might crash.
110
110
 
111
111
  To turn on Memory Mapping, execute the following pragma statement after opening a db:
112
112
 
@@ -119,15 +119,13 @@ const db = open({
119
119
  db.execute('PRAGMA mmap_size=268435456');
120
120
  ```
121
121
 
122
- You can also set journaling to memory (or even OFF if you are kinda crazy) to gain even more speed. Journaling is what allows SQLite to ROLLBACK statements and it is dangerous, so do it at your own risk
122
+ You can also set journaling to memory (or even OFF if you are kinda crazy) to gain even more speed. Journaling is what allows SQLite to ROLLBACK statements and modifying it dangerous, so do it at your own risk
123
123
 
124
124
  ```ts
125
125
  db.execute('PRAGMA journal_mode = MEMORY;'); // or OFF
126
126
  ```
127
127
 
128
- If you use [prepared statements](#prepared-statements) plus memory mapping and set journaling to memory, you can get to inches of MMKV for the most performance critical queries, here is a simple example writing/reading a single value.
129
-
130
- ![mmkv comparison](mmkv.png)
128
+ If you use [prepared statements](#prepared-statements) are useful to reduce the time of critical queries.
131
129
 
132
130
  # Perf flag
133
131
 
@@ -143,6 +141,12 @@ export OP_SQLITE_PERF=1
143
141
  yarn android
144
142
  ```
145
143
 
144
+ If correctly set you should see the following output in your console
145
+
146
+ ```sh
147
+ OP-SQLITE performance mode enabled! 🚀
148
+ ```
149
+
146
150
  # SQLite Gotchas
147
151
 
148
152
  ## Strictness
@@ -156,7 +160,7 @@ db.execute('CREATE TABLE Test (
156
160
  ) STRICT;');
157
161
  ```
158
162
 
159
- If you don't set it, SQLite will happily write whatever you insert in your table, independtly of the declared type.
163
+ If you don't set it, SQLite will happily write whatever you insert in your table, independtly of the declared type (it will try to cast it though, e.g. "1" string might be turned to 1 int).
160
164
 
161
165
  ## Foreign constraints
162
166
 
@@ -332,13 +336,9 @@ metadata.forEach((column) => {
332
336
  You might have too much SQL to process and it will cause your application to freeze. There are async versions for some of the operations. This will offload the SQLite processing to a different thread.
333
337
 
334
338
  ```ts
335
- db.executeAsync(
336
- 'myDatabase',
337
- 'SELECT * FROM "User";',
338
- []).then(({rows}) => {
339
- console.log('users', rows._array);
340
- })
341
- );
339
+ db.executeAsync('SELECT * FROM "User";', []).then(({ rows }) => {
340
+ console.log('users', rows._array);
341
+ });
342
342
  ```
343
343
 
344
344
  ## Blobs
@@ -384,6 +384,15 @@ let results2 = statement.execute();
384
384
 
385
385
  You only pay the price of parsing the query once, and each subsequent execution should be faster.
386
386
 
387
+ # Raw execution
388
+
389
+ If you don't care about the keys you can use a simplified execution that will return an array of results.
390
+
391
+ ```ts
392
+ let result = await db.executeRawAsync('SELECT * FROM Users;');
393
+ // result = [[123, 'Katie', ...]]
394
+ ```
395
+
387
396
  # Attach or Detach other databases
388
397
 
389
398
  SQLite supports attaching or detaching other database files into your main database connection through an alias.
@@ -526,6 +535,16 @@ You can specify flags via `<PROJECT_ROOT>/android/gradle.properties` like so:
526
535
  OPSQLiteFlags="-DSQLITE_ENABLE_FTS5=1"
527
536
  ```
528
537
 
538
+ # Runtime loadable extensions
539
+
540
+ You can load your own extensions on runtime.
541
+
542
+ ```ts
543
+ db.loadExtension('/path/to/library.so', 'optional_entry_point_function_name');
544
+ ```
545
+
546
+ You will need to compile your extension for both iOS and Android and all the respective architectures and make it available in a location the library can read (be careful about sandboxing).
547
+
529
548
  # Additional configuration
530
549
 
531
550
  ## App groups (iOS only)
@@ -77,7 +77,7 @@ android {
77
77
  externalNativeBuild {
78
78
  cmake {
79
79
  if(System.getenv("OP_SQLITE_PERF") == '1') {
80
- println "OP_SQLITE performance mode enabled!"
80
+ println "OP-SQLITE performance mode enabled! 🚀"
81
81
  cFlags "-DSQLITE_DQS=0", "-DSQLITE_THREADSAFE=0", "-DSQLITE_DEFAULT_MEMSTATUS=0", "-DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1", "-DSQLITE_LIKE_DOESNT_MATCH_BLOBS=1", "-DSQLITE_MAX_EXPR_DEPTH=0", "-DSQLITE_OMIT_DEPRECATED=1", "-DSQLITE_OMIT_PROGRESS_CALLBACK=1", "-DSQLITE_OMIT_SHARED_CACHE=1", "-DSQLITE_USE_ALLOCA=1"
82
82
  }
83
83
  cppFlags "-O2", "-fexceptions", "-frtti", "-std=c++1y", "-DONANDROID"
@@ -22,10 +22,6 @@ std::vector<jsi::PropNameID>
22
22
  PreparedStatementHostObject::getPropertyNames(jsi::Runtime &rt) {
23
23
  std::vector<jsi::PropNameID> keys;
24
24
 
25
- // for (auto field : fields) {
26
- // keys.push_back(jsi::PropNameID::forAscii(rt, field.first));
27
- // }
28
-
29
25
  return keys;
30
26
  }
31
27
 
@@ -39,14 +35,8 @@ jsi::Value PreparedStatementHostObject::get(jsi::Runtime &rt,
39
35
  throw std::runtime_error("statement has been freed");
40
36
  }
41
37
 
42
- std::vector<JSVariant> params;
43
-
44
- const jsi::Value &originalParams = args[0];
45
- params = toVariantVec(rt, originalParams);
46
-
47
- std::vector<DumbHostObject> results;
48
- std::shared_ptr<std::vector<SmartHostObject>> metadata =
49
- std::make_shared<std::vector<SmartHostObject>>();
38
+ const jsi::Value &js_params = args[0];
39
+ std::vector<JSVariant> params = toVariantVec(rt, js_params);
50
40
 
51
41
  sqlite_bind_statement(_statement, &params);
52
42
 
package/cpp/bindings.cpp CHANGED
@@ -222,6 +222,67 @@ void install(jsi::Runtime &rt,
222
222
  return jsiResult;
223
223
  });
224
224
 
225
+ auto execute_raw_async = HOSTFN("executeRawAsync", 3) {
226
+ if (count < 3) {
227
+ throw std::runtime_error(
228
+ "[op-sqlite][executeAsync] Incorrect arguments for executeAsync");
229
+ }
230
+
231
+ const std::string dbName = args[0].asString(rt).utf8(rt);
232
+ const std::string query = args[1].asString(rt).utf8(rt);
233
+ const jsi::Value &originalParams = args[2];
234
+
235
+ std::vector<JSVariant> params = toVariantVec(rt, originalParams);
236
+
237
+ auto promiseCtr = rt.global().getPropertyAsFunction(rt, "Promise");
238
+
239
+ auto promise = promiseCtr.callAsConstructor(rt, HOSTFN("executor", 2) {
240
+ auto resolve = std::make_shared<jsi::Value>(rt, args[0]);
241
+ auto reject = std::make_shared<jsi::Value>(rt, args[1]);
242
+
243
+ auto task = [&rt, dbName, query, params = std::move(params), resolve,
244
+ reject]() {
245
+ try {
246
+ std::vector<std::vector<JSVariant>> results;
247
+
248
+ auto status = sqlite_execute_raw(dbName, query, &params, &results);
249
+
250
+ if (invalidated) {
251
+ return;
252
+ }
253
+
254
+ invoker->invokeAsync([&rt, results = std::move(results),
255
+ status = std::move(status), resolve, reject] {
256
+ if (status.type == SQLiteOk) {
257
+ auto jsiResult = create_raw_result(rt, status, &results);
258
+ resolve->asObject(rt).asFunction(rt).call(rt,
259
+ std::move(jsiResult));
260
+ } else {
261
+ auto errorCtr = rt.global().getPropertyAsFunction(rt, "Error");
262
+ auto error = errorCtr.callAsConstructor(
263
+ rt, jsi::String::createFromUtf8(rt, status.message));
264
+ reject->asObject(rt).asFunction(rt).call(rt, error);
265
+ }
266
+ });
267
+
268
+ } catch (std::exception &exc) {
269
+ invoker->invokeAsync([&rt, exc = std::move(exc), reject] {
270
+ auto errorCtr = rt.global().getPropertyAsFunction(rt, "Error");
271
+ auto error = errorCtr.callAsConstructor(
272
+ rt, jsi::String::createFromAscii(rt, exc.what()));
273
+ reject->asObject(rt).asFunction(rt).call(rt, error);
274
+ });
275
+ }
276
+ };
277
+
278
+ pool.queueWork(task);
279
+
280
+ return {};
281
+ }));
282
+
283
+ return promise;
284
+ });
285
+
225
286
  auto executeAsync = HOSTFN("executeAsync", 3) {
226
287
  if (count < 3) {
227
288
  throw std::runtime_error(
@@ -540,6 +601,21 @@ void install(jsi::Runtime &rt,
540
601
  return jsi::Object::createFromHostObject(rt, preparedStatementHostObject);
541
602
  });
542
603
 
604
+ auto load_extension = HOSTFN("loadExtension", 2) {
605
+ auto db_name = args[0].asString(rt).utf8(rt);
606
+ auto path = args[1].asString(rt).utf8(rt);
607
+ std::string entryPoint = "";
608
+ if (count > 2 && args[2].isString()) {
609
+ entryPoint = args[2].asString(rt).utf8(rt);
610
+ }
611
+
612
+ auto result = sqlite_load_extension(db_name, path, entryPoint);
613
+ if (result.type == SQLiteError) {
614
+ throw std::runtime_error(result.message);
615
+ }
616
+ return {};
617
+ });
618
+
543
619
  jsi::Object module = jsi::Object(rt);
544
620
 
545
621
  module.setProperty(rt, "open", std::move(open));
@@ -556,6 +632,8 @@ void install(jsi::Runtime &rt,
556
632
  module.setProperty(rt, "commitHook", std::move(commitHook));
557
633
  module.setProperty(rt, "rollbackHook", std::move(rollbackHook));
558
634
  module.setProperty(rt, "prepareStatement", std::move(prepareStatement));
635
+ module.setProperty(rt, "loadExtension", std::move(load_extension));
636
+ module.setProperty(rt, "executeRawAsync", std::move(execute_raw_async));
559
637
 
560
638
  rt.global().setProperty(rt, "__OPSQLiteProxy", std::move(module));
561
639
  }
package/cpp/bridge.cpp CHANGED
@@ -518,6 +518,164 @@ sqlite_execute(std::string const &dbName, std::string const &query,
518
518
  .insertId = static_cast<double>(latestInsertRowId)};
519
519
  }
520
520
 
521
+ BridgeResult sqlite_execute_raw(std::string const &dbName,
522
+ std::string const &query,
523
+ const std::vector<JSVariant> *params,
524
+ std::vector<std::vector<JSVariant>> *results) {
525
+
526
+ if (dbMap.find(dbName) == dbMap.end()) {
527
+ return {.type = SQLiteError,
528
+ .message = "[op-sqlite]: Database " + dbName + " is not open"};
529
+ }
530
+
531
+ sqlite3 *db = dbMap[dbName];
532
+
533
+ sqlite3_stmt *statement;
534
+ const char *errorMessage;
535
+ const char *remainingStatement = nullptr;
536
+
537
+ bool isConsuming = true;
538
+ bool isFailed = false;
539
+
540
+ int result = SQLITE_OK;
541
+
542
+ do {
543
+ const char *queryStr =
544
+ remainingStatement == nullptr ? query.c_str() : remainingStatement;
545
+
546
+ int statementStatus =
547
+ sqlite3_prepare_v2(db, queryStr, -1, &statement, &remainingStatement);
548
+
549
+ if (statementStatus != SQLITE_OK) {
550
+ const char *message = sqlite3_errmsg(db);
551
+ return {
552
+ .type = SQLiteError,
553
+ .message = "[op-sqlite] SQL statement error:" +
554
+ std::to_string(statementStatus) +
555
+ " description:" + std::string(message) +
556
+ ". See error codes: https://www.sqlite.org/rescode.html",
557
+ };
558
+ }
559
+
560
+ // The statement did not fail to parse but there is nothing to do, just skip
561
+ // to the end
562
+ if (statement == NULL) {
563
+ continue;
564
+ }
565
+
566
+ if (params != nullptr && params->size() > 0) {
567
+ bindStatement(statement, params);
568
+ }
569
+
570
+ isConsuming = true;
571
+
572
+ int i, count, column_type;
573
+ std::string column_name, column_declared_type;
574
+
575
+ while (isConsuming) {
576
+ result = sqlite3_step(statement);
577
+
578
+ switch (result) {
579
+ case SQLITE_ROW: {
580
+ if (results == NULL) {
581
+ break;
582
+ }
583
+ std::vector<JSVariant> row;
584
+
585
+ i = 0;
586
+
587
+ count = sqlite3_column_count(statement);
588
+
589
+ while (i < count) {
590
+ column_type = sqlite3_column_type(statement, i);
591
+
592
+ switch (column_type) {
593
+ case SQLITE_INTEGER: {
594
+ /**
595
+ * Warning this will loose precision because JS can
596
+ * only represent Integers up to 53 bits
597
+ */
598
+ double column_value = sqlite3_column_double(statement, i);
599
+ row.push_back(JSVariant(column_value));
600
+ break;
601
+ }
602
+
603
+ case SQLITE_FLOAT: {
604
+ double column_value = sqlite3_column_double(statement, i);
605
+ row.push_back(JSVariant(column_value));
606
+ break;
607
+ }
608
+
609
+ case SQLITE_TEXT: {
610
+ const char *column_value = reinterpret_cast<const char *>(
611
+ sqlite3_column_text(statement, i));
612
+ int byteLen = sqlite3_column_bytes(statement, i);
613
+ // Specify length too; in case string contains NULL in the middle
614
+ row.push_back(JSVariant(std::string(column_value, byteLen)));
615
+ break;
616
+ }
617
+
618
+ case SQLITE_BLOB: {
619
+ int blob_size = sqlite3_column_bytes(statement, i);
620
+ const void *blob = sqlite3_column_blob(statement, i);
621
+ uint8_t *data = new uint8_t[blob_size];
622
+ // You cannot share raw memory between native and JS
623
+ // always copy the data
624
+ memcpy(data, blob, blob_size);
625
+ row.push_back(
626
+ JSVariant(ArrayBuffer{.data = std::shared_ptr<uint8_t>{data},
627
+ .size = static_cast<size_t>(blob_size)}));
628
+ break;
629
+ }
630
+
631
+ case SQLITE_NULL:
632
+ // Intentionally left blank
633
+
634
+ default:
635
+ row.push_back(JSVariant(NULL));
636
+ break;
637
+ }
638
+ i++;
639
+ }
640
+
641
+ results->push_back(row);
642
+
643
+ break;
644
+ }
645
+
646
+ case SQLITE_DONE:
647
+ isConsuming = false;
648
+ break;
649
+
650
+ default:
651
+ errorMessage = sqlite3_errmsg(db);
652
+ isFailed = true;
653
+ isConsuming = false;
654
+ }
655
+ }
656
+
657
+ sqlite3_finalize(statement);
658
+ } while (remainingStatement != NULL && strcmp(remainingStatement, "") != 0 &&
659
+ !isFailed);
660
+
661
+ if (isFailed) {
662
+
663
+ return {.type = SQLiteError,
664
+ .message =
665
+ "[op-sqlite] SQLite error code: " + std::to_string(result) +
666
+ ", description: " + std::string(errorMessage) +
667
+ ".\nSee SQLite error codes reference: "
668
+ "https://www.sqlite.org/rescode.html"};
669
+ }
670
+
671
+ int changedRowCount = sqlite3_changes(db);
672
+ long long latestInsertRowId = sqlite3_last_insert_rowid(db);
673
+
674
+ return {.type = SQLiteOk,
675
+ .affectedRows = changedRowCount,
676
+ .insertId = static_cast<double>(latestInsertRowId)};
677
+ }
678
+
521
679
  BridgeResult sqlite_execute_literal(std::string const &dbName,
522
680
  std::string const &query) {
523
681
  if (dbMap.count(dbName) == 0) {
@@ -731,4 +889,32 @@ BridgeResult sqlite_deregister_rollback_hook(std::string const &dbName) {
731
889
 
732
890
  return {SQLiteOk};
733
891
  }
892
+
893
+ BridgeResult sqlite_load_extension(std::string &db_name, std::string &path,
894
+ std::string &entry_point) {
895
+ if (dbMap.count(db_name) == 0) {
896
+ return {SQLiteError, "[op-sqlite] Database not open"};
897
+ }
898
+
899
+ sqlite3 *db = dbMap[db_name];
900
+ int loading_extensions_enabled = sqlite3_enable_load_extension(db, 1);
901
+ if (loading_extensions_enabled != SQLITE_OK) {
902
+ return {SQLiteError, "[op-sqlite] could not enable extension loading"};
903
+ }
904
+ const char *path_cstr = path.c_str();
905
+ const char *entry_point_cstr;
906
+ if (!entry_point.empty()) {
907
+ entry_point_cstr = entry_point.c_str();
908
+ }
909
+
910
+ char *error_message;
911
+
912
+ int extension_loaded =
913
+ sqlite3_load_extension(db, path_cstr, entry_point_cstr, &error_message);
914
+ if (extension_loaded != SQLITE_OK) {
915
+ return {SQLiteError, std::string(error_message)};
916
+ }
917
+ return {SQLiteOk};
918
+ }
919
+
734
920
  } // namespace opsqlite
package/cpp/bridge.h CHANGED
@@ -33,6 +33,11 @@ sqlite_execute(std::string const &dbName, std::string const &query,
33
33
  std::vector<DumbHostObject> *results,
34
34
  std::shared_ptr<std::vector<SmartHostObject>> metadatas);
35
35
 
36
+ BridgeResult sqlite_execute_raw(std::string const &dbName,
37
+ std::string const &query,
38
+ const std::vector<JSVariant> *params,
39
+ std::vector<std::vector<JSVariant>> *results);
40
+
36
41
  BridgeResult sqlite_execute_literal(std::string const &dbName,
37
42
  std::string const &query);
38
43
 
@@ -62,6 +67,10 @@ BridgeResult sqlite_execute_prepared_statement(
62
67
  std::string const &dbName, sqlite3_stmt *statement,
63
68
  std::vector<DumbHostObject> *results,
64
69
  std::shared_ptr<std::vector<SmartHostObject>> metadatas);
70
+
71
+ BridgeResult sqlite_load_extension(std::string &db_name, std::string &path,
72
+ std::string &entry_point);
73
+
65
74
  } // namespace opsqlite
66
75
 
67
76
  #endif /* bridge_h */
package/cpp/utils.cpp CHANGED
@@ -187,6 +187,22 @@ createResult(jsi::Runtime &rt, BridgeResult status,
187
187
  return std::move(res);
188
188
  }
189
189
 
190
+ jsi::Value
191
+ create_raw_result(jsi::Runtime &rt, BridgeResult status,
192
+ const std::vector<std::vector<JSVariant>> *results) {
193
+ size_t row_count = results->size();
194
+ jsi::Array res = jsi::Array(rt, row_count);
195
+ for (int i = 0; i < row_count; i++) {
196
+ auto row = results->at(i);
197
+ auto array = jsi::Array(rt, row.size());
198
+ for (int j = 0; j < row.size(); j++) {
199
+ array.setValueAtIndex(rt, j, toJSI(rt, row[j]));
200
+ }
201
+ res.setValueAtIndex(rt, i, array);
202
+ }
203
+ return res;
204
+ }
205
+
190
206
  BatchResult importSQLFile(std::string dbName, std::string fileLocation) {
191
207
  std::string line;
192
208
  std::ifstream sqFile(fileLocation);
package/cpp/utils.h CHANGED
@@ -41,6 +41,10 @@ jsi::Value createResult(jsi::Runtime &rt, BridgeResult status,
41
41
  std::vector<DumbHostObject> *results,
42
42
  std::shared_ptr<std::vector<SmartHostObject>> metadata);
43
43
 
44
+ jsi::Value
45
+ create_raw_result(jsi::Runtime &rt, BridgeResult status,
46
+ const std::vector<std::vector<JSVariant>> *results);
47
+
44
48
  BatchResult importSQLFile(std::string dbName, std::string fileLocation);
45
49
 
46
50
  int mkdir(const std::string &path);
@@ -220,7 +220,9 @@ const open = options => {
220
220
  updateHook: callback => OPSQLite.updateHook(options.name, callback),
221
221
  commitHook: callback => OPSQLite.commitHook(options.name, callback),
222
222
  rollbackHook: callback => OPSQLite.rollbackHook(options.name, callback),
223
- prepareStatement: query => OPSQLite.prepareStatement(options.name, query)
223
+ prepareStatement: query => OPSQLite.prepareStatement(options.name, query),
224
+ loadExtension: (path, entryPoint) => OPSQLite.loadExtension(options.name, path, entryPoint),
225
+ executeRawAsync: (query, params) => OPSQLite.executeRawAsync(options.name, query, params)
224
226
  };
225
227
  };
226
228
  exports.open = open;
@@ -1 +1 @@
1
- {"version":3,"names":["global","__OPSQLiteProxy","OPSQLiteModule","NativeOPSQLite","Error","nativeCallSyncHook","install","result","proxy","OPSQLite","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","dbName","location","queue","inProgress","_close","close","_execute","execute","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","_executeAsync","executeAsync","res","transaction","fn","isFinalized","commit","rollback","run","executionError","rollbackError","startNextTransaction","Promise","resolve","reject","tx","start","then","catch","push","shift","setImmediate","options","name","delete","attach","dbNameToAttach","alias","detach","executeBatch","commands","executeBatchAsync","loadFile","updateHook","callback","commitHook","rollbackHook","prepareStatement"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["global","__OPSQLiteProxy","OPSQLiteModule","NativeOPSQLite","Error","nativeCallSyncHook","install","result","proxy","OPSQLite","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","dbName","location","queue","inProgress","_close","close","_execute","execute","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","_executeAsync","executeAsync","res","transaction","fn","isFinalized","commit","rollback","run","executionError","rollbackError","startNextTransaction","Promise","resolve","reject","tx","start","then","catch","push","shift","setImmediate","options","name","delete","attach","dbNameToAttach","alias","detach","executeBatch","commands","executeBatchAsync","loadFile","updateHook","callback","commitHook","rollbackHook","prepareStatement","loadExtension","path","entryPoint","executeRawAsync"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
@@ -208,7 +208,9 @@ export const open = options => {
208
208
  updateHook: callback => OPSQLite.updateHook(options.name, callback),
209
209
  commitHook: callback => OPSQLite.commitHook(options.name, callback),
210
210
  rollbackHook: callback => OPSQLite.rollbackHook(options.name, callback),
211
- prepareStatement: query => OPSQLite.prepareStatement(options.name, query)
211
+ prepareStatement: query => OPSQLite.prepareStatement(options.name, query),
212
+ loadExtension: (path, entryPoint) => OPSQLite.loadExtension(options.name, path, entryPoint),
213
+ executeRawAsync: (query, params) => OPSQLite.executeRawAsync(options.name, query, params)
212
214
  };
213
215
  };
214
216
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeOPSQLite","global","__OPSQLiteProxy","OPSQLiteModule","Error","nativeCallSyncHook","install","result","proxy","OPSQLite","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","dbName","location","queue","inProgress","_close","close","_execute","execute","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","_executeAsync","executeAsync","res","transaction","fn","isFinalized","commit","rollback","run","executionError","rollbackError","startNextTransaction","Promise","resolve","reject","tx","start","then","catch","push","shift","setImmediate","options","name","delete","attach","dbNameToAttach","alias","detach","executeBatch","commands","executeBatchAsync","loadFile","updateHook","callback","commitHook","rollbackHook","prepareStatement"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["NativeOPSQLite","global","__OPSQLiteProxy","OPSQLiteModule","Error","nativeCallSyncHook","install","result","proxy","OPSQLite","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","dbName","location","queue","inProgress","_close","close","_execute","execute","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","_executeAsync","executeAsync","res","transaction","fn","isFinalized","commit","rollback","run","executionError","rollbackError","startNextTransaction","Promise","resolve","reject","tx","start","then","catch","push","shift","setImmediate","options","name","delete","attach","dbNameToAttach","alias","detach","executeBatch","commands","executeBatchAsync","loadFile","updateHook","callback","commitHook","rollbackHook","prepareStatement","loadExtension","path","entryPoint","executeRawAsync"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,OAAOA,cAAc,MAAM,kBAAkB;AAO7C,IAAIC,MAAM,CAACC,eAAe,IAAI,IAAI,EAAE;EAClC,MAAMC,cAAc,GAAGH,cAAc;EAErC,IAAIG,cAAc,IAAI,IAAI,EAAE;IAC1B,MAAM,IAAIC,KAAK,CAAC,sDAAsD,CAAC;EACzE;;EAEA;EACA,IAAIH,MAAM,CAACI,kBAAkB,IAAI,IAAI,IAAIF,cAAc,CAACG,OAAO,IAAI,IAAI,EAAE;IACvE,MAAM,IAAIF,KAAK,CACb,iQAAiQ,CAClQ;EACH;;EAEA;EACA,MAAMG,MAAM,GAAGJ,cAAc,CAACG,OAAO,EAAE;EACvC,IAAIC,MAAM,KAAK,IAAI,EAAE;IACnB,MAAM,IAAIH,KAAK,CACZ,iJAAgJG,MAAO,EAAC,CAC1J;EACH;;EAEA;EACA,IAAIN,MAAM,CAACC,eAAe,IAAI,IAAI,EAAE;IAClC,MAAM,IAAIE,KAAK,CACb,yIAAyI,CAC1I;EACH;AACF;AAEA,MAAMI,KAAK,GAAGP,MAAM,CAACC,eAAe;AACpC,OAAO,MAAMO,QAAQ,GAAGD,KAAgB;AAExC,OAAO,MAAM;EACX;EACAE,iBAAiB;EACjB;EACAC,gBAAgB;EAChB;EACAC,qBAAqB;EACrB;EACAC,kBAAkB;EAClB;EACAC;AACF,CAAC,GAAG,CAAC,CAACd,cAAc,CAACe,YAAY,GAC7Bf,cAAc,CAACe,YAAY,EAAE,GAC7Bf,cAAc;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA2IA,MAAMgB,KAGL,GAAG,CAAC,CAAC;;AAEN;;AAEA;AACA,SAASC,kBAAkB,CAACV,MAAmB,EAAQ;EACrD;EACA,IAAIA,MAAM,CAACW,IAAI,IAAI,IAAI,EAAE;IACvBX,MAAM,CAACW,IAAI,GAAG;MACZC,MAAM,EAAE,EAAE;MACVC,MAAM,EAAE,CAAC;MACTC,IAAI,EAAGC,GAAW,IAAKf,MAAM,CAACW,IAAI,EAAEC,MAAM,CAACG,GAAG;IAChD,CAAC;EACH,CAAC,MAAM;IACLf,MAAM,CAACW,IAAI,CAACG,IAAI,GAAIC,GAAW,IAAKf,MAAM,CAACW,IAAI,EAAEC,MAAM,CAACG,GAAG,CAAC;EAC9D;AACF;AAEA,MAAMC,KAAK,GAAGd,QAAQ,CAACe,IAAI;AAC3Bf,QAAQ,CAACe,IAAI,GAAG,CAACC,MAAc,EAAEC,QAAiB,KAAK;EACrDH,KAAK,CAACE,MAAM,EAAEC,QAAQ,CAAC;EAEvBV,KAAK,CAACS,MAAM,CAAC,GAAG;IACdE,KAAK,EAAE,EAAE;IACTC,UAAU,EAAE;EACd,CAAC;AACH,CAAC;AAED,MAAMC,MAAM,GAAGpB,QAAQ,CAACqB,KAAK;AAC7BrB,QAAQ,CAACqB,KAAK,GAAIL,MAAc,IAAK;EACnCI,MAAM,CAACJ,MAAM,CAAC;EACd,OAAOT,KAAK,CAACS,MAAM,CAAC;AACtB,CAAC;AAED,MAAMM,QAAQ,GAAGtB,QAAQ,CAACuB,OAAO;AACjCvB,QAAQ,CAACuB,OAAO,GAAG,CACjBP,MAAc,EACdQ,KAAa,EACbC,MAA0B,KACV;EAChB,MAAMC,eAAe,GAAGD,MAAM,EAAEE,GAAG,CAAEC,CAAC,IAAK;IACzC,IAAIC,WAAW,CAACC,MAAM,CAACF,CAAC,CAAC,EAAE;MACzB,OAAOA,CAAC,CAACG,MAAM;IACjB;IAEA,OAAOH,CAAC;EACV,CAAC,CAAC;EAEF,MAAM9B,MAAM,GAAGwB,QAAQ,CAACN,MAAM,EAAEQ,KAAK,EAAEE,eAAe,CAAC;EACvDlB,kBAAkB,CAACV,MAAM,CAAC;EAC1B,OAAOA,MAAM;AACf,CAAC;AAED,MAAMkC,aAAa,GAAGhC,QAAQ,CAACiC,YAAY;AAC3CjC,QAAQ,CAACiC,YAAY,GAAG,OACtBjB,MAAc,EACdQ,KAAa,EACbC,MAA0B,KACD;EACzB,MAAMC,eAAe,GAAGD,MAAM,EAAEE,GAAG,CAAEC,CAAC,IAAK;IACzC,IAAIC,WAAW,CAACC,MAAM,CAACF,CAAC,CAAC,EAAE;MACzB,OAAOA,CAAC,CAACG,MAAM;IACjB;IAEA,OAAOH,CAAC;EACV,CAAC,CAAC;EAEF,MAAMM,GAAG,GAAG,MAAMF,aAAa,CAAChB,MAAM,EAAEQ,KAAK,EAAEE,eAAe,CAAC;EAC/DlB,kBAAkB,CAAC0B,GAAG,CAAC;EACvB,OAAOA,GAAG;AACZ,CAAC;AAEDlC,QAAQ,CAACmC,WAAW,GAAG,OACrBnB,MAAc,EACdoB,EAAsC,KACpB;EAClB,IAAI,CAAC7B,KAAK,CAACS,MAAM,CAAC,EAAE;IAClB,MAAMrB,KAAK,CAAE,sCAAqCqB,MAAO,EAAC,CAAC;EAC7D;EAEA,IAAIqB,WAAW,GAAG,KAAK;;EAEvB;EACA,MAAMd,OAAO,GAAG,CAACC,KAAa,EAAEC,MAAc,KAAkB;IAC9D,IAAIY,WAAW,EAAE;MACf,MAAM1C,KAAK,CACR,gEAA+DqB,MAAO,EAAC,CACzE;IACH;IACA,OAAOhB,QAAQ,CAACuB,OAAO,CAACP,MAAM,EAAEQ,KAAK,EAAEC,MAAM,CAAC;EAChD,CAAC;EAED,MAAMQ,YAAY,GAAG,CAACT,KAAa,EAAEC,MAA0B,KAAK;IAClE,IAAIY,WAAW,EAAE;MACf,MAAM1C,KAAK,CACR,gEAA+DqB,MAAO,EAAC,CACzE;IACH;IACA,OAAOhB,QAAQ,CAACiC,YAAY,CAACjB,MAAM,EAAEQ,KAAK,EAAEC,MAAM,CAAC;EACrD,CAAC;EAED,MAAMa,MAAM,GAAG,MAAM;IACnB,IAAID,WAAW,EAAE;MACf,MAAM1C,KAAK,CACR,iEAAgEqB,MAAO,EAAC,CAC1E;IACH;IACA,MAAMlB,MAAM,GAAGE,QAAQ,CAACuB,OAAO,CAACP,MAAM,EAAE,QAAQ,CAAC;IACjDqB,WAAW,GAAG,IAAI;IAClB,OAAOvC,MAAM;EACf,CAAC;EAED,MAAMyC,QAAQ,GAAG,MAAM;IACrB,IAAIF,WAAW,EAAE;MACf,MAAM1C,KAAK,CACR,mEAAkEqB,MAAO,EAAC,CAC5E;IACH;IACA,MAAMlB,MAAM,GAAGE,QAAQ,CAACuB,OAAO,CAACP,MAAM,EAAE,UAAU,CAAC;IACnDqB,WAAW,GAAG,IAAI;IAClB,OAAOvC,MAAM;EACf,CAAC;EAED,eAAe0C,GAAG,GAAG;IACnB,IAAI;MACF,MAAMxC,QAAQ,CAACiC,YAAY,CAACjB,MAAM,EAAE,mBAAmB,CAAC;MAExD,MAAMoB,EAAE,CAAC;QACPE,MAAM;QACNf,OAAO;QACPU,YAAY;QACZM;MACF,CAAC,CAAC;MAEF,IAAI,CAACF,WAAW,EAAE;QAChBC,MAAM,EAAE;MACV;IACF,CAAC,CAAC,OAAOG,cAAc,EAAE;MACvB,IAAI,CAACJ,WAAW,EAAE;QAChB,IAAI;UACFE,QAAQ,EAAE;QACZ,CAAC,CAAC,OAAOG,aAAa,EAAE;UACtB,MAAMA,aAAa;QACrB;MACF;MAEA,MAAMD,cAAc;IACtB,CAAC,SAAS;MACRlC,KAAK,CAACS,MAAM,CAAC,CAACG,UAAU,GAAG,KAAK;MAChCkB,WAAW,GAAG,KAAK;MACnBM,oBAAoB,CAAC3B,MAAM,CAAC;IAC9B;EACF;EAEA,OAAO,MAAM,IAAI4B,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC5C,MAAMC,EAAsB,GAAG;MAC7BC,KAAK,EAAE,MAAM;QACXR,GAAG,EAAE,CAACS,IAAI,CAACJ,OAAO,CAAC,CAACK,KAAK,CAACJ,MAAM,CAAC;MACnC;IACF,CAAC;IAEDvC,KAAK,CAACS,MAAM,CAAC,CAACE,KAAK,CAACiC,IAAI,CAACJ,EAAE,CAAC;IAC5BJ,oBAAoB,CAAC3B,MAAM,CAAC;EAC9B,CAAC,CAAC;AACJ,CAAC;AAED,MAAM2B,oBAAoB,GAAI3B,MAAc,IAAK;EAC/C,IAAI,CAACT,KAAK,CAACS,MAAM,CAAC,EAAE;IAClB,MAAMrB,KAAK,CAAE,0BAAyBqB,MAAO,EAAC,CAAC;EACjD;EAEA,IAAIT,KAAK,CAACS,MAAM,CAAC,CAACG,UAAU,EAAE;IAC5B;IACA;EACF;EAEA,IAAIZ,KAAK,CAACS,MAAM,CAAC,CAACE,KAAK,CAACP,MAAM,EAAE;IAC9BJ,KAAK,CAACS,MAAM,CAAC,CAACG,UAAU,GAAG,IAAI;IAC/B,MAAM4B,EAAE,GAAGxC,KAAK,CAACS,MAAM,CAAC,CAACE,KAAK,CAACkC,KAAK,EAAE;IAEtC,IAAI,CAACL,EAAE,EAAE;MACP,MAAM,IAAIpD,KAAK,CAAC,uCAAuC,CAAC;IAC1D;IAEA0D,YAAY,CAAC,MAAM;MACjBN,EAAE,CAACC,KAAK,EAAE;IACZ,CAAC,CAAC;EACJ;AACF,CAAC;AA8BD,OAAO,MAAMjC,IAAI,GAAIuC,OAGpB,IAAyB;EACxBtD,QAAQ,CAACe,IAAI,CAACuC,OAAO,CAACC,IAAI,EAAED,OAAO,CAACrC,QAAQ,CAAC;EAE7C,OAAO;IACLI,KAAK,EAAE,MAAMrB,QAAQ,CAACqB,KAAK,CAACiC,OAAO,CAACC,IAAI,CAAC;IACzCC,MAAM,EAAE,MAAMxD,QAAQ,CAACwD,MAAM,CAACF,OAAO,CAACC,IAAI,EAAED,OAAO,CAACrC,QAAQ,CAAC;IAC7DwC,MAAM,EAAE,CAACC,cAAsB,EAAEC,KAAa,EAAE1C,QAAiB,KAC/DjB,QAAQ,CAACyD,MAAM,CAACH,OAAO,CAACC,IAAI,EAAEG,cAAc,EAAEC,KAAK,EAAE1C,QAAQ,CAAC;IAChE2C,MAAM,EAAGD,KAAa,IAAK3D,QAAQ,CAAC4D,MAAM,CAACN,OAAO,CAACC,IAAI,EAAEI,KAAK,CAAC;IAC/DxB,WAAW,EAAGC,EAAsC,IAClDpC,QAAQ,CAACmC,WAAW,CAACmB,OAAO,CAACC,IAAI,EAAEnB,EAAE,CAAC;IACxCb,OAAO,EAAE,CAACC,KAAa,EAAEC,MAA0B,KACjDzB,QAAQ,CAACuB,OAAO,CAAC+B,OAAO,CAACC,IAAI,EAAE/B,KAAK,EAAEC,MAAM,CAAC;IAC/CQ,YAAY,EAAE,CACZT,KAAa,EACbC,MAA0B,KAE1BzB,QAAQ,CAACiC,YAAY,CAACqB,OAAO,CAACC,IAAI,EAAE/B,KAAK,EAAEC,MAAM,CAAC;IACpDoC,YAAY,EAAGC,QAAyB,IACtC9D,QAAQ,CAAC6D,YAAY,CAACP,OAAO,CAACC,IAAI,EAAEO,QAAQ,CAAC;IAC/CC,iBAAiB,EAAGD,QAAyB,IAC3C9D,QAAQ,CAAC+D,iBAAiB,CAACT,OAAO,CAACC,IAAI,EAAEO,QAAQ,CAAC;IACpDE,QAAQ,EAAG/C,QAAgB,IAAKjB,QAAQ,CAACgE,QAAQ,CAACV,OAAO,CAACC,IAAI,EAAEtC,QAAQ,CAAC;IACzEgD,UAAU,EAAGC,QAAQ,IAAKlE,QAAQ,CAACiE,UAAU,CAACX,OAAO,CAACC,IAAI,EAAEW,QAAQ,CAAC;IACrEC,UAAU,EAAGD,QAAQ,IAAKlE,QAAQ,CAACmE,UAAU,CAACb,OAAO,CAACC,IAAI,EAAEW,QAAQ,CAAC;IACrEE,YAAY,EAAGF,QAAQ,IAAKlE,QAAQ,CAACoE,YAAY,CAACd,OAAO,CAACC,IAAI,EAAEW,QAAQ,CAAC;IACzEG,gBAAgB,EAAG7C,KAAK,IAAKxB,QAAQ,CAACqE,gBAAgB,CAACf,OAAO,CAACC,IAAI,EAAE/B,KAAK,CAAC;IAC3E8C,aAAa,EAAE,CAACC,IAAI,EAAEC,UAAU,KAC9BxE,QAAQ,CAACsE,aAAa,CAAChB,OAAO,CAACC,IAAI,EAAEgB,IAAI,EAAEC,UAAU,CAAC;IACxDC,eAAe,EAAE,CAACjD,KAAK,EAAEC,MAAM,KAC7BzB,QAAQ,CAACyE,eAAe,CAACnB,OAAO,CAACC,IAAI,EAAE/B,KAAK,EAAEC,MAAM;EACxD,CAAC;AACH,CAAC"}
@@ -103,6 +103,8 @@ interface ISQLite {
103
103
  commitHook: (dbName: string, callback?: (() => void) | null) => void;
104
104
  rollbackHook: (dbName: string, callback?: (() => void) | null) => void;
105
105
  prepareStatement: (dbName: string, query: string) => PreparedStatementObj;
106
+ loadExtension: (dbName: string, path: string, entryPoint?: string) => void;
107
+ executeRawAsync: (dbName: string, query: string, params?: any[]) => Promise<any[]>;
106
108
  }
107
109
  export type OPSQLiteConnection = {
108
110
  close: () => void;
@@ -124,6 +126,8 @@ export type OPSQLiteConnection = {
124
126
  commitHook: (callback: (() => void) | null) => void;
125
127
  rollbackHook: (callback: (() => void) | null) => void;
126
128
  prepareStatement: (query: string) => PreparedStatementObj;
129
+ loadExtension: (path: string, entryPoint?: string) => void;
130
+ executeRawAsync: (query: string, params?: any[]) => Promise<any[]>;
127
131
  };
128
132
  export declare const open: (options: {
129
133
  name: 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/op-sqlite.podspec CHANGED
@@ -34,11 +34,13 @@ Pod::Spec.new do |s|
34
34
  end
35
35
 
36
36
  if ENV['OP_SQLITE_USE_PHONE_VERSION'] == '1' then
37
+ puts "OP-SQLITE using iOS embedded SQLite! 📱\n"
37
38
  s.exclude_files = "cpp/sqlite3.c", "cpp/sqlite3.h"
38
39
  s.library = "sqlite3"
39
40
  end
40
41
 
41
42
  if ENV['OP_SQLITE_PERF'] == '1' then
43
+ puts "OP-SQLITE performance mode enabled! 🚀\n"
42
44
  xcconfig[:OTHER_CFLAGS] = '$(inherited) -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS=1 -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_OMIT_DEPRECATED=1 -DSQLITE_OMIT_PROGRESS_CALLBACK=1 -DSQLITE_OMIT_SHARED_CACHE=1 -DSQLITE_USE_ALLOCA=1'
43
45
  end
44
46
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@op-engineering/op-sqlite",
3
- "version": "2.0.13",
3
+ "version": "2.0.15",
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
@@ -193,6 +193,12 @@ interface ISQLite {
193
193
  commitHook: (dbName: string, callback?: (() => void) | null) => void;
194
194
  rollbackHook: (dbName: string, callback?: (() => void) | null) => void;
195
195
  prepareStatement: (dbName: string, query: string) => PreparedStatementObj;
196
+ loadExtension: (dbName: string, path: string, entryPoint?: string) => void;
197
+ executeRawAsync: (
198
+ dbName: string,
199
+ query: string,
200
+ params?: any[]
201
+ ) => Promise<any[]>;
196
202
  }
197
203
 
198
204
  const locks: Record<
@@ -412,6 +418,8 @@ export type OPSQLiteConnection = {
412
418
  commitHook: (callback: (() => void) | null) => void;
413
419
  rollbackHook: (callback: (() => void) | null) => void;
414
420
  prepareStatement: (query: string) => PreparedStatementObj;
421
+ loadExtension: (path: string, entryPoint?: string) => void;
422
+ executeRawAsync: (query: string, params?: any[]) => Promise<any[]>;
415
423
  };
416
424
 
417
425
  export const open = (options: {
@@ -444,5 +452,9 @@ export const open = (options: {
444
452
  commitHook: (callback) => OPSQLite.commitHook(options.name, callback),
445
453
  rollbackHook: (callback) => OPSQLite.rollbackHook(options.name, callback),
446
454
  prepareStatement: (query) => OPSQLite.prepareStatement(options.name, query),
455
+ loadExtension: (path, entryPoint) =>
456
+ OPSQLite.loadExtension(options.name, path, entryPoint),
457
+ executeRawAsync: (query, params) =>
458
+ OPSQLite.executeRawAsync(options.name, query, params),
447
459
  };
448
460
  };