Обсуждение: plpgsql function parameter questions
these 2 questions are actually unrelated... 1. what version of pg do i need to go to in order to eliminate the '16 parameter maximum' restraint? 2. can i pass an array of integers to a function? can i return an array of integers? if so, what would the function definition look like? thanks greg
I think 7.0 or 7.1. Not sure. > these 2 questions are actually unrelated... > > 1. what version of pg do i need to go to in order to eliminate the '16 > parameter maximum' restraint? > > 2. can i pass an array of integers to a function? can i return an array of > integers? if so, what would the function definition look like? > > thanks > > greg > > > > > > ---------------------------(end of broadcast)--------------------------- > TIP 6: Have you searched our list archives? > > http://www.postgresql.org/search.mpl > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
>> 1. what version of pg do i need to go to in order to eliminate the '16
>> parameter maximum' restraint?
Build your own version with a suitable value of FUNC_MAX_ARGS (a/k/a
INDEX_MAX_KEYS) in src/include/config.h.
>> 2. can i pass an array of integers to a function? can i return an array of
>> integers? if so, what would the function definition look like?
test71=# create function foo (integer[]) returns integer[] as '
test71'# begin
test71'# return $1;
test71'# end;' language 'plpgsql';
CREATE
test71=# select foo('{1,2,3}');
foo
---------
{1,2,3}
(1 row)
Actually doing any serious manipulation of an array in plpgsql might be
tricky, however. In particular, I don't see any simple way to construct
an array value from scratch. You might have better luck with pltcl.
There are examples of array-value manipulation in pltcl's self-test, IIRC.
regards, tom lane