Sorry for posting followups on my own mails, but I've noticed that
I can actually use lo_read() if I read the BLOBs in chunks of
32760 bytes. If I try to read 32761 bytes it fails for some reason.
Thanks,
--
Trond K.
Trond Kjernaasen <trond@trolltech.com> writes:
> Hi,
>
> I've done some tests with large objects and it works just fine under
> Linux, but when I try the same code under Windows (I use the libpq
> frontend) it fails for some reason with lo_read() always returning 0.
>
> The test program I'm using is basically a modified version of the one
> listed in chapter 3 of the programmer's guide (testlo.c). I first
> tried to compile it using MSVC 6.0, but found that I had to replace
> the open() calls in lo_import() and lo_export() in the
> interfaces/libpq/fe-lobj.c file with the native Windows calls. The
> files were not opened in the correct mode for some reason.
>
> I then tried to compile the example with gcc and the cygwin tools -
> the test program worked just fine without modifications to the
> fe-lobj.c file. However, my lo_read() calls still returns 0 no matter
> what I do.
>
> I've tried this with both 6.51, 7.0.2 and 7.0.3 - but they all give
> the same results.
>
> Does anyone have any experience with this under Windows? I would
> greatly appreciate any help in getting to the bottom of this problem.