From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Andre Holzner <Andre(dot)Holzner(at)cern(dot)ch>, pgsql-sql(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Array slice subscripts (was Re: [SQL] plpgsql function |
Date: | 2002-02-22 03:55:55 |
Message-ID: | 200202220355.g1M3ttr13214@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-sql |
Is this a TODO item?
---------------------------------------------------------------------------
Tom Lane wrote:
> Andre Holzner <Andre(dot)Holzner(at)cern(dot)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
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2002-02-22 04:01:42 | Re: Automatic transactions in psql |
Previous Message | Bruce Momjian | 2002-02-22 03:54:18 | Re: elog() proposal |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2002-02-22 04:14:36 | Re: Array slice subscripts (was Re: [SQL] plpgsql function with more than one array argument) |
Previous Message | Christopher Kings-Lynne | 2002-02-22 03:13:42 | Re: create index on function - why? |