Re: tg_trigtuple not NULL in AFTER STATEMENT triggers? - Mailing list pgsql-hackers

From Tom Lane
Subject Re: tg_trigtuple not NULL in AFTER STATEMENT triggers?
Date
Msg-id 25642.1154365564@sss.pgh.pa.us
Whole thread Raw
In response to Re: tg_trigtuple not NULL in AFTER STATEMENT triggers?  (Michael Fuhr <mike@fuhr.org>)
List pgsql-hackers
Michael Fuhr <mike@fuhr.org> writes:
> On Mon, Jul 31, 2006 at 11:12:14AM -0400, Tom Lane wrote:
>> Michael Fuhr <mike@fuhr.org> writes:
>>> I've noticed that tg_trigtuple and tg_newtuple aren't cleared to
>>> NULL in AFTER STATEMENT triggers.  Is that an oversight,
>> 
>> Probably.  Send a patch?

> Sure.  Is the switch in AfterTriggerExecute() around line 2116 in
> commands/trigger.c close to where I should be looking?

Yeah, it looks like some attention needs to be paid to whether
ate_oldctid and ate_newctid were supplied, rather than just blindly
passing pointers to possibly-uninitialized local structs.

Offhand I think you could remove the "switch" entirely in favor of
driving the setup of these fields off the "if (ItemPointerIsValid(..."
tests.
        regards, tom lane


pgsql-hackers by date:

Previous
From: "Jim C. Nasby"
Date:
Subject: Re: [PATCHES] extension for sql update
Next
From: Stephen Frost
Date:
Subject: Re: Relation locking and relcache load (was Re: Going for "all green" buildfarm results)