@op-engineering/op-sqlite 8.0.2 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +1 -7
- package/android/src/main/jniLibs/arm64-v8a/libsqlite_vec.so +0 -0
- package/android/src/main/jniLibs/armeabi-v7a/libsqlite_vec.so +0 -0
- package/android/src/main/jniLibs/x86/libsqlite_vec.so +0 -0
- package/android/src/main/jniLibs/x86_64/libsqlite_vec.so +0 -0
- package/cpp/bridge.cpp +27 -20
- package/cpp/libsql/bridge.cpp +4 -3
- package/ios/sqlitevec.xcframework/ios-arm64/sqlitevec.framework/sqlitevec +0 -0
- package/ios/sqlitevec.xcframework/ios-arm64_x86_64-simulator/sqlitevec.framework/sqlitevec +0 -0
- package/lib/commonjs/index.js +10 -42
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +10 -42
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -11
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/op-sqlite.podspec +1 -1
- package/package.json +1 -1
- package/src/index.ts +14 -59
package/android/build.gradle
CHANGED
|
@@ -88,11 +88,6 @@ def safeExtGet(prop, fallback) {
|
|
|
88
88
|
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
def reactNativeArchitectures() {
|
|
92
|
-
def value = project.getProperties().get("reactNativeArchitectures")
|
|
93
|
-
return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
|
|
94
|
-
}
|
|
95
|
-
|
|
96
91
|
def getExtOrDefault(name) {
|
|
97
92
|
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["OPSQLite" + name]
|
|
98
93
|
}
|
|
@@ -116,7 +111,7 @@ android {
|
|
|
116
111
|
}
|
|
117
112
|
|
|
118
113
|
defaultConfig {
|
|
119
|
-
minSdkVersion 23
|
|
114
|
+
minSdkVersion safeExtGet("minSdkVersion", 23)
|
|
120
115
|
targetSdkVersion safeExtGet('targetSdkVersion', 34)
|
|
121
116
|
versionCode 1
|
|
122
117
|
versionName "1.0"
|
|
@@ -157,7 +152,6 @@ android {
|
|
|
157
152
|
"-DUSE_CRSQLITE=${useCRSQLite ? 1 : 0}",
|
|
158
153
|
"-DUSE_LIBSQL=${useLibsql ? 1 : 0}",
|
|
159
154
|
"-DUSE_SQLITE_VEC=${useSqliteVec ? 1 : 0}"
|
|
160
|
-
abiFilters (*reactNativeArchitectures())
|
|
161
155
|
}
|
|
162
156
|
}
|
|
163
157
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/cpp/bridge.cpp
CHANGED
|
@@ -63,7 +63,8 @@ BridgeResult opsqlite_open(std::string const &name,
|
|
|
63
63
|
|
|
64
64
|
if (dbMap.count(name) != 0) {
|
|
65
65
|
throw std::runtime_error(
|
|
66
|
-
"
|
|
66
|
+
"[OP-SQLITE] Only JS connection per database is allowed, db name: " +
|
|
67
|
+
name);
|
|
67
68
|
}
|
|
68
69
|
#endif
|
|
69
70
|
std::string dbPath = opsqlite_get_db_path(name, last_path);
|
|
@@ -393,24 +394,23 @@ BridgeResult opsqlite_execute(std::string const &name, std::string const &query,
|
|
|
393
394
|
sqlite3 *db = dbMap[name];
|
|
394
395
|
|
|
395
396
|
sqlite3_stmt *statement;
|
|
396
|
-
const char *errorMessage;
|
|
397
|
+
const char *errorMessage = nullptr;
|
|
397
398
|
const char *remainingStatement = nullptr;
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
int step_result, current_column, column_count, column_type;
|
|
399
|
+
bool has_failed = false;
|
|
400
|
+
int status, current_column, column_count, column_type;
|
|
401
401
|
std::string column_name, column_declared_type;
|
|
402
402
|
std::vector<std::string> column_names;
|
|
403
403
|
std::vector<std::vector<JSVariant>> rows;
|
|
404
404
|
std::vector<JSVariant> row;
|
|
405
405
|
|
|
406
406
|
do {
|
|
407
|
-
const char *
|
|
407
|
+
const char *query_str =
|
|
408
408
|
remainingStatement == nullptr ? query.c_str() : remainingStatement;
|
|
409
409
|
|
|
410
|
-
|
|
411
|
-
sqlite3_prepare_v2(db,
|
|
410
|
+
status =
|
|
411
|
+
sqlite3_prepare_v2(db, query_str, -1, &statement, &remainingStatement);
|
|
412
412
|
|
|
413
|
-
if (
|
|
413
|
+
if (status != SQLITE_OK) {
|
|
414
414
|
errorMessage = sqlite3_errmsg(db);
|
|
415
415
|
return {.type = SQLiteError,
|
|
416
416
|
.message =
|
|
@@ -418,24 +418,31 @@ BridgeResult opsqlite_execute(std::string const &name, std::string const &query,
|
|
|
418
418
|
.affectedRows = 0};
|
|
419
419
|
}
|
|
420
420
|
|
|
421
|
+
// The statement did not fail to parse but there is nothing to do, just
|
|
422
|
+
// skip to the end
|
|
423
|
+
if (statement == nullptr) {
|
|
424
|
+
continue;
|
|
425
|
+
}
|
|
426
|
+
|
|
421
427
|
if (params != nullptr && !params->empty()) {
|
|
422
428
|
opsqlite_bind_statement(statement, params);
|
|
423
429
|
}
|
|
424
430
|
|
|
425
431
|
column_count = sqlite3_column_count(statement);
|
|
426
|
-
bool
|
|
432
|
+
bool is_consuming_rows = true;
|
|
433
|
+
double double_value;
|
|
434
|
+
const char *string_value;
|
|
435
|
+
|
|
427
436
|
// Do a first pass to get the column names
|
|
428
437
|
for (int i = 0; i < column_count; i++) {
|
|
429
438
|
column_name = sqlite3_column_name(statement, i);
|
|
430
439
|
column_names.push_back(column_name);
|
|
431
440
|
}
|
|
432
441
|
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
while (is_consuming) {
|
|
436
|
-
step_result = sqlite3_step(statement);
|
|
442
|
+
while (is_consuming_rows) {
|
|
443
|
+
status = sqlite3_step(statement);
|
|
437
444
|
|
|
438
|
-
switch (
|
|
445
|
+
switch (status) {
|
|
439
446
|
case SQLITE_ROW:
|
|
440
447
|
current_column = 0;
|
|
441
448
|
row = std::vector<JSVariant>();
|
|
@@ -488,20 +495,20 @@ BridgeResult opsqlite_execute(std::string const &name, std::string const &query,
|
|
|
488
495
|
break;
|
|
489
496
|
|
|
490
497
|
case SQLITE_DONE:
|
|
491
|
-
|
|
498
|
+
is_consuming_rows = false;
|
|
492
499
|
break;
|
|
493
500
|
|
|
494
501
|
default:
|
|
495
|
-
|
|
496
|
-
|
|
502
|
+
has_failed = true;
|
|
503
|
+
is_consuming_rows = false;
|
|
497
504
|
}
|
|
498
505
|
}
|
|
499
506
|
|
|
500
507
|
sqlite3_finalize(statement);
|
|
501
508
|
} while (remainingStatement != nullptr &&
|
|
502
|
-
strcmp(remainingStatement, "") != 0 && !
|
|
509
|
+
strcmp(remainingStatement, "") != 0 && !has_failed);
|
|
503
510
|
|
|
504
|
-
if (
|
|
511
|
+
if (has_failed) {
|
|
505
512
|
const char *message = sqlite3_errmsg(db);
|
|
506
513
|
return {.type = SQLiteError,
|
|
507
514
|
.message =
|
package/cpp/libsql/bridge.cpp
CHANGED
|
@@ -253,8 +253,10 @@ void opsqlite_libsql_bind_statement(libsql_stmt_t statement,
|
|
|
253
253
|
JSVariant value = values->at(ii);
|
|
254
254
|
int status;
|
|
255
255
|
|
|
256
|
-
if (std::holds_alternative<bool>(value)
|
|
257
|
-
|
|
256
|
+
if (std::holds_alternative<bool>(value)) {
|
|
257
|
+
status = libsql_bind_int(statement, index,
|
|
258
|
+
static_cast<int>(std::get<bool>(value)), &err);
|
|
259
|
+
} else if (std::holds_alternative<int>(value)) {
|
|
258
260
|
status = libsql_bind_int(statement, index, std::get<int>(value), &err);
|
|
259
261
|
} else if (std::holds_alternative<long long>(value)) {
|
|
260
262
|
status =
|
|
@@ -494,7 +496,6 @@ BridgeResult opsqlite_libsql_execute(std::string const &name,
|
|
|
494
496
|
break;
|
|
495
497
|
|
|
496
498
|
case LIBSQL_TEXT:
|
|
497
|
-
|
|
498
499
|
status = libsql_get_string(row, col, &text_value, &err);
|
|
499
500
|
out_row.emplace_back(text_value);
|
|
500
501
|
break;
|
|
Binary file
|
|
Binary file
|
package/lib/commonjs/index.js
CHANGED
|
@@ -73,22 +73,6 @@ exports.ANDROID_DATABASE_PATH = ANDROID_DATABASE_PATH;
|
|
|
73
73
|
exports.IOS_LIBRARY_PATH = IOS_LIBRARY_PATH;
|
|
74
74
|
exports.IOS_DOCUMENT_PATH = IOS_DOCUMENT_PATH;
|
|
75
75
|
const locks = {};
|
|
76
|
-
|
|
77
|
-
// Enhance some host functions
|
|
78
|
-
// Add 'item' function to result object to allow the sqlite-storage typeorm driver to work
|
|
79
|
-
function enhanceQueryResult(result) {
|
|
80
|
-
// Add 'item' function to result object to allow the sqlite-storage typeorm driver to work
|
|
81
|
-
if (result.rows == null) {
|
|
82
|
-
result.rows = {
|
|
83
|
-
_array: [],
|
|
84
|
-
length: 0,
|
|
85
|
-
item: idx => result.rows?._array[idx]
|
|
86
|
-
};
|
|
87
|
-
} else {
|
|
88
|
-
result.res = result.rows._array;
|
|
89
|
-
result.rows.item = idx => result.rows?._array[idx];
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
76
|
function enhanceDB(db, options) {
|
|
93
77
|
const lock = {
|
|
94
78
|
queue: [],
|
|
@@ -138,7 +122,10 @@ function enhanceDB(db, options) {
|
|
|
138
122
|
return p;
|
|
139
123
|
});
|
|
140
124
|
const result = await db.executeWithHostObjects(query, sanitizedParams);
|
|
141
|
-
|
|
125
|
+
|
|
126
|
+
// Fix this on the native side
|
|
127
|
+
// @ts-ignore
|
|
128
|
+
result.rows = result.rows?._array ?? [];
|
|
142
129
|
return result;
|
|
143
130
|
},
|
|
144
131
|
execute: async (query, params) => {
|
|
@@ -161,12 +148,9 @@ function enhanceDB(db, options) {
|
|
|
161
148
|
}
|
|
162
149
|
let res = {
|
|
163
150
|
...intermediateResult,
|
|
164
|
-
rows
|
|
165
|
-
_array: rows,
|
|
166
|
-
length: rows.length,
|
|
167
|
-
item: idx => rows[idx]
|
|
168
|
-
}
|
|
151
|
+
rows
|
|
169
152
|
};
|
|
153
|
+
delete res.rawRows;
|
|
170
154
|
return res;
|
|
171
155
|
},
|
|
172
156
|
prepareStatement: query => {
|
|
@@ -183,7 +167,9 @@ function enhanceDB(db, options) {
|
|
|
183
167
|
},
|
|
184
168
|
execute: async () => {
|
|
185
169
|
const res = await stmt.execute();
|
|
186
|
-
|
|
170
|
+
// TODO fix on the native side
|
|
171
|
+
// @ts-ignore
|
|
172
|
+
res.rows = res.rows?._array;
|
|
187
173
|
return res;
|
|
188
174
|
}
|
|
189
175
|
};
|
|
@@ -194,25 +180,7 @@ function enhanceDB(db, options) {
|
|
|
194
180
|
if (isFinalized) {
|
|
195
181
|
throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
|
|
196
182
|
}
|
|
197
|
-
|
|
198
|
-
let rows = [];
|
|
199
|
-
for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
|
|
200
|
-
let row = {};
|
|
201
|
-
for (let j = 0; j < intermediateResult.columnNames.length ?? 0; j++) {
|
|
202
|
-
let columnName = intermediateResult.columnNames[j];
|
|
203
|
-
row[columnName] = intermediateResult.rawRows[i][j];
|
|
204
|
-
}
|
|
205
|
-
rows.push(row);
|
|
206
|
-
}
|
|
207
|
-
let res = {
|
|
208
|
-
...intermediateResult,
|
|
209
|
-
rows: {
|
|
210
|
-
_array: rows,
|
|
211
|
-
length: 0,
|
|
212
|
-
item: idx => rows[idx]
|
|
213
|
-
}
|
|
214
|
-
};
|
|
215
|
-
return res;
|
|
183
|
+
return await enhancedDb.execute(query, params);
|
|
216
184
|
};
|
|
217
185
|
const commit = async () => {
|
|
218
186
|
if (isFinalized) {
|
|
@@ -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","
|
|
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","close","url","executeWithHostObjects","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","rows","_array","execute","intermediateResult","i","rawRows","row","j","columnNames","columnName","value","push","res","prepareStatement","stmt","bind","transaction","fn","isFinalized","commit","rollback","run","executionError","rollbackError","Promise","resolve","reject","then","catch","openSync","isLibsql","openRemote","open","moveAssetsDatabase","args","isSQLCipher"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -63,22 +63,6 @@ export const {
|
|
|
63
63
|
*/
|
|
64
64
|
|
|
65
65
|
const locks = {};
|
|
66
|
-
|
|
67
|
-
// Enhance some host functions
|
|
68
|
-
// Add 'item' function to result object to allow the sqlite-storage typeorm driver to work
|
|
69
|
-
function enhanceQueryResult(result) {
|
|
70
|
-
// Add 'item' function to result object to allow the sqlite-storage typeorm driver to work
|
|
71
|
-
if (result.rows == null) {
|
|
72
|
-
result.rows = {
|
|
73
|
-
_array: [],
|
|
74
|
-
length: 0,
|
|
75
|
-
item: idx => result.rows?._array[idx]
|
|
76
|
-
};
|
|
77
|
-
} else {
|
|
78
|
-
result.res = result.rows._array;
|
|
79
|
-
result.rows.item = idx => result.rows?._array[idx];
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
66
|
function enhanceDB(db, options) {
|
|
83
67
|
const lock = {
|
|
84
68
|
queue: [],
|
|
@@ -128,7 +112,10 @@ function enhanceDB(db, options) {
|
|
|
128
112
|
return p;
|
|
129
113
|
});
|
|
130
114
|
const result = await db.executeWithHostObjects(query, sanitizedParams);
|
|
131
|
-
|
|
115
|
+
|
|
116
|
+
// Fix this on the native side
|
|
117
|
+
// @ts-ignore
|
|
118
|
+
result.rows = result.rows?._array ?? [];
|
|
132
119
|
return result;
|
|
133
120
|
},
|
|
134
121
|
execute: async (query, params) => {
|
|
@@ -151,12 +138,9 @@ function enhanceDB(db, options) {
|
|
|
151
138
|
}
|
|
152
139
|
let res = {
|
|
153
140
|
...intermediateResult,
|
|
154
|
-
rows
|
|
155
|
-
_array: rows,
|
|
156
|
-
length: rows.length,
|
|
157
|
-
item: idx => rows[idx]
|
|
158
|
-
}
|
|
141
|
+
rows
|
|
159
142
|
};
|
|
143
|
+
delete res.rawRows;
|
|
160
144
|
return res;
|
|
161
145
|
},
|
|
162
146
|
prepareStatement: query => {
|
|
@@ -173,7 +157,9 @@ function enhanceDB(db, options) {
|
|
|
173
157
|
},
|
|
174
158
|
execute: async () => {
|
|
175
159
|
const res = await stmt.execute();
|
|
176
|
-
|
|
160
|
+
// TODO fix on the native side
|
|
161
|
+
// @ts-ignore
|
|
162
|
+
res.rows = res.rows?._array;
|
|
177
163
|
return res;
|
|
178
164
|
}
|
|
179
165
|
};
|
|
@@ -184,25 +170,7 @@ function enhanceDB(db, options) {
|
|
|
184
170
|
if (isFinalized) {
|
|
185
171
|
throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
|
|
186
172
|
}
|
|
187
|
-
|
|
188
|
-
let rows = [];
|
|
189
|
-
for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
|
|
190
|
-
let row = {};
|
|
191
|
-
for (let j = 0; j < intermediateResult.columnNames.length ?? 0; j++) {
|
|
192
|
-
let columnName = intermediateResult.columnNames[j];
|
|
193
|
-
row[columnName] = intermediateResult.rawRows[i][j];
|
|
194
|
-
}
|
|
195
|
-
rows.push(row);
|
|
196
|
-
}
|
|
197
|
-
let res = {
|
|
198
|
-
...intermediateResult,
|
|
199
|
-
rows: {
|
|
200
|
-
_array: rows,
|
|
201
|
-
length: 0,
|
|
202
|
-
item: idx => rows[idx]
|
|
203
|
-
}
|
|
204
|
-
};
|
|
205
|
-
return res;
|
|
173
|
+
return await enhancedDb.execute(query, params);
|
|
206
174
|
};
|
|
207
175
|
const commit = async () => {
|
|
208
176
|
if (isFinalized) {
|
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","
|
|
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","close","url","executeWithHostObjects","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","rows","_array","execute","intermediateResult","i","rawRows","row","j","columnNames","columnName","value","push","res","prepareStatement","stmt","bind","transaction","fn","isFinalized","commit","rollback","run","executionError","rollbackError","Promise","resolve","reject","then","catch","openSync","isLibsql","openRemote","open","moveAssetsDatabase","args","isSQLCipher"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,17 +18,7 @@ export type QueryResult = {
|
|
|
18
18
|
insertId?: number;
|
|
19
19
|
rowsAffected: number;
|
|
20
20
|
res?: any[];
|
|
21
|
-
rows?:
|
|
22
|
-
/** Raw array with all dataset */
|
|
23
|
-
_array: any[];
|
|
24
|
-
/** The length of the dataset */
|
|
25
|
-
length: number;
|
|
26
|
-
/** A convenience function to access the index based the row object
|
|
27
|
-
* @param idx the row index
|
|
28
|
-
* @returns the row structure identified by column names
|
|
29
|
-
*/
|
|
30
|
-
item: (idx: number) => any;
|
|
31
|
-
};
|
|
21
|
+
rows?: any[];
|
|
32
22
|
rawRows?: any[];
|
|
33
23
|
columnNames?: string[];
|
|
34
24
|
/**
|
|
@@ -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,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
package/op-sqlite.podspec
CHANGED
|
@@ -52,7 +52,7 @@ Pod::Spec.new do |s|
|
|
|
52
52
|
s.license = package["license"]
|
|
53
53
|
s.authors = package["author"]
|
|
54
54
|
|
|
55
|
-
s.platforms = { :ios => "13.0", :osx => "10.15" }
|
|
55
|
+
s.platforms = { :ios => "13.0", :osx => "10.15", :visionos => "1.0" }
|
|
56
56
|
s.source = { :git => "https://github.com/op-engineering/op-sqlite.git", :tag => "#{s.version}" }
|
|
57
57
|
|
|
58
58
|
s.source_files = "ios/**/*.{h,m,mm}", "cpp/**/*.{h,cpp,c}"
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -59,21 +59,10 @@ export type QueryResult = {
|
|
|
59
59
|
insertId?: number;
|
|
60
60
|
rowsAffected: number;
|
|
61
61
|
res?: any[];
|
|
62
|
-
rows?:
|
|
63
|
-
/** Raw array with all dataset */
|
|
64
|
-
_array: any[];
|
|
65
|
-
/** The length of the dataset */
|
|
66
|
-
length: number;
|
|
67
|
-
/** A convenience function to access the index based the row object
|
|
68
|
-
* @param idx the row index
|
|
69
|
-
* @returns the row structure identified by column names
|
|
70
|
-
*/
|
|
71
|
-
item: (idx: number) => any;
|
|
72
|
-
};
|
|
62
|
+
rows?: any[];
|
|
73
63
|
// An array of intermediate results, just values without column names
|
|
74
64
|
rawRows?: any[];
|
|
75
65
|
columnNames?: string[];
|
|
76
|
-
|
|
77
66
|
/**
|
|
78
67
|
* Query metadata, available only for select query results
|
|
79
68
|
*/
|
|
@@ -213,22 +202,6 @@ const locks: Record<
|
|
|
213
202
|
{ queue: PendingTransaction[]; inProgress: boolean }
|
|
214
203
|
> = {};
|
|
215
204
|
|
|
216
|
-
// Enhance some host functions
|
|
217
|
-
// Add 'item' function to result object to allow the sqlite-storage typeorm driver to work
|
|
218
|
-
function enhanceQueryResult(result: QueryResult): void {
|
|
219
|
-
// Add 'item' function to result object to allow the sqlite-storage typeorm driver to work
|
|
220
|
-
if (result.rows == null) {
|
|
221
|
-
result.rows = {
|
|
222
|
-
_array: [],
|
|
223
|
-
length: 0,
|
|
224
|
-
item: (idx: number) => result.rows?._array[idx],
|
|
225
|
-
};
|
|
226
|
-
} else {
|
|
227
|
-
result.res = result.rows._array;
|
|
228
|
-
result.rows.item = (idx: number) => result.rows?._array[idx];
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
|
|
232
205
|
function enhanceDB(db: DB, options: any): DB {
|
|
233
206
|
const lock = {
|
|
234
207
|
queue: [] as PendingTransaction[],
|
|
@@ -287,7 +260,11 @@ function enhanceDB(db: DB, options: any): DB {
|
|
|
287
260
|
});
|
|
288
261
|
|
|
289
262
|
const result = await db.executeWithHostObjects(query, sanitizedParams);
|
|
290
|
-
|
|
263
|
+
|
|
264
|
+
// Fix this on the native side
|
|
265
|
+
// @ts-ignore
|
|
266
|
+
result.rows = result.rows?._array ?? [];
|
|
267
|
+
|
|
291
268
|
return result;
|
|
292
269
|
},
|
|
293
270
|
execute: async (
|
|
@@ -318,12 +295,11 @@ function enhanceDB(db: DB, options: any): DB {
|
|
|
318
295
|
|
|
319
296
|
let res = {
|
|
320
297
|
...intermediateResult,
|
|
321
|
-
rows
|
|
322
|
-
_array: rows,
|
|
323
|
-
length: rows.length,
|
|
324
|
-
item: (idx: number) => rows[idx],
|
|
325
|
-
},
|
|
298
|
+
rows,
|
|
326
299
|
};
|
|
300
|
+
|
|
301
|
+
delete res.rawRows;
|
|
302
|
+
|
|
327
303
|
return res;
|
|
328
304
|
},
|
|
329
305
|
prepareStatement: (query: string) => {
|
|
@@ -343,7 +319,9 @@ function enhanceDB(db: DB, options: any): DB {
|
|
|
343
319
|
},
|
|
344
320
|
execute: async () => {
|
|
345
321
|
const res = await stmt.execute();
|
|
346
|
-
|
|
322
|
+
// TODO fix on the native side
|
|
323
|
+
// @ts-ignore
|
|
324
|
+
res.rows = res.rows?._array;
|
|
347
325
|
return res;
|
|
348
326
|
},
|
|
349
327
|
};
|
|
@@ -359,30 +337,7 @@ function enhanceDB(db: DB, options: any): DB {
|
|
|
359
337
|
`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`
|
|
360
338
|
);
|
|
361
339
|
}
|
|
362
|
-
|
|
363
|
-
let rows: any[] = [];
|
|
364
|
-
for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
|
|
365
|
-
let row: any = {};
|
|
366
|
-
for (
|
|
367
|
-
let j = 0;
|
|
368
|
-
j < intermediateResult.columnNames!.length ?? 0;
|
|
369
|
-
j++
|
|
370
|
-
) {
|
|
371
|
-
let columnName = intermediateResult.columnNames![j]!;
|
|
372
|
-
row[columnName] = intermediateResult.rawRows![i][j];
|
|
373
|
-
}
|
|
374
|
-
rows.push(row);
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
let res = {
|
|
378
|
-
...intermediateResult,
|
|
379
|
-
rows: {
|
|
380
|
-
_array: rows,
|
|
381
|
-
length: 0,
|
|
382
|
-
item: (idx: number) => rows[idx],
|
|
383
|
-
},
|
|
384
|
-
};
|
|
385
|
-
return res;
|
|
340
|
+
return await enhancedDb.execute(query, params);
|
|
386
341
|
};
|
|
387
342
|
|
|
388
343
|
const commit = async (): Promise<QueryResult> => {
|