Re: Streaming bytea implementation offered

Поиск
Список
Период
Сортировка
От Craig Ringer
Тема Re: Streaming bytea implementation offered
Дата
Msg-id 50415F0B.9020504@ringerc.id.au
обсуждение исходный текст
Ответ на Streaming bytea implementation offered  (Werner Donné <werner.donne@pincette.biz>)
Ответы Re: Streaming bytea implementation offered  (Werner Donné <werner.donne@pincette.biz>)
Re: Streaming bytea implementation offered  (Gavin Flower <GavinFlower@archidevsys.co.nz>)
Список pgsql-jdbc
On 09/01/2012 12:49 AM, Werner Donné wrote:
> Hello,
>
> I have modified version 9.1-902 of the driver in order for it to stream bytea values when calling
ResultSet.getBinaryStream().The implementation is here: 
>
> http://www.pincette.biz/home/werner/postgresql-jdbc-9.1-902-patched.src.zip
>
> When a bytea value is larger than 1MB it is streamed to a temporary file instead of being copied in the "answer"
array.When the stream is later accessed, either with "getBinaryInputStream" or "getBytes", the bytes are fetched from
thetemporary file, which is subsequently deleted. The "getBytes" method copies the bytes in the result array, while
"getBinaryInputStream"returns a FileInputStream with an overridden "close" method that deletes the temporary file 

Sounds potentially good, but what happens if it's run inside the
SecurityManager, or in an environment with no ability to create
temporary files?

What about out-of-disk causing failures that wouldn't occur with OOM?

Do you propose to make this always-on, or configurable?

How (if at all) does this interact with JDBC-standard BLOB support, and
with large objects?


If you'd like this change considered, it'd be great if you could create
a patch against the current PgJDBC sources, rather than just publishing
patched sources. I'd recommend that you clone PgJDBC
(https://github.com/pgjdbc/pgjdbc):

     git://github.com/pgjdbc/pgjdbc.git

then copy your changes into that working tree and use `git diff`.
Alternately, you can , `git add` them, `git commit`, then use `git
format-patch` to get a diff; see

     http://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html

Make sure not to include any generated files, and please add some unit
tests demonstrating the functionality if possible.

--
Craig Ringer



В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Werner Donné
Дата:
Сообщение: Streaming bytea implementation offered
Следующее
От: Werner Donné
Дата:
Сообщение: Re: Streaming bytea implementation offered