Refactor code for restoring files via shell commands
Michael Paquier <michael@paquier.xyz>
Refactor code for restoring files via shell commands Presently, restore_command uses a different code path than archive_cleanup_command and recovery_end_command. These code paths are similar and can be easily combined, as long as it is possible to identify if a command should: - Issue a FATAL on signal. - Exit immediately on SIGTERM. While on it, this removes src/common/archive.c and its associated header. Since the introduction of c96de2c, BuildRestoreCommand() has become a simple wrapper of replace_percent_placeholders() able to call make_native_path(). This simplifies shell_restore.c as long as RestoreArchivedFile() includes a call to make_native_path(). Author: Nathan Bossart Reviewed-by: Andres Freund, Michael Paquier Discussion: https://postgr.es/m/20221227192449.GA3672473@nathanxps13
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/transam/shell_restore.c | modified | +47 −51 |
| src/backend/access/transam/xlogarchive.c | modified | +0 −1 |
| src/common/archive.c | deleted | +0 −60 |
| src/common/Makefile | modified | +0 −1 |
| src/common/meson.build | modified | +0 −1 |
| src/fe_utils/archive.c | modified | +8 −3 |
| src/include/common/archive.h | deleted | +0 −21 |
| src/tools/msvc/Mkvcbuild.pm | modified | +1 −1 |
Discussion
- recovery modules 90 messages · 2022-12-27 → 2024-07-19