Re: Array types
От | John Lister |
---|---|
Тема | Re: Array types |
Дата | |
Msg-id | D529CFBDEAEA418D80166DA8092B6D37@squarepi.com обсуждение исходный текст |
Ответ на | Array types ("John Lister" <john.lister-ps@kickstone.com>) |
Список | pgsql-hackers |
> On Wed, Apr 8, 2009 at 4:11 PM, John Lister > <john.lister-ps@kickstone.com> wrote: >> 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. > > No, you can't easily get an array of arrays in Postgres. You can get > multi-dimensional arrays but that's one big array with multiple > dimensions. The text output form does look like an array of arrays > but they don't behave like you might think they would: Cheers, it wasn't clear if you have an array of arrays of which the nested ones were of a different type. but it looks like all the values have to be the same type, eg select (array[array[1,2,3,4],array['test']]) fails.. this makes life simpler :) >> 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) > > No, nulls are handled using a bitmap inside the array data structure. > > Array bounds don't have to start at 1, they can start below 1 or above 1. > > postgres=# select ('[-2:-1][5:8]={{1,2,3,4},{5,6,7,8}}'::int[])[-2][5]; > int4 > ------ Somehow missed the bounds in the docs. Cheers that has cleared that up... JOHN
В списке pgsql-hackers по дате отправления: