postgres.git / summary / log / commit / refs
commit 87cdfeb18ae0fe298b6f405718cbe97eaed190d3
Author: Bruce Momjian <bruce@momjian.us>
Date: Sat Nov 14 16:47:11 2015 +0000
First released in: 9.6.0, 9.1.20, 9.2.15, 9.3.11, 9.4.6, 9.5.0
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 ab9d1edcb6d..4d2c407084c 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 1c6f8f0aa1c..5568c2ebbab 100644
--- a/contrib/pg_upgrade/pg_upgrade.h
+++ b/contrib/pg_upgrade/pg_upgrade.h
@@ -70,7 +70,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 '/'
@@ -80,7 +79,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 PATH_SEPARATOR '\\'
[parent: 40879a92b90c]