Re: function to operate on same fields, different records?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: will trillich <will(at)serensoft(dot)com>
Cc: pgsql-general(at)postgresql(dot)org, "Eric G(dot) Miller" <egm2(at)jps(dot)net>
Subject: Re: function to operate on same fields, different records?
Date: 2001-04-02 14:21:34
Message-ID: 7669.986221294@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

will trillich <will(at)serensoft(dot)com> writes:
> i've tried
> create function gpa(OPAQUE) ....
> and psql tells me it successfully
> CREATED
> something, but
> \df
> shows no such function.

I believe \df suppresses opaque-argument functions, on the theory that
they're probably just I/O functions. But OPAQUE won't do you any good
anyway unless you code the function in C.

> what arg to i specify to allow varying records (with a subset of
> exactly-the-same-names field subset) to be passed to a function?

Inheritance seems to work for this in current sources:

regression=# create table p1 (f1 int);
CREATE
regression=# create table p2 (f2 int) inherits (p1);
CREATE
regression=# create function getf1(p1) returns int as '
regression'# select $1.f1' language 'sql';
CREATE
regression=# insert into p1 values(1);
INSERT 1030276 1
regression=# insert into p2 values(11,22);
INSERT 1030277 1
regression=# select getf1(p1) from p1;
getf1
-------
1
11
(2 rows)

regression=#

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2001-04-02 14:37:27 Re: Cascading deletes with rules in 7.0.3: why doesn't this work?
Previous Message Tom Lane 2001-04-02 14:13:12 Re: pg_dump -s puts out SETVAL lines