Skip to content

Commit 6bf17f6

Browse files
committed
src: refactor sqlite backup job
1 parent 24b1650 commit 6bf17f6

File tree

1 file changed

+7
-18
lines changed

1 file changed

+7
-18
lines changed

src/node_sqlite.cc

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -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

@@ -569,24 +569,13 @@ class BackupJob : public ThreadPoolWork {
569569
private:
570570
void HandleBackupError(Local<Promise::Resolver> resolver) {
571571
Local<Object> e;
572-
if (!CreateSQLiteError(env()->isolate(), dest_).ToLocal(&e)) {
573-
Finalize();
574-
return;
575-
}
576-
572+
auto error = sqlite3_errcode(dest_) == SQLITE_OK
573+
? CreateSQLiteError(env()->isolate(), backup_status_)
574+
: CreateSQLiteError(env()->isolate(), dest_);
577575
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;
576+
if (error.ToLocal(&e)) {
577+
resolver->Reject(env()->context(), e).ToChecked();
586578
}
587-
588-
Finalize();
589-
resolver->Reject(env()->context(), e).ToChecked();
590579
}
591580

592581
Environment* env() const { return env_; }

0 commit comments

Comments
 (0)