Re: Workarounds for getBinaryStream returning ByteArrayInputStream on bytea - Mailing list pgsql-jdbc

From Kris Jurka
Subject Re: Workarounds for getBinaryStream returning ByteArrayInputStream on bytea
Date
Msg-id alpine.BSO.2.00.1011261019010.21699@leary.csoft.net
Whole thread Raw
In response to Re: Workarounds for getBinaryStream returning ByteArrayInputStream on bytea  (Radosław Smogura <rsmogura@softperience.eu>)
Responses Re: Workarounds for getBinaryStream returning ByteArrayInputStream on bytea  (Radosław Smogura <rsmogura@softperience.eu>)
List pgsql-jdbc

On Fri, 26 Nov 2010, Rados?aw Smogura wrote:

> I would like to send few files for getBinaryStream(). So this will work
> much like stream and will don't eat so much heap. I don't copy source
> this_row[i] array, so I don't know how this will do with concur updates,
> (original method doesn't make this when column is not bytea, too). I left
> few comments if we should throw exception on broken streams in 8.4, or just
> silence notify EOF.

The problem is that the whole bytea is still in this_row[i].  The value
isn't being streamed from the server.  So yes, you are saving a copy of
the value which does save heap space, but that won't really help the
described problem where many large bytea values are fetched because the
driver will have read and stored them all prior to getBinaryStream being
called.

Kris Jurka

pgsql-jdbc by date:

Previous
From: Radosław Smogura
Date:
Subject: Re: Workarounds for getBinaryStream returning ByteArrayInputStream on bytea
Next
From: Radosław Smogura
Date:
Subject: Re: Workarounds for getBinaryStream returning ByteArrayInputStream on bytea