Re: Setting variables equal to elements from an Array

Поиск
Список
Период
Сортировка
От cdecarlo
Тема Re: Setting variables equal to elements from an Array
Дата
Msg-id 548909bf-91af-4fcb-9fd0-44e4dbd6ac97@k2g2000hse.googlegroups.com
обсуждение исходный текст
Ответ на Setting variables equal to elements from an Array  (cdecarlo <cdecarlo@gmail.com>)
Ответы Re: Setting variables equal to elements from an Array  (Martijn van Oosterhout <kleptog@svana.org>)
Re: Setting variables equal to elements from an Array  ("Scott Marlowe" <scott.marlowe@gmail.com>)
Список pgsql-general
On Jan 8, 11:35 am, t...@sss.pgh.pa.us (Tom Lane) wrote:
> cdecarlo <cdeca...@gmail.com> writes:
> > I'm new to pl/pgsql and postgres and I need some help with a part of
> > my function.  In the function I loop through a multidemensional array
> > ( [n][3] ), once, while inside the loop, I find the index I want to
> > work with I would like to set a separate variableequalto the element
> > in the array at that index ( newVar = array[i] ).
>
> The rest of your message suggests that what you want is not that at all,
> but to set the other variable to an array that consists of one or moreelementsfrom the original array.  You need to
beclearer in your own 
> mind about which it is you're doing --- an array of one element is
> completely different from the element itself.
>
> If you use subscripts that include a colon (:), then the result is a
> sub-array and has to be assigned to a variable that's of the array
> type.  If you don't use a colon then the subscripting operation produces
> a single value that's of the array element type, and has to be assigned
> to a variable of that type.  You have to use the correct number of
> subscripts in either case, else you get a NULL, as you found out.
>
>                         regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
>        choose an index scan if your joining column's datatypes do not
>        match

Tom,

Maybe it's the combination of it being early in the day and that I'm
not much of a morning person lately, but your reply really pissed me
off.  It came across as though you were 'helping' me from your
sanctimonious, holier-than-thou high horse, which, and I hope this
comes across as being clear in your mind, doesn't help.

Maybe, an example will help you understand what I want to do:

Let myArray be {{1,2,3},{4,5,6},{7,8,9}} and suppose the element I'm
looking for has, in it's first index, an even number. I would loop
through myArray looking at the first index of each element and when I
got to index 2 of myArray I would have found an element which meets
that criteria.  How would I set myVar equal to the second element of
myArray?

When i is 2, does myVar := myArray[i] set myVar equal to {4,5,6}?

OR

When i is 2, does myVar := myArray[i][3:3] set myVar equal to {4,5,6}?

OR

Are both incorrect?

-Colin

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

Предыдущее
От: leonardz
Дата:
Сообщение: postgres 8.3 release date and 2008-01-07 Cumulative Security Update Release
Следующее
От: leonardz
Дата:
Сообщение: Postgres and MySQL Rosetta stone??