David Helgason <[EMAIL PROTECTED]> 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 ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match