Re: Binary tx format for an array?

From: "Michael Guyver" <kenevel(at)googlemail(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Binary tx format for an array?
Date: 2006-06-23 08:22:34
Message-ID: 30b57570606230122s4827d2ectd470e3c4ff6ad228@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On 22/06/06, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)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(dot)lewis(at)mir3(dot)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

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Dave Cramer 2006-06-23 11:44:15 Re: Binary tx format for an array?
Previous Message DanixDefcon5 2006-06-22 21:25:10 Re: Lock-when-Loaded failing