Re: OutOfMemory when inserting stream of unknown length

From: Oliver Jowett <oliver(at)opencloud(dot)com>
To: "Mikko T(dot)" <mtiihone(at)cc(dot)hut(dot)fi>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: OutOfMemory when inserting stream of unknown length
Date: 2004-08-20 09:59:11
Message-ID: 4125CB6F.5040003@opencloud.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Oliver Jowett wrote:
> Mikko T. wrote:
>
>> But now the current implementation forces the user of the
>> setBinaryStream to buffer all bytes to memory just to know how many
>> bytes the stream will actually hold. And after that it can already
>> call setBytes thus making the whole setBinaryStream useless when the
>> stream length is not known beforehand.
>
>
> Not true -- consider the case where you know the length but the data is
> held out of heap (for example, a large NIO buffer or a file on disk).

Eh, sorry, I misread your last sentence. Certainly if you don't know the
length then you have to buffer internally and setBinaryStream() is of no
use.

The common case I've seen so far on the list is inserting from a file.
It seems much less common to not know the length of your stream ahead of
time..

-O

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Oliver Jowett 2004-08-20 10:04:40 Re: OutOfMemory when inserting stream of unknown length
Previous Message Oliver Jowett 2004-08-20 09:46:25 Re: OutOfMemory when inserting stream of unknown length