postgres.git / summary / log / commit / refs

commit    762a16572bb5d9be6c9c53c9ecd29288da213d02
Author:   Amit Kapila <akapila@postgresql.org>
Date:     Fri Aug 31 10:15:09 2018 +0000

    Fix pg_verify_checksums on Windows.
    
    To verify the checksums, we open the file in text mode which doesn't work
    on Windows as WIN32 treats Control-Z as EOF in files opened in text mode.
    This leads to "short read of block .." error in some cases.
    
    Fix it by opening the files in the binary mode.
    
    Author: Amit Kapila
    Reviewed-by: Magnus Hagander
    Backpatch-through: 11
    Discussion: https://postgr.es/m/CAA4eK1+LOnzod+h85FGmyjWzXKy-XV1FYwEyP-Tky2WpD5cxwA@mail.gmail.com


src/bin/pg_verify_checksums/pg_verify_checksums.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/pg_verify_checksums/pg_verify_checksums.c b/src/bin/pg_verify_checksums/pg_verify_checksums.c index a9412365636..d7b6f4a5280 100644 --- a/src/bin/pg_verify_checksums/pg_verify_checksums.c +++ b/src/bin/pg_verify_checksums/pg_verify_checksums.c @@ -83,7 +83,7 @@ scan_file(char *fn, int segmentno) int f; int blockno; - f = open(fn, 0); + f = open(fn, O_RDONLY | PG_BINARY); if (f < 0) { fprintf(stderr, _("%s: could not open file \"%s\": %s\n"), [parent: 40e981391395]