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 по дате отправления: