From: | Andrew Chernow <ac(at)esilo(dot)com> |
---|---|
To: | John Lister <john(dot)lister-ps(at)kickstone(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Array types |
Date: | 2009-04-08 15:07:39 |
Message-ID: | 49DCBDBB.9070303@esilo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Andrew Chernow wrote:
> John Lister wrote:
>> Following this up, is there any docs on the binary wire format for
>> arrays?
>>
>
> None that I know of.
>
> Check out the backend source: (array_recv() and array_send() functions)
> http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/arrayfuncs.c?rev=1.154
>
>
> Or, look at libpqtypes array.c:
> http://libpqtypes.esilo.com/browse_source.html?file=array.c
>
Forgot to mention, this is not as simple as understanding the array
format. You have to understand the wire format for all types that can
be array elements. The array wire format serializes its array elements
as [elem_len][elem_data]. elem_data is the wire format of the array
element type, like an int, timestamp, polygon, bytea, etc... So once
you unravel the array container format, you still have to demarshal the
type data.
--
Andrew Chernow
eSilo, LLC
every bit counts
http://www.esilo.com/
From | Date | Subject | |
---|---|---|---|
Next Message | Merlin Moncure | 2009-04-08 15:10:35 | Re: Array types |
Previous Message | Andrew Chernow | 2009-04-08 14:56:47 | Re: Array types |