Skip to content

fix(backup): say what each engine's restore keeps in its confirmation - #3984

Merged
datlechin merged 2 commits into
mainfrom
fix/restore-confirmation-text
Nov 1, 2026
Merged

datlechin merged 2 commits into
mainfrom
fix/restore-confirmation-text

Conversation

@datlechin

@datlechin datlechin commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

Summary

  • SQLite and libSQL restores get their own confirmation: sqlite3 -bail stops at the first error, and a backup TablePro wrote is one transaction, so none of it is kept. A dump that is not one transaction keeps what ran before the error. The sheet used to say existing objects are kept and the dump's data added.
  • MySQL and MariaDB: the confirmation says the restore stops at the first error (mysql runs without --force) and keeps what ran before it, and that a TablePro backup overwrites each object it names.
  • PostgreSQL, Redshift and MongoDB: the confirmation adds that the restore carries on past errors.
  • apple/scripts/probes/check-restore-error-semantics.sh checks these facts against sqlite3, the mysql family and pg_restore.
  • RestoreConfirmationTextTests.appendingEnginesKeepExistingObjects pinned SQLite to the old text; it now covers PostgreSQL, Redshift and MongoDB only, and SQLite and MySQL get their own cases.

Docs: TableProApp/docs#162

Test plan

  • RestoreConfirmationTextTests: sqliteStopsAtTheFirstError and mySQLStopsAtTheFirstError fail on main.
  • Probe run against sqlite3 3.54.0 and 3.54.1, MariaDB 13.0.2 (client and server) and pg_restore 17.11: all facts hold. With -bail removed, the SQLite checks fail.

@datlechin
datlechin merged commit 8de8cb9 into main Nov 1, 2026
8 checks passed
@datlechin datlechin added backport release/0.83 Merged into main; pick onto release/0.83 backport release/0.84 Merged into main; pick onto release/0.84 labels Nov 1, 2026
@datlechin
datlechin enabled auto-merge (squash) November 1, 2026 09:57
@datlechin
datlechin deleted the fix/restore-confirmation-text branch November 2, 2026 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport release/0.83 Merged into main; pick onto release/0.83 backport release/0.84 Merged into main; pick onto release/0.84

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant