Skip site navigation (1) Skip section navigation (2)

Re: stack depth limit exceeded

From: Jamie Deppeler <jamie(at)doitonce(dot)net(dot)au>
To: PostgreSQL General <pgsql-general(at)postgresql(dot)org>
Subject: Re: stack depth limit exceeded
Date: 2005-08-29 03:45:32
Message-ID: 431284DC.5000306@doitonce.net.au (view raw or flat)
Thread:
Lists: pgsql-general
What i am trying to do is update the field contact with field values in 
firstname and lastname

Trigger

CREATE TRIGGER "updateContact" AFTER INSERT OR UPDATE
ON  FOR EACH ROW
EXECUTE PROCEDURE "contacts"."addContactField"();

Procedure

CREATE OR REPLACE FUNCTION "contacts"."addContactField" () RETURNS 
trigger AS
$body$
begin
  update contacts.person
  set "contact" = new.firstname
  where person."primary" = new."primary";
  return null;
end;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;

Tom Lane wrote:

>Jamie Deppeler <jamie(at)doitonce(dot)net(dot)au> writes:
>  
>
>>At the moment i am trying to execute a very simple function but i am 
>>getting the following error stack depth limit exceeded
>>    
>>
>
>You didn't really show the complete context, but seeing that this is a
>trigger and it's trying to do an "UPDATE person" internally, I'll bet
>a nickel that the trigger itself is on update events on person, and
>therefore that you've written an infinite recursion.
>
>Had you shown more context, I could have given some advice on a better
>way to do it.  If you're trying to alter the row that's about to be
>stored, you just have to assign to field(s) of the NEW row within the
>trigger.  If you want to do something else, you need to explain what.
>
>			regards, tom lane
>
>---------------------------(end of broadcast)---------------------------
>TIP 4: Have you searched our list archives?
>
>               http://archives.postgresql.org
>
>
>
>  
>


In response to

Responses

pgsql-general by date

Next:From: Surabhi Ahuja Date: 2005-08-29 07:43:00
Subject: Re: regarding threads and transactions - problem 2
Previous:From: John D. BurgerDate: 2005-08-29 03:10:02
Subject: Re: About "ERROR: must be *superuser* to COPY to or from a file"

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group