Re: array faults?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: array faults?
Дата
Msg-id 23933.1073661949@sss.pgh.pa.us
обсуждение исходный текст
Ответ на array faults?  (David Helgason <david@uti.is>)
Список pgsql-general
David Helgason <david@uti.is> writes:
> EXAMPLE 1:
> maint=# select ('{{1,2,3},{4,5,6}}'::int[])[1][1:3];
>     int4
> -----------
>   {{1,2,3}}
> (1 row)

> Shouldn't this have been just {1,2,3} ?

Nope.  It's equivalent to (...)[1:1][1:3].  See section 8.10.3 "Accessing
Arrays" in the current documentation.  Note in particular where it says

 An array subscripting operation is always taken to represent an array
 slice if any of the subscripts are written in the form lower:upper. A
 lower bound of 1 is assumed for any subscript where only one value is
 specified, ...

> Shouldn't this have been just {4,5,6} (or maybe {{4,5,6}} accepting the
> result of example 1) ?

See above.  You need to write [2:2] not [2].

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: Oleg Lebedev
Дата:
Сообщение: deferring/disabling unique index
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: deferring/disabling unique index