X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id E59C8D1B182 for ; Mon, 2 Aug 2004 23:11:18 -0300 (ADT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 29574-03 for ; Tue, 3 Aug 2004 02:11:21 +0000 (GMT) Received: from spacecybernetics.com (unknown [69.51.156.50]) by svr1.postgresql.org (Postfix) with ESMTP id F24A4D1B17B for ; Mon, 2 Aug 2004 23:11:15 -0300 (ADT) Received: from localhost (localhost [127.0.0.1]) by spacecybernetics.com (8.12.8/8.12.8) with ESMTP id i732BJ7k002224; Mon, 2 Aug 2004 22:11:20 -0400 Subject: Re: Trigger and function not on speaking terms From: Kevin Davis To: Jeff Boes Cc: pgsql-sql@postgresql.org In-Reply-To: References: Content-Type: text/plain Organization: Message-Id: <1091499079.28663.14.camel@spacecybernetics.com> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.2.2 (1.2.2-5) Date: 02 Aug 2004 22:11:19 -0400 Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, hits=0.0 tagged_above=0.0 required=5.0 tests= X-Spam-Level: X-Archive-Number: 200408/33 X-Sequence-Number: 18530 You need to define fn_foo w/o params per Doc Section 19.9. Your intent as expressed in the trigger def (args) can then be fulfilled through special top level vars. On Mon, 2004-08-02 at 16:20, Jeff Boes wrote: > Hmm, this is puzzling me: > > create or replace function fn_foo(text) returns trigger as ' > begin > # Do some stuff with $1 > end; > ' language 'plpgsql'; > > CREATE FUNCTION > > create table bar (aaa text); > > CREATE TABLE > > create trigger trg_bar > after insert or update on bar > execute procedure fn_foo('string'); > > ERROR: function fn_foo() does not exist > > It would seem my trigger definition is trying to find fn_foo(), when I > mean for it to call fn_foo(TEXT).