Michail Antonov wrote:
> The following bug has been logged online:
>
> Bug reference: 5319
> Logged by: Michail Antonov
> Email address: atin65536@gmail.com
> PostgreSQL version: 8.4.2
> Operating system: Windows XP
> Description: recursion in the triggers
> Details:
>
> I have 'after insert' trigger, which call function, which insert row in the
> same table. I expect, that trigger will be called again, but it does not
> heppened.
>
> Reply me, is it a bug or feature?
>
>
I would argue this is a feature. Foreign keys are implemented as
triggers. There are many cases where you want rows inserted on triggers
to also run checks on the data for validity and those are usually
written in triggers.
If you need to protect against this, you will need to use the NEW row to
find out if it's one of the automatically inserted rows. If that's the
case, don't do anything.
Regards
Russell