array/function question

Поиск
Список
Период
Сортировка
От Joshua Berry
Тема array/function question
Дата
Msg-id 9824CDCD-B0E3-4C2F-9CA4-5CF454EBD862@gmail.com
обсуждение исходный текст
Ответы Re: array/function question  (Alvaro Herrera <alvherre@commandprompt.com>)
Re: array/function question  (Nagy Zoltan <kirk@bteam.hu>)
Re: array/function question  (Pavel Stehule <pavel.stehule@gmail.com>)
Список pgsql-general
Hello All,

I'm trying to optimize a few slow queries and helper functions, and
have found a poor performing function. To improve performance, I'd
like to create a function that does the following:


Inputs:
A: an array of integers. for example: { 1, 2, 3, 4, 7 }
B: an array of integers. for example: { 1, 4, 8, 9 }

Returns
C: an array of bools the same dimensions as Array A. In this example:
{ true, false, false, false, true, false }

Effectively, this function would use Array A as a set of boolean tests
to exercise on Array B. The result array will have the save number of
elements as array A.

What I lack is the knowledge of how to
1. index and compare arrays when their input size is not known. (I
only know how to use hardcoded indexes like A[1], B[2], etc.
2. To use control structures for recursion/looping. I've read
http://www.postgresql.org/docs/8.3/interactive/plpgsql-control-structures.html 
  but still not sure how to apply the grammar to arrays data types.

If there is a builtin array function that achieves this, that would be
good to know as well.

Cheers,

-Joshua

Joshua Berry

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

Предыдущее
От: Marsh Ray
Дата:
Сообщение: Commit visibility guarantees
Следующее
От: Steve Crawford
Дата:
Сообщение: Re: Data in a table to a csv file