Function parameters of rowtype
How are function parameters of rowtype specified when
calling them from a client such as libpq? Is there a syntax
similar to that for arrays? (eg, {x, y, z} )
Thanks,
Iker
Iker Arizmendi <iker@research.att.com> writes:
How are function parameters of rowtype specified when
calling them from a client such as libpq?
Something like
select myfunc(t.*) from tab t where ...
regards, tom lane
But what if there is no table? Instead, is there
some way to specify the row tuple explicitly, similar
to what is done for arrays? I'd like to create a type
and define an instance of that type as part of the
SQL statement. For example,
CREATE TYPE user_t
{
id varchar,
pwd varchar
};
CREATE FUNCTION add_user(user_t)
RETURNS INT4 AS
DECLARE
p_user ALIAS FOR $1;
BEGIN
INSERT INTO user (id, pwd)
VALUES (p_user.id, p_user.pwd);
-- etc, etc, etc
END
then, from the client I might do something like:
SELECT add_user('{john, john123}');
with something like this I can get around Postgres'
limit of 32 parameters without having to compile a
custom version of the DB. One of the entities we're
working has many more than 32 parts which I'd rather
not have to split.
Regards,
Iker
Tom Lane wrote:
Show quoted text
Iker Arizmendi <iker@research.att.com> writes:
How are function parameters of rowtype specified when
calling them from a client such as libpq?Something like
select myfunc(t.*) from tab t where ...regards, tom lane