Re: Array slice subscripts (was Re: [SQL] plpgsql function - Mailing list pgsql-hackers

From Andre Holzner
Subject Re: Array slice subscripts (was Re: [SQL] plpgsql function
Date
Msg-id 3C760C98.3B8ECF48@cern.ch
Whole thread Raw
In response to Re: Array slice subscripts (was Re: [SQL] plpgsql function  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers
Hello developpers,

Tom Lane wrote:
>
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Is this a TODO item?
>
> I guess so, since no one seems to have objected to the proposed change.
> It's a pretty trivial change; I'll take care of it.
>
>                         regards, tom lane

I learned to live without it, but I wont be the last one
who tries to use such queries.


best regards & thanks a lot for your efforts,

André


>
> > Tom Lane wrote:
> >> Andre Holzner <Andre.Holzner@cern.ch> writes:
> > Am I doing something wrong or is this a 'feature' ?
> >>
> >> What's biting you is that the array slice operator uses the provided
> >> lower bounds in the resultant array.  For example:
> >>
> >> regression=# select pcha from zdec_bhab;
> >> pcha
> >> ------------------------------------
> >> {{11,12,13},{21,22,23},{31,32,33}}
> >> (1 row)
> >>
> >> regression=# select array_dims(pcha) from zdec_bhab;
> >> array_dims
> >> ------------
> >> [1:3][1:3]
> >> (1 row)
> >>
> >> regression=# select pcha[2:2][1:3] from zdec_bhab;
> >> pcha
> >> --------------
> >> {{21,22,23}}
> >> (1 row)
> >>
> >> regression=# select array_dims(pcha[2:2][1:3]) from zdec_bhab;
> >> array_dims
> >> ------------
> >> [2:2][1:3]
> >> (1 row)
> >>
> >> So your function receives an array with first index starting at 2,
> >> which it's not expecting; its attempt to fetch element [1][1] is out
> >> of bounds and produces a NULL.
> >>
> >> Offhand this behavior seems like a misfeature: perhaps it'd be more
> >> sensible for the extracted slice to always have index lower bounds
> >> set to 1.  But I'd like to see some discussion before changing it
> >> (and I don't plan to touch it before 7.2 release, in any case ;-)).
> >>
> >> Comments anyone?
> >>
> >> regards, tom lane

--
------------------+----------------------------------
Andre Holzner     | +41 22 76 76750
Bureau 32 2-C13   | Building 32
CERN              | Office 2-C13
CH-1211 Geneve 23 | http://wwweth.cern.ch/~holzner/


pgsql-hackers by date:

Previous
From: peter@helpnet_BUT_NOT_SPAM.com.au
Date:
Subject: Re: SET NULL / SET NOT NULL
Next
From: Oleg Bartunov
Date:
Subject: problem with restore of functions