Re: stack depth limit exceeded - Mailing list pgsql-general

From Frank L. Parks
Subject Re: stack depth limit exceeded
Date
Msg-id 431319E3.6060004@ezbizpartner.com
Whole thread Raw
In response to Re: stack depth limit exceeded  (Jamie Deppeler <jamie@doitonce.net.au>)
List pgsql-general
I think that you forgot the table name.

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

Frank

Jamie Deppeler wrote:

> 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@doitonce.net.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
>>
>>
>>
>>
>>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>
>
>


pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Planner create a slow plan without an available index
Next
From: CSN
Date:
Subject: About dropped notifications