Re: Array types
От | John Lister |
---|---|
Тема | Re: Array types |
Дата | |
Msg-id | 24AD6A221A5B4B03B87163A772D2F8BB@squarepi.com обсуждение исходный текст |
Ответ на | Array types ("John Lister" <john.lister-ps@kickstone.com>) |
Ответы |
Re: Array types
Re: Array types |
Список | pgsql-hackers |
Cheers for the pointers. Am i right in thinking that if i get an array of arrays, the nested arrays are sent in wire format as well - it seems to be from the docs. Secondly, comments are a bit scarse in the code, but am i also right in thinking that an array indexing can start at an arbitrary value? This seems to be what the lbound value is for... or is this a addition to deal with nulls eg, {null, null, null, 4} would have a lbound of 3.... (or both) Thanks ----- Original Message ----- From: "Andrew Chernow" <ac@esilo.com> To: "John Lister" <john.lister-ps@kickstone.com> Cc: <pgsql-hackers@postgresql.org> Sent: Wednesday, April 08, 2009 4:07 PM Subject: Re: [HACKERS] Array types > 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/ >
В списке pgsql-hackers по дате отправления: