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 8183CD1B1B4 for ; Mon, 2 Aug 2004 18:21:31 -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 25734-06 for ; Mon, 2 Aug 2004 21:21:26 +0000 (GMT) Received: from megazone.bigpanda.com (megazone.bigpanda.com [64.147.171.210]) by svr1.postgresql.org (Postfix) with ESMTP id CD7CAD1B184 for ; Mon, 2 Aug 2004 18:21:22 -0300 (ADT) Received: by megazone.bigpanda.com (Postfix, from userid 1001) id 8E3C43553B; Mon, 2 Aug 2004 14:21:24 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by megazone.bigpanda.com (Postfix) with ESMTP id 71DF435290; Mon, 2 Aug 2004 14:21:24 -0700 (PDT) Date: Mon, 2 Aug 2004 14:21:24 -0700 (PDT) From: Stephan Szabo To: Jeff Boes Cc: pgsql-sql@postgresql.org Subject: Re: Trigger and function not on speaking terms In-Reply-To: Message-ID: <20040802141931.W62987@megazone.bigpanda.com> References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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/18 X-Sequence-Number: 18515 On Mon, 2 Aug 2004, 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). I don't remember why, but the arguments from the create trigger statement are passed differently from standard arguments (I think it's like TGARGS in plpgsql).