Re: JDBC driver's (non-)handling of InputStream:s - Mailing list pgsql-jdbc

From Guido Fiala
Subject Re: JDBC driver's (non-)handling of InputStream:s
Date
Msg-id 200403311046.17224.guido.fiala@dka-gmbh.de
Whole thread Raw
In response to Re: JDBC driver's (non-)handling of InputStream:s  (Dave Cramer <pg@fastcrypt.com>)
List pgsql-jdbc
>> It would be great if you could supply a test case which exhibits this
>> behaviour.
>
>I can probably do that relatively easily (though of course subject to the
>behavior of the VM memory manager), though given Oliver Jowett's response
it
>seems pretty obvious what is happening - allocating a 5 MB byte array is
>failing and/or the byte array is constructed in a tight loop allocating
>incrementally larger arrays until the data fits.

It's slightly more "intelligent" - see code...

>Allocating such large arrays is bound to be unreliable in any case, so as
long
>as that is what's happening I fully understand it and there's probably not
>much to be done...

Thats true so long the consumer needs the data fully in RAM, e.g. an
Image-Label or similar. If the consumer is also stream-based it could be
avoided. Unfortunately the backend would still hold the results of the query
fully in memory which is also not always desired...

Guido

pgsql-jdbc by date:

Previous
From: Guido Fiala
Date:
Subject: Re: OutOfMemory
Next
From: Hans-Jürgen Schönig
Date:
Subject: very interesting JDBC problem ...