@@ -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