Fix the error message when failing to restore the snapshot.
authorAmit Kapila
Thu, 24 Aug 2023 09:21:57 +0000 (14:51 +0530)
committerAmit Kapila
Thu, 24 Aug 2023 09:21:57 +0000 (14:51 +0530)
The SnapBuildRestoreContents() used a const value in the error message to
indicate the size in bytes it was expecting to read from the serialized
snapshot file. Fix it by reporting the size that was actually passed.

Author: Hou Zhijie
Reviewed-by: Amit Kapila
Backpatch-through: 16
Discussion: http://postgr.es/m/OS0PR01MB5716D408364F7DF32221C08D941FA@OS0PR01MB5716.jpnprd01.prod.outlook.com

src/backend/replication/logical/snapbuild.c

index e9b672ead28601d4b612881a4cdc60ada7dc5ef8..7a7aba33e1623afe97e2250ac606c60b6b2f21dc 100644 (file)
@@ -2034,7 +2034,7 @@ SnapBuildRestoreContents(int fd, char *dest, Size size, const char *path)
            ereport(ERROR,
                    (errcode(ERRCODE_DATA_CORRUPTED),
                     errmsg("could not read file \"%s\": read %d of %zu",
-                           path, readBytes, sizeof(SnapBuild))));
+                           path, readBytes, size)));
    }
 }