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 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: psql \d commands and information_schema
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: psql \d commands and information_schema