@@ -511,7 +511,8 @@ void DatabaseSync::Prepare(const FunctionCallbackInfo<Value>& args) {
511
511
sqlite3_stmt* s = nullptr ;
512
512
int r = sqlite3_prepare_v2 (db->connection_ , *sql, -1 , &s, 0 );
513
513
CHECK_ERROR_OR_THROW (env->isolate (), db->connection_ , r, SQLITE_OK, void ());
514
- BaseObjectPtr<StatementSync> stmt = StatementSync::Create (env, db, s);
514
+ BaseObjectPtr<StatementSync> stmt =
515
+ StatementSync::Create (env, BaseObjectPtr<DatabaseSync>(db), s);
515
516
db->statements_ .insert (stmt.get ());
516
517
args.GetReturnValue ().Set (stmt->object ());
517
518
}
@@ -923,11 +924,10 @@ void DatabaseSync::LoadExtension(const FunctionCallbackInfo<Value>& args) {
923
924
924
925
StatementSync::StatementSync (Environment* env,
925
926
Local<Object> object,
926
- DatabaseSync* db,
927
+ BaseObjectPtr< DatabaseSync> db,
927
928
sqlite3_stmt* stmt)
928
- : BaseObject(env, object) {
929
+ : BaseObject(env, object), db_(std::move(db)) {
929
930
MakeWeak ();
930
- db_ = db;
931
931
statement_ = stmt;
932
932
// In the future, some of these options could be set at the database
933
933
// connection level and inherited by statements to reduce boilerplate.
@@ -1580,9 +1580,8 @@ Local<FunctionTemplate> StatementSync::GetConstructorTemplate(
1580
1580
return tmpl;
1581
1581
}
1582
1582
1583
- BaseObjectPtr<StatementSync> StatementSync::Create (Environment* env,
1584
- DatabaseSync* db,
1585
- sqlite3_stmt* stmt) {
1583
+ BaseObjectPtr<StatementSync> StatementSync::Create (
1584
+ Environment* env, BaseObjectPtr<DatabaseSync> db, sqlite3_stmt* stmt) {
1586
1585
Local<Object> obj;
1587
1586
if (!GetConstructorTemplate (env)
1588
1587
->InstanceTemplate ()
@@ -1591,7 +1590,7 @@ BaseObjectPtr<StatementSync> StatementSync::Create(Environment* env,
1591
1590
return BaseObjectPtr<StatementSync>();
1592
1591
}
1593
1592
1594
- return MakeBaseObject<StatementSync>(env, obj, db , stmt);
1593
+ return MakeBaseObject<StatementSync>(env, obj, std::move (db) , stmt);
1595
1594
}
1596
1595
1597
1596
Session::Session (Environment* env,
0 commit comments