From: Riccardo G. Facchini <abief_ag_-postgresql@yahoo.com>
To: pgsql-sql@postgresql.org
Subject: Re: Trigger calling a function HELP ME! (2)
Date: Mon, 26 Apr 2004 00:47:13 -0700 (PDT)
Message-ID: <20040426074713.32544.qmail@web13906.mail.yahoo.com> (raw)
In-Reply-To: <200404221219.12694.dev@archonet.com>
--- Richard Huxton <dev(AT)archonet.com> wrote:
> On Wednesday 21 April 2004 16:16, abief_ag_-postgresql(AT)yahoo.com
> wrote:
>
> > CREATE OR REPLACE FUNCTION public.imp_test_to_out_test(imp_test)
> > RETURNS imp_test AS
> > 'begin
> > return $1;
> > end;'
> > LANGUAGE 'plpgsql' STABLE;
> >
> > CREATE OR REPLACE FUNCTION public.imp_test_trigger()
> > RETURNS trigger AS
> > 'begin
> > return imp_test_to_out_test(new);
> > end;'
> > LANGUAGE 'plpgsql' STABLE;
>
> This is your problem. NEW is a special variable, and I don't think
> you can
> pass it into another function (other than as NEW.col1, NEW.col2,
> NEW.col3
> etc).
>
> You can however use TG_NAME or TG_RELNAME to see what trigger/table
> called
> you. I find that's helpful.
> --
> Richard Huxton
> Archonet Ltd
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
One other issue, as I understand it, NEW (and OLD) is a variable of
type record, so you should be able to pass it to a function and get it
as a return value, but it seems that there is a bug reported for
version 7.2.1 that inhibits the use of record as type to be passed to a
function.
any suggestion?
=====
Riccardo G. Facchini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: abief_ag_-postgresql@yahoo.com
Subject: Re: Trigger calling a function HELP ME! (2)
In-Reply-To: <20040426074713.32544.qmail@web13906.mail.yahoo.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox