Re: Array types

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/

In response to

Responses

Browse pgsql-hackers by date

  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