Re: Array slice subscripts (was Re: [SQL] plpgsql function
От | Andre Holzner |
---|---|
Тема | Re: Array slice subscripts (was Re: [SQL] plpgsql function |
Дата | |
Msg-id | 3C760C98.3B8ECF48@cern.ch обсуждение исходный текст |
Ответ на | Re: Array slice subscripts (was Re: [SQL] plpgsql function (Bruce Momjian <pgman@candle.pha.pa.us>) |
Список | 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 по дате отправления: