@op-engineering/op-sqlite 11.1.0 → 11.2.1
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 +3 -1
- package/cpp/DBHostObject.cpp +38 -96
- package/cpp/PreparedStatementHostObject.cpp +1 -1
- package/cpp/utils.cpp +15 -57
- package/cpp/utils.h +6 -5
- package/lib/commonjs/index.js +28 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +28 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/index.d.ts +8 -6
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/op-sqlite.podspec +0 -8
- package/package.json +1 -1
- package/src/index.ts +47 -8
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-

|
|
2
2
|
|
|
3
3
|
Created by [@ospfranco](https://twitter.com/ospfranco). **Please consider sponsoring!**.
|
|
4
4
|
|
|
@@ -21,6 +21,8 @@ Some of the big supported features:
|
|
|
21
21
|
- sqlite-vec plugin
|
|
22
22
|
- Reactive queries
|
|
23
23
|
- Custom tokenizers
|
|
24
|
+
- Load runtime extensions
|
|
25
|
+
- JSONB support
|
|
24
26
|
|
|
25
27
|
# License
|
|
26
28
|
|
package/cpp/DBHostObject.cpp
CHANGED
|
@@ -17,12 +17,14 @@ namespace jsi = facebook::jsi;
|
|
|
17
17
|
namespace react = facebook::react;
|
|
18
18
|
|
|
19
19
|
#ifdef OP_SQLITE_USE_LIBSQL
|
|
20
|
-
void DBHostObject::flush_pending_reactive_queries(
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
void DBHostObject::flush_pending_reactive_queries(
|
|
21
|
+
std::shared_ptr<jsi::Value> resolve) {
|
|
22
|
+
invoker->invokeAsync(
|
|
23
|
+
[this, resolve]() { resolve->asObject(rt).asFunction(rt).call(rt, {}); });
|
|
23
24
|
}
|
|
24
25
|
#else
|
|
25
|
-
void DBHostObject::flush_pending_reactive_queries(
|
|
26
|
+
void DBHostObject::flush_pending_reactive_queries(
|
|
27
|
+
std::shared_ptr<jsi::Value> resolve) {
|
|
26
28
|
for (const auto &query_ptr : pending_reactive_queries) {
|
|
27
29
|
auto query = query_ptr.get();
|
|
28
30
|
|
|
@@ -46,14 +48,14 @@ void DBHostObject::flush_pending_reactive_queries(std::shared_ptr<jsi::Value> re
|
|
|
46
48
|
[this,
|
|
47
49
|
results = std::make_shared<std::vector<DumbHostObject>>(results),
|
|
48
50
|
callback = query->callback, metadata, status = std::move(status)] {
|
|
49
|
-
auto jsiResult =
|
|
51
|
+
auto jsiResult = create_result(rt, status, results.get(), metadata);
|
|
50
52
|
callback->asObject(rt).asFunction(rt).call(rt, jsiResult);
|
|
51
53
|
});
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
|
|
57
|
+
pending_reactive_queries.clear();
|
|
58
|
+
|
|
57
59
|
invoker->invokeAsync(
|
|
58
60
|
[this, resolve]() { resolve->asObject(rt).asFunction(rt).call(rt, {}); });
|
|
59
61
|
}
|
|
@@ -365,6 +367,26 @@ void DBHostObject::create_jsi_functions() {
|
|
|
365
367
|
return promise;
|
|
366
368
|
});
|
|
367
369
|
|
|
370
|
+
auto execute_sync = HOSTFN("executeSync") {
|
|
371
|
+
|
|
372
|
+
std::string query = args[0].asString(rt).utf8(rt);
|
|
373
|
+
std::vector<JSVariant> params;
|
|
374
|
+
|
|
375
|
+
if (count == 2) {
|
|
376
|
+
params = to_variant_vec(rt, args[1]);
|
|
377
|
+
}
|
|
378
|
+
#ifdef OP_SQLITE_USE_LIBSQL
|
|
379
|
+
auto status = opsqlite_libsql_execute(db_name, query, ¶ms);
|
|
380
|
+
#else
|
|
381
|
+
auto status = opsqlite_execute(db_name, query, ¶ms);
|
|
382
|
+
#endif
|
|
383
|
+
|
|
384
|
+
if (status.type != SQLiteOk) {
|
|
385
|
+
throw std::runtime_error(status.message);
|
|
386
|
+
}
|
|
387
|
+
return create_js_rows(rt, status);
|
|
388
|
+
});
|
|
389
|
+
|
|
368
390
|
auto execute = HOSTFN("execute") {
|
|
369
391
|
std::string query = args[0].asString(rt).utf8(rt);
|
|
370
392
|
std::vector<JSVariant> params;
|
|
@@ -464,7 +486,7 @@ void DBHostObject::create_jsi_functions() {
|
|
|
464
486
|
metadata, status = std::move(status), resolve, reject] {
|
|
465
487
|
if (status.type == SQLiteOk) {
|
|
466
488
|
auto jsiResult =
|
|
467
|
-
|
|
489
|
+
create_result(rt, status, results.get(), metadata);
|
|
468
490
|
resolve->asObject(rt).asFunction(rt).call(
|
|
469
491
|
rt, std::move(jsiResult));
|
|
470
492
|
} else {
|
|
@@ -835,6 +857,7 @@ void DBHostObject::create_jsi_functions() {
|
|
|
835
857
|
function_map["detach"] = std::move(detach);
|
|
836
858
|
function_map["close"] = std::move(close);
|
|
837
859
|
function_map["execute"] = std::move(execute);
|
|
860
|
+
function_map["executeSync"] = std::move(execute_sync);
|
|
838
861
|
function_map["executeRaw"] = std::move(execute_raw);
|
|
839
862
|
function_map["executeWithHostObjects"] = std::move(execute_with_host_objects);
|
|
840
863
|
function_map["delete"] = std::move(remove);
|
|
@@ -863,97 +886,16 @@ std::vector<jsi::PropNameID> DBHostObject::getPropertyNames(jsi::Runtime &rt) {
|
|
|
863
886
|
|
|
864
887
|
jsi::Value DBHostObject::get(jsi::Runtime &rt,
|
|
865
888
|
const jsi::PropNameID &propNameID) {
|
|
866
|
-
|
|
867
889
|
auto name = propNameID.utf8(rt);
|
|
868
|
-
if (name
|
|
869
|
-
return
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
}
|
|
874
|
-
if (name == "attach") {
|
|
875
|
-
return jsi::Value(rt, function_map["attach"]);
|
|
876
|
-
}
|
|
877
|
-
if (name == "detach") {
|
|
878
|
-
return jsi::Value(rt, function_map["detach"]);
|
|
879
|
-
}
|
|
880
|
-
if (name == "close") {
|
|
881
|
-
return jsi::Value(rt, function_map["close"]);
|
|
882
|
-
}
|
|
883
|
-
if (name == "executeRaw") {
|
|
884
|
-
return jsi::Value(rt, function_map["executeRaw"]);
|
|
885
|
-
}
|
|
886
|
-
if (name == "executeWithHostObjects") {
|
|
887
|
-
return jsi::Value(rt, function_map["executeWithHostObjects"]);
|
|
888
|
-
}
|
|
889
|
-
if (name == "delete") {
|
|
890
|
-
return jsi::Value(rt, function_map["delete"]);
|
|
891
|
-
}
|
|
892
|
-
if (name == "executeBatch") {
|
|
893
|
-
return jsi::Value(rt, function_map["executeBatch"]);
|
|
894
|
-
}
|
|
895
|
-
if (name == "prepareStatement") {
|
|
896
|
-
return jsi::Value(rt, function_map["prepareStatement"]);
|
|
897
|
-
}
|
|
898
|
-
if (name == "getDbPath") {
|
|
899
|
-
return jsi::Value(rt, function_map["getDbPath"]);
|
|
900
|
-
}
|
|
901
|
-
if (name == "sync") {
|
|
902
|
-
return jsi::Value(rt, function_map["sync"]);
|
|
903
|
-
}
|
|
904
|
-
#ifdef OP_SQLITE_USE_LIBSQL
|
|
905
|
-
if (name == "loadFile") {
|
|
906
|
-
return HOSTFN("loadFile") {
|
|
907
|
-
throw std::runtime_error("[op-sqlite] Load file not implemented");
|
|
908
|
-
});
|
|
909
|
-
}
|
|
910
|
-
if (name == "updateHook") {
|
|
911
|
-
return HOSTFN("updateHook") {
|
|
912
|
-
throw std::runtime_error("[op-sqlite] Hooks not supported in libsql");
|
|
913
|
-
});
|
|
914
|
-
}
|
|
915
|
-
if (name == "commitHook") {
|
|
916
|
-
return HOSTFN("commitHook") {
|
|
917
|
-
throw std::runtime_error("[op-sqlite] Hooks not supported in libsql");
|
|
918
|
-
});
|
|
919
|
-
}
|
|
920
|
-
if (name == "rollbackHook") {
|
|
921
|
-
return HOSTFN("rollbackHook") {
|
|
922
|
-
throw std::runtime_error("[op-sqlite] Hooks not supported in libsql");
|
|
923
|
-
});
|
|
924
|
-
}
|
|
925
|
-
if (name == "loadExtension") {
|
|
926
|
-
return HOSTFN("loadExtension") {
|
|
927
|
-
throw std::runtime_error("[op-sqlite] Hooks not supported in libsql");
|
|
928
|
-
});
|
|
929
|
-
}
|
|
930
|
-
if (name == "reactiveExecute") {
|
|
931
|
-
return HOSTFN("reactiveExecute") {
|
|
932
|
-
throw std::runtime_error("[op-sqlite] Hooks not supported in libsql");
|
|
890
|
+
if (function_map.count(name) != 1) {
|
|
891
|
+
return HOSTFN(name.c_str()) {
|
|
892
|
+
throw std::runtime_error(
|
|
893
|
+
"[op-sqlite] Function " + name +
|
|
894
|
+
" not implemented for current backend (libsql or sqlcipher)");
|
|
933
895
|
});
|
|
934
896
|
}
|
|
935
|
-
#else
|
|
936
|
-
if (name == "loadFile") {
|
|
937
|
-
return jsi::Value(rt, function_map["loadFile"]);
|
|
938
|
-
}
|
|
939
|
-
if (name == "updateHook") {
|
|
940
|
-
return jsi::Value(rt, function_map["updateHook"]);
|
|
941
|
-
}
|
|
942
|
-
if (name == "commitHook") {
|
|
943
|
-
return jsi::Value(rt, function_map["commitHook"]);
|
|
944
|
-
}
|
|
945
|
-
if (name == "rollbackHook") {
|
|
946
|
-
return jsi::Value(rt, function_map["rollbackHook"]);
|
|
947
|
-
}
|
|
948
|
-
if (name == "loadExtension") {
|
|
949
|
-
return jsi::Value(rt, function_map["loadExtension"]);
|
|
950
|
-
}
|
|
951
|
-
if (name == "reactiveExecute") {
|
|
952
|
-
return jsi::Value(rt, function_map["reactiveExecute"]);
|
|
953
|
-
}
|
|
954
|
-
#endif
|
|
955
897
|
|
|
956
|
-
return
|
|
898
|
+
return jsi::Value(rt, function_map[name]);
|
|
957
899
|
}
|
|
958
900
|
|
|
959
901
|
void DBHostObject::set(jsi::Runtime &rt, const jsi::PropNameID &name,
|
|
@@ -69,7 +69,7 @@ jsi::Value PreparedStatementHostObject::get(jsi::Runtime &rt,
|
|
|
69
69
|
metadata, resolve, reject] {
|
|
70
70
|
if (status.type == SQLiteOk) {
|
|
71
71
|
auto jsiResult =
|
|
72
|
-
|
|
72
|
+
create_result(rt, status, results.get(), metadata);
|
|
73
73
|
resolve->asObject(rt).asFunction(rt).call(
|
|
74
74
|
rt, std::move(jsiResult));
|
|
75
75
|
} else {
|
package/cpp/utils.cpp
CHANGED
|
@@ -63,9 +63,7 @@ JSVariant toVariant(jsi::Runtime &rt, const jsi::Value &value) {
|
|
|
63
63
|
|
|
64
64
|
if (!obj.isArrayBuffer(rt)) {
|
|
65
65
|
throw std::invalid_argument(
|
|
66
|
-
"
|
|
67
|
-
"store any object, only scalar "
|
|
68
|
-
"properties (int, long, double, string, bool) and ArrayBuffers.");
|
|
66
|
+
"Object is not an ArrayBuffer, cannot bind to SQLite");
|
|
69
67
|
}
|
|
70
68
|
|
|
71
69
|
auto buffer = obj.getArrayBuffer(rt);
|
|
@@ -86,7 +84,7 @@ std::vector<std::string> to_string_vec(jsi::Runtime &rt, jsi::Value const &xs) {
|
|
|
86
84
|
std::vector<std::string> res;
|
|
87
85
|
for (int ii = 0; ii < values.length(rt); ii++) {
|
|
88
86
|
std::string value = values.getValueAtIndex(rt, ii).asString(rt).utf8(rt);
|
|
89
|
-
res.
|
|
87
|
+
res.emplace_back(value);
|
|
90
88
|
}
|
|
91
89
|
return res;
|
|
92
90
|
}
|
|
@@ -96,7 +94,7 @@ std::vector<int> to_int_vec(jsi::Runtime &rt, jsi::Value const &xs) {
|
|
|
96
94
|
std::vector<int> res;
|
|
97
95
|
for (int ii = 0; ii < values.length(rt); ii++) {
|
|
98
96
|
int value = static_cast<int>(values.getValueAtIndex(rt, ii).asNumber());
|
|
99
|
-
res.
|
|
97
|
+
res.emplace_back(value);
|
|
100
98
|
}
|
|
101
99
|
return res;
|
|
102
100
|
}
|
|
@@ -112,47 +110,7 @@ std::vector<JSVariant> to_variant_vec(jsi::Runtime &rt, jsi::Value const &xs) {
|
|
|
112
110
|
|
|
113
111
|
for (int ii = 0; ii < values.length(rt); ii++) {
|
|
114
112
|
jsi::Value value = values.getValueAtIndex(rt, ii);
|
|
115
|
-
|
|
116
|
-
if (value.isNull() || value.isUndefined()) {
|
|
117
|
-
res.push_back(JSVariant(nullptr));
|
|
118
|
-
} else if (value.isBool()) {
|
|
119
|
-
res.push_back(JSVariant(value.getBool()));
|
|
120
|
-
} else if (value.isNumber()) {
|
|
121
|
-
double doubleVal = value.asNumber();
|
|
122
|
-
int intVal = (int)doubleVal;
|
|
123
|
-
long long longVal = (long)doubleVal;
|
|
124
|
-
if (intVal == doubleVal) {
|
|
125
|
-
res.push_back(JSVariant(intVal));
|
|
126
|
-
} else if (longVal == doubleVal) {
|
|
127
|
-
res.push_back(JSVariant(longVal));
|
|
128
|
-
} else {
|
|
129
|
-
res.push_back(JSVariant(doubleVal));
|
|
130
|
-
}
|
|
131
|
-
} else if (value.isString()) {
|
|
132
|
-
std::string strVal = value.asString(rt).utf8(rt);
|
|
133
|
-
res.push_back(JSVariant(strVal));
|
|
134
|
-
} else if (value.isObject()) {
|
|
135
|
-
auto obj = value.asObject(rt);
|
|
136
|
-
if (obj.isArrayBuffer(rt)) {
|
|
137
|
-
auto buffer = obj.getArrayBuffer(rt);
|
|
138
|
-
size_t size = buffer.size(rt);
|
|
139
|
-
uint8_t *data = new uint8_t[size];
|
|
140
|
-
// You cannot share raw memory between native and JS
|
|
141
|
-
// always copy the data
|
|
142
|
-
// see https://github.com/facebook/hermes/pull/419 and
|
|
143
|
-
// https://github.com/facebook/hermes/issues/564.
|
|
144
|
-
memcpy(data, buffer.data(rt), size);
|
|
145
|
-
|
|
146
|
-
res.push_back(JSVariant(ArrayBuffer{
|
|
147
|
-
.data = std::shared_ptr<uint8_t>{data}, .size = buffer.size(rt)}));
|
|
148
|
-
} else {
|
|
149
|
-
throw std::invalid_argument(
|
|
150
|
-
"Unknown JSI ArrayBuffer to variant value conversion, received "
|
|
151
|
-
"object instead of ArrayBuffer");
|
|
152
|
-
}
|
|
153
|
-
} else {
|
|
154
|
-
throw std::invalid_argument("Unknown JSI to variant value conversion");
|
|
155
|
-
}
|
|
113
|
+
res.emplace_back(toVariant(rt, value));
|
|
156
114
|
}
|
|
157
115
|
|
|
158
116
|
return res;
|
|
@@ -197,9 +155,9 @@ jsi::Value create_js_rows(jsi::Runtime &rt, const BridgeResult &status) {
|
|
|
197
155
|
}
|
|
198
156
|
|
|
199
157
|
jsi::Value
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
158
|
+
create_result(jsi::Runtime &rt, BridgeResult status,
|
|
159
|
+
std::vector<DumbHostObject> *results,
|
|
160
|
+
std::shared_ptr<std::vector<SmartHostObject>> metadata) {
|
|
203
161
|
jsi::Object res = jsi::Object(rt);
|
|
204
162
|
|
|
205
163
|
res.setProperty(rt, "rowsAffected", status.affectedRows);
|
|
@@ -341,14 +299,14 @@ int mkdir(std::string const &path) {
|
|
|
341
299
|
return 0;
|
|
342
300
|
}
|
|
343
301
|
|
|
344
|
-
std::vector<std::string> parse_string_list(const std::string&
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
302
|
+
std::vector<std::string> parse_string_list(const std::string &str) {
|
|
303
|
+
std::vector<std::string> result;
|
|
304
|
+
std::istringstream stream(str);
|
|
305
|
+
std::string token;
|
|
306
|
+
while (std::getline(stream, token, ',')) {
|
|
307
|
+
result.emplace_back(token);
|
|
308
|
+
}
|
|
309
|
+
return result;
|
|
352
310
|
}
|
|
353
311
|
|
|
354
312
|
} // namespace opsqlite
|
package/cpp/utils.h
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
#include <jsi/jsi.h>
|
|
9
9
|
#include <jsi/jsilib.h>
|
|
10
10
|
#include <map>
|
|
11
|
-
#include <vector>
|
|
12
11
|
#include <string>
|
|
12
|
+
#include <vector>
|
|
13
13
|
|
|
14
14
|
namespace opsqlite {
|
|
15
15
|
|
|
@@ -25,9 +25,10 @@ std::vector<JSVariant> to_variant_vec(jsi::Runtime &rt, jsi::Value const &xs);
|
|
|
25
25
|
|
|
26
26
|
std::vector<int> to_int_vec(jsi::Runtime &rt, jsi::Value const &xs);
|
|
27
27
|
|
|
28
|
-
jsi::Value
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
jsi::Value
|
|
29
|
+
create_result(jsi::Runtime &rt, BridgeResult status,
|
|
30
|
+
std::vector<DumbHostObject> *results,
|
|
31
|
+
std::shared_ptr<std::vector<SmartHostObject>> metadata);
|
|
31
32
|
|
|
32
33
|
jsi::Value create_js_rows(jsi::Runtime &rt, const BridgeResult &status);
|
|
33
34
|
|
|
@@ -46,7 +47,7 @@ bool folder_exists(const std::string &foldername);
|
|
|
46
47
|
|
|
47
48
|
bool file_exists(const std::string &path);
|
|
48
49
|
|
|
49
|
-
std::vector<std::string> parse_string_list(const std::string&
|
|
50
|
+
std::vector<std::string> parse_string_list(const std::string &str);
|
|
50
51
|
|
|
51
52
|
} // namespace opsqlite
|
|
52
53
|
|
package/lib/commonjs/index.js
CHANGED
|
@@ -125,6 +125,32 @@ function enhanceDB(db, options) {
|
|
|
125
125
|
const result = await db.executeWithHostObjects(query, sanitizedParams);
|
|
126
126
|
return result;
|
|
127
127
|
},
|
|
128
|
+
executeSync: (query, params) => {
|
|
129
|
+
const sanitizedParams = params?.map(p => {
|
|
130
|
+
if (ArrayBuffer.isView(p)) {
|
|
131
|
+
return p.buffer;
|
|
132
|
+
}
|
|
133
|
+
return p;
|
|
134
|
+
});
|
|
135
|
+
let intermediateResult = db.executeSync(query, sanitizedParams);
|
|
136
|
+
let rows = [];
|
|
137
|
+
for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
|
|
138
|
+
let row = {};
|
|
139
|
+
let rawRow = intermediateResult.rawRows[i];
|
|
140
|
+
for (let j = 0; j < intermediateResult.columnNames.length; j++) {
|
|
141
|
+
let columnName = intermediateResult.columnNames[j];
|
|
142
|
+
let value = rawRow[j];
|
|
143
|
+
row[columnName] = value;
|
|
144
|
+
}
|
|
145
|
+
rows.push(row);
|
|
146
|
+
}
|
|
147
|
+
let res = {
|
|
148
|
+
...intermediateResult,
|
|
149
|
+
rows
|
|
150
|
+
};
|
|
151
|
+
delete res.rawRows;
|
|
152
|
+
return res;
|
|
153
|
+
},
|
|
128
154
|
execute: async (query, params) => {
|
|
129
155
|
const sanitizedParams = params?.map(p => {
|
|
130
156
|
if (ArrayBuffer.isView(p)) {
|
|
@@ -136,9 +162,10 @@ function enhanceDB(db, options) {
|
|
|
136
162
|
let rows = [];
|
|
137
163
|
for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
|
|
138
164
|
let row = {};
|
|
165
|
+
let rawRow = intermediateResult.rawRows[i];
|
|
139
166
|
for (let j = 0; j < intermediateResult.columnNames.length; j++) {
|
|
140
167
|
let columnName = intermediateResult.columnNames[j];
|
|
141
|
-
let value =
|
|
168
|
+
let value = rawRow[j];
|
|
142
169
|
row[columnName] = value;
|
|
143
170
|
}
|
|
144
171
|
rows.push(row);
|
|
@@ -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","enhanceDB","db","options","lock","queue","inProgress","startNextTransaction","length","tx","shift","setImmediate","start","enhancedDb","delete","attach","detach","executeBatch","loadFile","updateHook","commitHook","rollbackHook","loadExtension","executeRaw","getDbPath","reactiveExecute","sync","flushPendingReactiveQueries","close","url","executeWithHostObjects","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","
|
|
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","enhanceDB","db","options","lock","queue","inProgress","startNextTransaction","length","tx","shift","setImmediate","start","enhancedDb","delete","attach","detach","executeBatch","loadFile","updateHook","commitHook","rollbackHook","loadExtension","executeRaw","getDbPath","reactiveExecute","sync","flushPendingReactiveQueries","close","url","executeWithHostObjects","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","executeSync","intermediateResult","rows","i","rawRows","row","rawRow","j","columnNames","columnName","value","push","res","execute","prepareStatement","stmt","bind","transaction","fn","isFinalized","commit","rollback","run","executionError","rollbackError","Promise","resolve","reject","then","catch","openSync","isLibsql","openRemote","open","moveAssetsDatabase","args","getDylibPath","bundle","name","isSQLCipher"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -115,6 +115,32 @@ function enhanceDB(db, options) {
|
|
|
115
115
|
const result = await db.executeWithHostObjects(query, sanitizedParams);
|
|
116
116
|
return result;
|
|
117
117
|
},
|
|
118
|
+
executeSync: (query, params) => {
|
|
119
|
+
const sanitizedParams = params?.map(p => {
|
|
120
|
+
if (ArrayBuffer.isView(p)) {
|
|
121
|
+
return p.buffer;
|
|
122
|
+
}
|
|
123
|
+
return p;
|
|
124
|
+
});
|
|
125
|
+
let intermediateResult = db.executeSync(query, sanitizedParams);
|
|
126
|
+
let rows = [];
|
|
127
|
+
for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
|
|
128
|
+
let row = {};
|
|
129
|
+
let rawRow = intermediateResult.rawRows[i];
|
|
130
|
+
for (let j = 0; j < intermediateResult.columnNames.length; j++) {
|
|
131
|
+
let columnName = intermediateResult.columnNames[j];
|
|
132
|
+
let value = rawRow[j];
|
|
133
|
+
row[columnName] = value;
|
|
134
|
+
}
|
|
135
|
+
rows.push(row);
|
|
136
|
+
}
|
|
137
|
+
let res = {
|
|
138
|
+
...intermediateResult,
|
|
139
|
+
rows
|
|
140
|
+
};
|
|
141
|
+
delete res.rawRows;
|
|
142
|
+
return res;
|
|
143
|
+
},
|
|
118
144
|
execute: async (query, params) => {
|
|
119
145
|
const sanitizedParams = params?.map(p => {
|
|
120
146
|
if (ArrayBuffer.isView(p)) {
|
|
@@ -126,9 +152,10 @@ function enhanceDB(db, options) {
|
|
|
126
152
|
let rows = [];
|
|
127
153
|
for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
|
|
128
154
|
let row = {};
|
|
155
|
+
let rawRow = intermediateResult.rawRows[i];
|
|
129
156
|
for (let j = 0; j < intermediateResult.columnNames.length; j++) {
|
|
130
157
|
let columnName = intermediateResult.columnNames[j];
|
|
131
|
-
let value =
|
|
158
|
+
let value = rawRow[j];
|
|
132
159
|
row[columnName] = value;
|
|
133
160
|
}
|
|
134
161
|
rows.push(row);
|
package/lib/module/index.js.map
CHANGED
|
@@ -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","enhanceDB","db","options","lock","queue","inProgress","startNextTransaction","length","tx","shift","setImmediate","start","enhancedDb","delete","attach","detach","executeBatch","loadFile","updateHook","commitHook","rollbackHook","loadExtension","executeRaw","getDbPath","reactiveExecute","sync","flushPendingReactiveQueries","close","url","executeWithHostObjects","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","
|
|
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","enhanceDB","db","options","lock","queue","inProgress","startNextTransaction","length","tx","shift","setImmediate","start","enhancedDb","delete","attach","detach","executeBatch","loadFile","updateHook","commitHook","rollbackHook","loadExtension","executeRaw","getDbPath","reactiveExecute","sync","flushPendingReactiveQueries","close","url","executeWithHostObjects","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","executeSync","intermediateResult","rows","i","rawRows","row","rawRow","j","columnNames","columnName","value","push","res","execute","prepareStatement","stmt","bind","transaction","fn","isFinalized","commit","rollback","run","executionError","rollbackError","Promise","resolve","reject","then","catch","openSync","isLibsql","openRemote","open","moveAssetsDatabase","args","getDylibPath","bundle","name","isSQLCipher"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ declare global {
|
|
|
4
4
|
}
|
|
5
5
|
export declare const OPSQLite: OPSQLiteProxy;
|
|
6
6
|
export declare const IOS_DOCUMENT_PATH: any, IOS_LIBRARY_PATH: any, ANDROID_DATABASE_PATH: any, ANDROID_FILES_PATH: any, ANDROID_EXTERNAL_FILES_PATH: any;
|
|
7
|
+
type Scalar = string | number | boolean | null | ArrayBuffer | ArrayBufferView;
|
|
7
8
|
/**
|
|
8
9
|
* Object returned by SQL Query executions {
|
|
9
10
|
* insertId: Represent the auto-generated row id if applicable
|
|
@@ -18,8 +19,8 @@ export type QueryResult = {
|
|
|
18
19
|
insertId?: number;
|
|
19
20
|
rowsAffected: number;
|
|
20
21
|
res?: any[];
|
|
21
|
-
rows: Array<Record<string,
|
|
22
|
-
rawRows?:
|
|
22
|
+
rows: Array<Record<string, Scalar>>;
|
|
23
|
+
rawRows?: Scalar[][];
|
|
23
24
|
columnNames?: string[];
|
|
24
25
|
/**
|
|
25
26
|
* Query metadata, available only for select query results
|
|
@@ -64,7 +65,7 @@ export interface FileLoadResult extends BatchQueryResult {
|
|
|
64
65
|
}
|
|
65
66
|
export interface Transaction {
|
|
66
67
|
commit: () => Promise<QueryResult>;
|
|
67
|
-
execute: (query: string, params?:
|
|
68
|
+
execute: (query: string, params?: Scalar[]) => Promise<QueryResult>;
|
|
68
69
|
rollback: () => Promise<QueryResult>;
|
|
69
70
|
}
|
|
70
71
|
export interface PendingTransaction {
|
|
@@ -80,8 +81,9 @@ export type DB = {
|
|
|
80
81
|
attach: (mainDbName: string, dbNameToAttach: string, alias: string, location?: string) => void;
|
|
81
82
|
detach: (mainDbName: string, alias: string) => void;
|
|
82
83
|
transaction: (fn: (tx: Transaction) => Promise<void>) => Promise<void>;
|
|
83
|
-
|
|
84
|
-
|
|
84
|
+
executeSync: (query: string, params?: Scalar[]) => QueryResult;
|
|
85
|
+
execute: (query: string, params?: Scalar[]) => Promise<QueryResult>;
|
|
86
|
+
executeWithHostObjects: (query: string, params?: Scalar[]) => Promise<QueryResult>;
|
|
85
87
|
executeBatch: (commands: SQLBatchTuple[]) => Promise<BatchQueryResult>;
|
|
86
88
|
loadFile: (location: string) => Promise<FileLoadResult>;
|
|
87
89
|
updateHook: (callback?: ((params: {
|
|
@@ -94,7 +96,7 @@ export type DB = {
|
|
|
94
96
|
rollbackHook: (callback?: (() => void) | null) => void;
|
|
95
97
|
prepareStatement: (query: string) => PreparedStatementObj;
|
|
96
98
|
loadExtension: (path: string, entryPoint?: string) => void;
|
|
97
|
-
executeRaw: (query: string, params?:
|
|
99
|
+
executeRaw: (query: string, params?: Scalar[]) => Promise<any[]>;
|
|
98
100
|
getDbPath: (location?: string) => string;
|
|
99
101
|
reactiveExecute: (params: {
|
|
100
102
|
query: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,CAAC;IACb,SAAS,kBAAkB,IAAI,OAAO,CAAC;IACvC,IAAI,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AA8BD,eAAO,MAAM,QAAQ,eAAyB,CAAC;AAE/C,eAAO,MACL,iBAAiB,OACjB,gBAAgB,OAChB,qBAAqB,OACrB,kBAAkB,OAClB,2BAA2B,KAGH,CAAC;AAE3B;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
package/op-sqlite.podspec
CHANGED
|
@@ -87,20 +87,12 @@ Pod::Spec.new do |s|
|
|
|
87
87
|
else
|
|
88
88
|
c_sources_dir = File.join("example", "c_sources")
|
|
89
89
|
end
|
|
90
|
-
|
|
91
90
|
|
|
92
91
|
if tokenizers.any?
|
|
93
92
|
generate_tokenizers_header_file(tokenizers, File.join(c_sources_dir, "tokenizers.h"))
|
|
94
93
|
FileUtils.cp_r(c_sources_dir, __dir__)
|
|
95
|
-
# puts "Current directory: #{__dir__}"
|
|
96
|
-
# c_sources_dir_output = Dir.glob(File.join(c_sources_dir, "**/*.{h,cpp}"))
|
|
97
|
-
|
|
98
|
-
# puts "c_sources_dir: #{c_sources_dir_output}"
|
|
99
|
-
|
|
100
94
|
# # Add all .h and .c files from the `c_sources` directory
|
|
101
95
|
source_files += Dir.glob(File.join("c_sources", "**/*.{h,cpp}"))
|
|
102
|
-
# source_files += ["../../c_sources/tokenizers.h", "../../c_sources/tokenizers.cpp"]
|
|
103
|
-
# puts "Source files: #{source_files}"
|
|
104
96
|
end
|
|
105
97
|
|
|
106
98
|
# Assign the collected source files to `s.source_files`
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -45,6 +45,8 @@ export const {
|
|
|
45
45
|
? NativeModules.OPSQLite.getConstants()
|
|
46
46
|
: NativeModules.OPSQLite;
|
|
47
47
|
|
|
48
|
+
type Scalar = string | number | boolean | null | ArrayBuffer | ArrayBufferView;
|
|
49
|
+
|
|
48
50
|
/**
|
|
49
51
|
* Object returned by SQL Query executions {
|
|
50
52
|
* insertId: Represent the auto-generated row id if applicable
|
|
@@ -59,9 +61,9 @@ export type QueryResult = {
|
|
|
59
61
|
insertId?: number;
|
|
60
62
|
rowsAffected: number;
|
|
61
63
|
res?: any[];
|
|
62
|
-
rows: Array<Record<string,
|
|
64
|
+
rows: Array<Record<string, Scalar>>;
|
|
63
65
|
// An array of intermediate results, just values without column names
|
|
64
|
-
rawRows?:
|
|
66
|
+
rawRows?: Scalar[][];
|
|
65
67
|
columnNames?: string[];
|
|
66
68
|
/**
|
|
67
69
|
* Query metadata, available only for select query results
|
|
@@ -112,7 +114,7 @@ export interface FileLoadResult extends BatchQueryResult {
|
|
|
112
114
|
|
|
113
115
|
export interface Transaction {
|
|
114
116
|
commit: () => Promise<QueryResult>;
|
|
115
|
-
execute: (query: string, params?:
|
|
117
|
+
execute: (query: string, params?: Scalar[]) => Promise<QueryResult>;
|
|
116
118
|
rollback: () => Promise<QueryResult>;
|
|
117
119
|
}
|
|
118
120
|
|
|
@@ -145,10 +147,11 @@ export type DB = {
|
|
|
145
147
|
) => void;
|
|
146
148
|
detach: (mainDbName: string, alias: string) => void;
|
|
147
149
|
transaction: (fn: (tx: Transaction) => Promise<void>) => Promise<void>;
|
|
148
|
-
|
|
150
|
+
executeSync: (query: string, params?: Scalar[]) => QueryResult;
|
|
151
|
+
execute: (query: string, params?: Scalar[]) => Promise<QueryResult>;
|
|
149
152
|
executeWithHostObjects: (
|
|
150
153
|
query: string,
|
|
151
|
-
params?:
|
|
154
|
+
params?: Scalar[]
|
|
152
155
|
) => Promise<QueryResult>;
|
|
153
156
|
executeBatch: (commands: SQLBatchTuple[]) => Promise<BatchQueryResult>;
|
|
154
157
|
loadFile: (location: string) => Promise<FileLoadResult>;
|
|
@@ -166,7 +169,7 @@ export type DB = {
|
|
|
166
169
|
rollbackHook: (callback?: (() => void) | null) => void;
|
|
167
170
|
prepareStatement: (query: string) => PreparedStatementObj;
|
|
168
171
|
loadExtension: (path: string, entryPoint?: string) => void;
|
|
169
|
-
executeRaw: (query: string, params?:
|
|
172
|
+
executeRaw: (query: string, params?: Scalar[]) => Promise<any[]>;
|
|
170
173
|
getDbPath: (location?: string) => string;
|
|
171
174
|
reactiveExecute: (params: {
|
|
172
175
|
query: string;
|
|
@@ -273,9 +276,44 @@ function enhanceDB(db: DB, options: any): DB {
|
|
|
273
276
|
|
|
274
277
|
return result;
|
|
275
278
|
},
|
|
279
|
+
executeSync: (
|
|
280
|
+
query: string,
|
|
281
|
+
params?: Scalar[] | undefined
|
|
282
|
+
): QueryResult => {
|
|
283
|
+
const sanitizedParams = params?.map((p) => {
|
|
284
|
+
if (ArrayBuffer.isView(p)) {
|
|
285
|
+
return p.buffer;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
return p;
|
|
289
|
+
});
|
|
290
|
+
|
|
291
|
+
let intermediateResult = db.executeSync(query, sanitizedParams);
|
|
292
|
+
let rows: any[] = [];
|
|
293
|
+
for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
|
|
294
|
+
let row: Record<string, Scalar> = {};
|
|
295
|
+
let rawRow = intermediateResult.rawRows![i]!;
|
|
296
|
+
for (let j = 0; j < intermediateResult.columnNames!.length; j++) {
|
|
297
|
+
let columnName = intermediateResult.columnNames![j]!;
|
|
298
|
+
let value = rawRow[j]!;
|
|
299
|
+
|
|
300
|
+
row[columnName] = value;
|
|
301
|
+
}
|
|
302
|
+
rows.push(row);
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
let res = {
|
|
306
|
+
...intermediateResult,
|
|
307
|
+
rows,
|
|
308
|
+
};
|
|
309
|
+
|
|
310
|
+
delete res.rawRows;
|
|
311
|
+
|
|
312
|
+
return res;
|
|
313
|
+
},
|
|
276
314
|
execute: async (
|
|
277
315
|
query: string,
|
|
278
|
-
params?:
|
|
316
|
+
params?: Scalar[] | undefined
|
|
279
317
|
): Promise<QueryResult> => {
|
|
280
318
|
const sanitizedParams = params?.map((p) => {
|
|
281
319
|
if (ArrayBuffer.isView(p)) {
|
|
@@ -290,9 +328,10 @@ function enhanceDB(db: DB, options: any): DB {
|
|
|
290
328
|
let rows: any[] = [];
|
|
291
329
|
for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
|
|
292
330
|
let row: any = {};
|
|
331
|
+
let rawRow = intermediateResult.rawRows![i]!;
|
|
293
332
|
for (let j = 0; j < intermediateResult.columnNames!.length; j++) {
|
|
294
333
|
let columnName = intermediateResult.columnNames![j]!;
|
|
295
|
-
let value =
|
|
334
|
+
let value = rawRow[j]!;
|
|
296
335
|
|
|
297
336
|
row[columnName] = value;
|
|
298
337
|
}
|