@@ -451,7 +451,7 @@ class BackupJob : public ThreadPoolWork {
451451 std::string dest_db,
452452 int pages,
453453 Local<Function> progressFunc)
454- : ThreadPoolWork(env, " node_sqlite3 .BackupJob" ),
454+ : ThreadPoolWork(env, " node.sqlite .BackupJob" ),
455455 env_(env),
456456 source_(source),
457457 pages_(pages),
@@ -498,7 +498,7 @@ class BackupJob : public ThreadPoolWork {
498498
499499 if (!(backup_status_ == SQLITE_OK || backup_status_ == SQLITE_DONE ||
500500 backup_status_ == SQLITE_BUSY || backup_status_ == SQLITE_LOCKED)) {
501- HandleBackupError (resolver, backup_status_ );
501+ HandleBackupError (resolver);
502502 return ;
503503 }
504504
@@ -549,11 +549,6 @@ class BackupJob : public ThreadPoolWork {
549549 }
550550
551551 void Finalize () {
552- Cleanup ();
553- source_->RemoveBackup (this );
554- }
555-
556- void Cleanup () {
557552 if (backup_) {
558553 sqlite3_backup_finish (backup_);
559554 backup_ = nullptr ;
@@ -564,29 +559,20 @@ class BackupJob : public ThreadPoolWork {
564559 sqlite3_close_v2 (dest_);
565560 dest_ = nullptr ;
566561 }
562+
563+ source_->RemoveBackup (this );
567564 }
568565
569566 private:
570567 void HandleBackupError (Local<Promise::Resolver> resolver) {
571568 Local<Object> e;
572- if (!CreateSQLiteError (env ()->isolate (), dest_).ToLocal (&e)) {
573- Finalize ();
574- return ;
575- }
576-
569+ auto error = sqlite3_errcode (dest_) == SQLITE_OK
570+ ? CreateSQLiteError (env ()->isolate (), backup_status_)
571+ : CreateSQLiteError (env ()->isolate (), dest_);
577572 Finalize ();
578- resolver->Reject (env ()->context (), e).ToChecked ();
579- }
580-
581- void HandleBackupError (Local<Promise::Resolver> resolver, int errcode) {
582- Local<Object> e;
583- if (!CreateSQLiteError (env ()->isolate (), errcode).ToLocal (&e)) {
584- Finalize ();
585- return ;
573+ if (error.ToLocal (&e)) {
574+ resolver->Reject (env ()->context (), e).ToChecked ();
586575 }
587-
588- Finalize ();
589- resolver->Reject (env ()->context (), e).ToChecked ();
590576 }
591577
592578 Environment* env () const { return env_; }
@@ -781,7 +767,7 @@ bool DatabaseSync::Open() {
781767
782768void DatabaseSync::FinalizeBackups () {
783769 for (auto backup : backups_) {
784- backup->Cleanup ();
770+ backup->Finalize ();
785771 }
786772
787773 backups_.clear ();
0 commit comments