

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
22 messages in org.postgresql.pgsql-jdbcRe: Binary tx format for an array?| From | Sent On | Attachments |
|---|---|---|
| Michael Guyver | Jun 21, 2006 10:26 am | |
| Dave Cramer | Jun 21, 2006 12:55 pm | |
| Mark Lewis | Jun 21, 2006 1:31 pm | |
| Tom Lane | Jun 21, 2006 3:40 pm | |
| Michael Guyver | Jun 22, 2006 1:16 am | |
| Tom Lane | Jun 22, 2006 9:54 am | |
| Mark Lewis | Jun 22, 2006 12:15 pm | |
| Michael Guyver | Jun 23, 2006 1:22 am | |
| Dave Cramer | Jun 23, 2006 4:43 am | |
| Markus Schaber | Jun 23, 2006 4:59 am | |
| Michael Guyver | Jun 23, 2006 5:46 am | |
| Dave Cramer | Jun 23, 2006 5:56 am | |
| Dave Cramer | Jun 23, 2006 6:16 am | |
| Tom Lane | Jun 23, 2006 9:18 am | |
| Mark Lewis | Jun 23, 2006 1:31 pm | |
| Dave Cramer | Jun 23, 2006 1:39 pm | |
| Kris Jurka | Jun 23, 2006 1:46 pm | |
| Mark Lewis | Jun 23, 2006 1:59 pm | |
| Marc Herbert | Jul 10, 2006 2:19 am | |
| Mark Lewis | Jul 10, 2006 9:18 am | |
| Marc Herbert | Jul 10, 2006 10:53 am | |
| Mark Lewis | Jul 10, 2006 11:59 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: Binary tx format for an array? | Actions... |
|---|---|---|
| From: | Dave Cramer (pg...@fastcrypt.com) | |
| Date: | Jun 23, 2006 4:43:52 am | |
| List: | org.postgresql.pgsql-jdbc | |
Michael
I'm curious. Are you attempting to implement the binary protocol for the jdbc driver ?
If so, how are you dealing with date types which are either 64 bit or floating point.
Have you done any testing to see if it is actually faster ?
There's certainly no question with timestamp/date parsing, others may be questionable .
Dave On 23-Jun-06, at 4:22 AM, Michael Guyver wrote:
On 22/06/06, Tom Lane <tg...@sss.pgh.pa.us> wrote:
No, in the buffer they'll be in network (big-endian) byte order,
[0x00][0x00][0x00][0x17]
On 22/06/06, Mark Lewis <mark...@mir3.com> wrote:
Java tried so hard to hide endianness from you that it didn't provide any real support for those times when you DO need to be aware of it. So the "convention" looks kind of like this (snipped from the PG JDBC driver):
public void SendInteger4(int val) throws IOException { SendChar((val >> 24)&255); SendChar((val >> 16)&255); SendChar((val >> 8)&255); SendChar(val&255); }
Of course that's right: I got myself confused.
Thanks very much for your help, no doubt I'll be back for some more (please sir) in the future.
I'm optimistic I'm on the right track but wanted to conceive a way of unit testing the different Java classes that represent PG types, and their binary Tx and Rx methods.
One way I thought of doing this is simply to send the values over JDBC (specifying binary parameters) and check the contents of a test table once all the inserts are done, but such unit tests get very messy very quickly, and you wind up storing your expected results in a different file, which is firstly something you have to keep in sync with the source code and secondly tends to grow and become unmanageable very quickly.
Another way would be to use the JNI mechanism to talk directly to the PG code, calling the xxxrecv() functions for the type you're testing, reading back the type's value using the xxxsend() method. Not being a C man, I'm not sure how easy this would be and would appreciate any suggestions.
Regards,
Michael
---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives?







