Skip to content

Commit 68d7b6f

Browse files
authored
sqlite: reserve vectors space
PR-URL: #61540 Reviewed-By: René <contact.9a5d6388@renegade334.me.uk> Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
1 parent ca3d4e0 commit 68d7b6f

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

src/node_sqlite.cc

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,8 @@ class CustomAggregate {
322322

323323
auto recv = Undefined(isolate);
324324
LocalVector<Value> js_argv(isolate);
325+
js_argv.reserve(argc + 1);
326+
325327
js_argv.emplace_back(Local<Value>::New(isolate, agg->value));
326328

327329
for (int i = 0; i < argc; ++i) {
@@ -625,6 +627,7 @@ void UserDefinedFunction::xFunc(sqlite3_context* ctx,
625627
auto recv = Undefined(isolate);
626628
auto fn = self->fn_.Get(isolate);
627629
LocalVector<Value> js_argv(isolate);
630+
js_argv.reserve(argc);
628631

629632
for (int i = 0; i < argc; ++i) {
630633
sqlite3_value* value = argv[i];
@@ -2063,18 +2066,16 @@ int DatabaseSync::AuthorizerCallback(void* user_data,
20632066
CHECK(cb->IsFunction());
20642067

20652068
Local<Function> callback = cb.As<Function>();
2066-
LocalVector<Value> js_argv(isolate);
20672069

2068-
// Convert SQLite authorizer parameters to JavaScript values
2069-
js_argv.emplace_back(Integer::New(isolate, action_code));
2070-
js_argv.emplace_back(
2071-
NullableSQLiteStringToValue(isolate, param1).ToLocalChecked());
2072-
js_argv.emplace_back(
2073-
NullableSQLiteStringToValue(isolate, param2).ToLocalChecked());
2074-
js_argv.emplace_back(
2075-
NullableSQLiteStringToValue(isolate, param3).ToLocalChecked());
2076-
js_argv.emplace_back(
2077-
NullableSQLiteStringToValue(isolate, param4).ToLocalChecked());
2070+
LocalVector<Value> js_argv(
2071+
isolate,
2072+
{
2073+
Integer::New(isolate, action_code),
2074+
NullableSQLiteStringToValue(isolate, param1).ToLocalChecked(),
2075+
NullableSQLiteStringToValue(isolate, param2).ToLocalChecked(),
2076+
NullableSQLiteStringToValue(isolate, param3).ToLocalChecked(),
2077+
NullableSQLiteStringToValue(isolate, param4).ToLocalChecked(),
2078+
});
20782079

20792080
MaybeLocal<Value> retval = callback->Call(
20802081
context, Undefined(isolate), js_argv.size(), js_argv.data());

0 commit comments

Comments
 (0)