Re: JDBC with PG 8.4 bytea character escaping wire protocol

Поиск
Список
Период
Сортировка
От dmp
Тема Re: JDBC with PG 8.4 bytea character escaping wire protocol
Дата
Msg-id 4AE08EC2.107@ttc-cmc.net
обсуждение исходный текст
Ответ на Re: JDBC with PG 8.4 bytea character escaping wire protocol  (David Wall <d.wall@computer.org>)
Список pgsql-jdbc
I guess I can not really answer your question, since I have not dug
around in the code, but I can not understand
why the JDBC would escape a byte[] sent or received using the setBytes()
or getBytes() API or the stream
methods. These are binary protocols, which can house any integer value
within the limitations. The bytea
type is is defined as binary which means it does not necessarily
represent a character. Now the answer I guess
could be answered in two ways.

1. Someone here or yourself would have to know or dig through the code
to see if some conversion takes place.
2. Make a test case that sends or receives the data using
setBytes()/getBytes() and one of the APIs that
    does escape characters or you manually escape the characters. Use a
packet sniffer to check the package size
    in both cases. If they are the same then a conversion is taking
place. I would suspect the Bytes() method would
    result in less bandwidth, not more, no data size expansion.

danap

>> Does the JDBC 4 driver for PG 8.4 escape each character of the bytea
>> type, or does it use a binary protocol?
>>
>> From another post, Merlin Moncure wrote, "libpq supports a binary
>> protocol mode which allows you to execute queries sending bytea
>> without escaping."  Is that true of the JDBC driver?  I'm concerned
>> about the data size expansion that would result for the wire protocol
>> when I use setBytes().
>
>
> I tried downloading the JDBC source and must say it was complex enough
> to a newbie that I couldn't really determine the answer myself.
> Does anybody know if the JDBC driver with PG 8.4 communicates using a
> binary protocol for BYTEA transfers to/from or whether it sends
> escaped chars only?  Or perhaps which classes handle the transfer of
> BYTEA to PG and receives BYTEA responses from PG?
>
> Thanks,
> David


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

Предыдущее
От: Richard Broersma
Дата:
Сообщение: Re: JDBC with PG 8.4 bytea character escaping wire protocol
Следующее
От: "Kevin Grittner"
Дата:
Сообщение: Re: commit and rollback don't throw exceptions when theyshould