Skip to content

Commit db1531c

Browse files
committed
Be more careful about time_t vs. pg_time_t in basebackup.c.
lapwing is complaining that about a call to pg_gmtime, saying that it "expected 'const pg_time_t *' but argument is of type 'time_t *'". I at first thought that the problem had someting to do with const, but Thomas Munro suggested that it might be just because time_t and pg_time_t are different identifers. lapwing is i686 rather than x86_64, and pg_time_t is always int64, so that seems like a good guess. There is other code that just casts time_t to pg_time_t without any conversion function, so try that approach here. Introduced in commit 0d8c9c1.
1 parent 9f8f881 commit db1531c

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/backend/replication/basebackup.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,8 @@ static void InitializeManifest(manifest_info *manifest,
9999
basebackup_options *opt);
100100
static void AppendStringToManifest(manifest_info *manifest, char *s);
101101
static void AddFileToManifest(manifest_info *manifest, const char *spcoid,
102-
const char *pathname, size_t size, time_t mtime,
102+
const char *pathname, size_t size,
103+
pg_time_t mtime,
103104
pg_checksum_context *checksum_ctx);
104105
static void AddWALInfoToManifest(manifest_info *manifest, XLogRecPtr startptr,
105106
TimeLineID starttli, XLogRecPtr endptr,
@@ -1124,7 +1125,7 @@ AppendStringToManifest(manifest_info *manifest, char *s)
11241125
*/
11251126
static void
11261127
AddFileToManifest(manifest_info *manifest, const char *spcoid,
1127-
const char *pathname, size_t size, time_t mtime,
1128+
const char *pathname, size_t size, pg_time_t mtime,
11281129
pg_checksum_context *checksum_ctx)
11291130
{
11301131
char pathbuf[MAXPGPATH];
@@ -1507,7 +1508,8 @@ sendFileWithContent(const char *filename, const char *content,
15071508
}
15081509

15091510
pg_checksum_update(&checksum_ctx, (uint8 *) content, len);
1510-
AddFileToManifest(manifest, NULL, filename, len, statbuf.st_mtime,
1511+
AddFileToManifest(manifest, NULL, filename, len,
1512+
(pg_time_t) statbuf.st_mtime,
15111513
&checksum_ctx);
15121514
}
15131515

@@ -2188,7 +2190,7 @@ sendFile(const char *readfilename, const char *tarfilename,
21882190
total_checksum_failures += checksum_failures;
21892191

21902192
AddFileToManifest(manifest, spcoid, tarfilename, statbuf->st_size,
2191-
statbuf->st_mtime, &checksum_ctx);
2193+
(pg_time_t) statbuf->st_mtime, &checksum_ctx);
21922194

21932195
return true;
21942196
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy