Yoshiyuki Asaba wrote: > From: Magnus Hagander <[EMAIL PROTECTED]> > Subject: Re: [HACKERS] pg_restore fails with a custom backup file > Date: Fri, 16 Feb 2007 10:13:35 +0100 > >> On Fri, Feb 16, 2007 at 02:09:41PM +0900, Yoshiyuki Asaba wrote: >> >>>>> Does not compile on my MinGW - errors in the system headers (unistd.h, >>>>> io.h) due to changing the argument format for chsize(). The change of >>>>> off_t propagated into parts of the system headers, thus chaos was >>>>> ensured. >>>>> >>>>> I still think we need to use a pgoff_t. Will look at combining these two >>>>> approaches. >>>> Here's a patch that tries this. >>>> *needs more testing*. But built with this patch, I can dump and >>>> restore a table at the end of a 10gb database without errors. >>> I tried the attached patch. But I got the following error. >>> >>> pg_backup_archiver.o(.text+0x1fa4): In function `allocAH': >>> C:/msys/1.0/home/y-asaba/postgresql-8.2.3-patch/src/bin/pg_dump/pg_backup_archiver.c:1580: >>> undefined reference to `fseeko64' >>> ... >>> make: *** [pg_dump] Error 1 >>> >>> $ uname -sr >>> MINGW32_NT-5.1 1.0.10(0.46/3/2) >>> >>> Is MINGW version too old? >> I think so. It seems this was added in version 1.24 of stdio.h in mingw >> (http://cygwin.com/cgi-bin/cvsweb.cgi/src/winsup/mingw/include/stdio.h?cvsroot=src). >> Could you try upgrading mingw and see if that helps? Or possibly >> instlaling side-by-side a different version (if they even allow that)? > > OK. I have upgraded mingw and tried to compile. regression tests > passed. So I tested pg_restore on Windows and Linux. > > $ createdb test > $ pgbench -i -s 1000 test > $ pg_dump -Fc test > out > $ createdb restore > $ pg_restore -d restore out > $ psql -c 'select max(aid) from accounts' restore > max > ----------- > 100000000 > (1 row) > > pg_restore was normally completed. Thank you for your great work. I wish > that the patch will be committed.
Thanks for running those tests. I need to test the msvc build as well, but I can hopefully do that quickly. (and a few tests that I didn't break unix) I'd also like a comment from at least one other "patch reviewer" that the methods used are good. //Magnus ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings