aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorThomas Munro <tmunro@postgresql.org>2023-01-06 16:38:46 +1300
committerThomas Munro <tmunro@postgresql.org>2023-01-06 16:49:58 +1300
commitf60acde869985b35146c6f7f941dd571fc88b3c4 (patch)
treefb82d0aec61fd2d296493011306ec2a54a6e845d /src/backend
parent3706cc97aa36bb65fd82dbfc79ca809033bcad1f (diff)
downloadpostgresql-f60acde869985b35146c6f7f941dd571fc88b3c4.tar.gz
postgresql-f60acde869985b35146c6f7f941dd571fc88b3c4.zip
Fix pg_truncate() on Windows.
Commit 57faaf376 added pg_truncate(const char *path, off_t length), but "length" was ignored under WIN32 and the file was unconditionally truncated to 0. There was no live bug, since the only caller passes 0. Fix, and back-patch to 14 where the function arrived. Author: Justin Pryzby <pryzby@telsasoft.com> Discussion: https://postgr.es/m/20230106031652.GR3109%40telsasoft.com
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/storage/file/fd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c
index 24704b6a023..8d7ef91785e 100644
--- a/src/backend/storage/file/fd.c
+++ b/src/backend/storage/file/fd.c
@@ -649,7 +649,7 @@ pg_truncate(const char *path, off_t length)
fd = OpenTransientFile(path, O_RDWR | PG_BINARY);
if (fd >= 0)
{
- ret = ftruncate(fd, 0);
+ ret = ftruncate(fd, length);
save_errno = errno;
CloseTransientFile(fd);
errno = save_errno;