Fix for change timeline field of IDENTIFY_SYSTEM to int8
authorPeter Eisentraut <[email protected]>
Mon, 4 Jul 2022 06:06:05 +0000 (08:06 +0200)
committerPeter Eisentraut <[email protected]>
Mon, 4 Jul 2022 06:06:05 +0000 (08:06 +0200)
Amendment to ec40f3422412cfdc140b5d3f67db7fd2dac0f1e2: We also need to
change the way the datum is supplied to int8.  Otherwise, the value is
still cut off as an int4, and it will crash on 32-bit platforms.

src/backend/replication/walsender.c

index fa60c92e13a3321dcf4bdbe59e46f6ff87ba7d2d..cb4a858687361364fb8d3d6c998079116027b3a8 100644 (file)
@@ -457,7 +457,7 @@ IdentifySystem(void)
    values[0] = CStringGetTextDatum(sysid);
 
    /* column 2: timeline */
-   values[1] = Int32GetDatum(currTLI);
+   values[1] = Int64GetDatum(currTLI);
 
    /* column 3: wal location */
    values[2] = CStringGetTextDatum(xloc);