From b4c4220ede3048662c746123b8af2a9101a1b313 Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Sat, 14 Nov 2015 11:47:11 -0500 Subject: [PATCH] pg_upgrade: properly detect file copy failure on Windows Previously, file copy failures were ignored on Windows due to an incorrect return value check. Report by Manu Joye Backpatch through 9.1 --- contrib/pg_upgrade/file.c | 6 +++++- contrib/pg_upgrade/pg_upgrade.h | 2 -- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/contrib/pg_upgrade/file.c b/contrib/pg_upgrade/file.c index b76fcdbf79e..40463c61369 100644 --- a/contrib/pg_upgrade/file.c +++ b/contrib/pg_upgrade/file.c @@ -34,7 +34,11 @@ copyAndUpdateFile(pageCnvCtx *pageConverter, { if (pageConverter == NULL) { - if (pg_copy_file(src, dst, force) == -1) +#ifndef WIN32 + if (copy_file(src, dst, force) == -1) +#else + if (CopyFile(src, dst, force) == 0) +#endif return getErrorText(errno); else return NULL; diff --git a/contrib/pg_upgrade/pg_upgrade.h b/contrib/pg_upgrade/pg_upgrade.h index 8f55e673f0d..e958f2bd18c 100644 --- a/contrib/pg_upgrade/pg_upgrade.h +++ b/contrib/pg_upgrade/pg_upgrade.h @@ -73,7 +73,6 @@ extern char *output_files[]; #ifndef WIN32 -#define pg_copy_file copy_file #define pg_mv_file rename #define pg_link_file link #define PATH_SEPARATOR '/' @@ -83,7 +82,6 @@ extern char *output_files[]; #define ECHO_QUOTE "'" #define ECHO_BLANK "" #else -#define pg_copy_file CopyFile #define pg_mv_file pgrename #define pg_link_file win32_pghardlink #define sleep(x) Sleep(x * 1000) -- GitLab