| From: | "Higuchi, Daisuke" <higuchi(dot)daisuke(at)jp(dot)fujitsu(dot)com> | 
|---|---|
| To: | "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> | 
| Subject: | stat() on Windows might cause error if target file is larger than 4GB | 
| Date: | 2018-09-10 02:01:53 | 
| Message-ID: | 1803D792815FC24D871C00D17AE95905CF5099@g01jpexmbkw24 | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
Hi,
This mail is about following bug report post: 
https://www.postgresql.org/message-id/flat/153442391458.1505.9181095584291689853%40wrigleys.postgresql.org
When pg_dump has '--format=directory' option and the dump file size become 
4GB over, the strange error message 'Unknown error' will be output. 
This is because _stat64i32() is used for stat() on Windows, I think. 
Seeing following URL, _stat64i32() could use 32 bit, it means 4GB is max size. 
https://msdn.microsoft.com/en-us/library/14h5k7ff.aspx
When I create the simple application to use stat() on VS2013, 
stat() could not deal with 4GB file and failed with errno=132.
I think the pg_dump occurs EOVERFLOW, but Windows' errno.h does not have 
this errno, so 'Unknown error' is output. 
So, pgwin32_safestat() should be changed to solve this problem. 
Do you have any idea or comments?
Regards, 
Daisuke Higuchi
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2018-09-10 03:27:12 | SerializeParamList vs machines with strict alignment | 
| Previous Message | Hironobu SUZUKI | 2018-09-09 22:35:30 | Re: pgbench - add pseudo-random permutation function |