Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit aa1b366

Browse filesBrowse files
mertcanaltinaduh95
authored andcommitted
sqlite: use DictionaryTemplate for run() result
PR-URL: #61432 Reviewed-By: Aviv Keller <me@aviv.sh> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com>
1 parent 75a7a67 commit aa1b366
Copy full SHA for aa1b366

2 files changed

+14-8Lines changed: 14 additions & 8 deletions

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎src/env_properties.h‎

Copy file name to clipboardExpand all lines: src/env_properties.h
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,7 @@
434434
V(socketaddress_constructor_template, v8::FunctionTemplate) \
435435
V(space_stats_template, v8::DictionaryTemplate) \
436436
V(sqlite_column_template, v8::DictionaryTemplate) \
437+
V(sqlite_run_result_template, v8::DictionaryTemplate) \
437438
V(sqlite_statement_sync_constructor_template, v8::FunctionTemplate) \
438439
V(sqlite_statement_sync_iterator_constructor_template, v8::FunctionTemplate) \
439440
V(sqlite_session_constructor_template, v8::FunctionTemplate) \
Collapse file

‎src/node_sqlite.cc‎

Copy file name to clipboardExpand all lines: src/node_sqlite.cc
+13-8Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2406,7 +2406,7 @@ MaybeLocal<Object> StatementExecutionHelper::Run(Environment* env,
24062406
sqlite3_step(stmt);
24072407
int r = sqlite3_reset(stmt);
24082408
CHECK_ERROR_OR_THROW(isolate, db, r, SQLITE_OK, MaybeLocal<Object>());
2409-
Local<Object> result = Object::New(isolate);
2409+
24102410
sqlite3_int64 last_insert_rowid = sqlite3_last_insert_rowid(db->Connection());
24112411
sqlite3_int64 changes = sqlite3_changes64(db->Connection());
24122412
Local<Value> last_insert_rowid_val;
@@ -2420,13 +2420,18 @@ MaybeLocal<Object> StatementExecutionHelper::Run(Environment* env,
24202420
changes_val = Number::New(isolate, changes);
24212421
}
24222422

2423-
if (result
2424-
->Set(env->context(),
2425-
env->last_insert_rowid_string(),
2426-
last_insert_rowid_val)
2427-
.IsNothing() ||
2428-
result->Set(env->context(), env->changes_string(), changes_val)
2429-
.IsNothing()) {
2423+
auto run_result_template = env->sqlite_run_result_template();
2424+
if (run_result_template.IsEmpty()) {
2425+
static constexpr std::string_view run_result_keys[] = {"changes",
2426+
"lastInsertRowid"};
2427+
run_result_template = DictionaryTemplate::New(isolate, run_result_keys);
2428+
env->set_sqlite_run_result_template(run_result_template);
2429+
}
2430+
2431+
MaybeLocal<Value> values[] = {changes_val, last_insert_rowid_val};
2432+
Local<Object> result;
2433+
if (!NewDictionaryInstance(env->context(), run_result_template, values)
2434+
.ToLocal(&result)) {
24302435
return MaybeLocal<Object>();
24312436
}
24322437

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.