postgres.git / summary / log / commit / refs

commit    7e49330cad885a76441253da74b88e7d2f27c9f0
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Wed Mar 02 16:17:03 2011 +0000
First released in: 9.1.0, 9.0.4

    Correct mistaken claims about EXPLAIN ANALYZE's handling of triggers.
    
    Time spent executing AFTER triggers is not included in the runtime of the
    associated ModifyTable node; in my patch of yesterday I confused queuing of
    these triggers with their actual execution.  Spotted by Marko Tiikkaja.


doc/src/sgml/perform.sgml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/perform.sgml b/doc/src/sgml/perform.sgml index 72baad27f13..9d5b709aec5 100644 --- a/doc/src/sgml/perform.sgml +++ b/doc/src/sgml/perform.sgml @@ -436,10 +436,13 @@ WHERE t1.unique1 &lt; 100 AND t1.unique2 = t2.unique2; applying the table changes is charged to a top-level Insert, Update, or Delete plan node. (The plan nodes underneath this node represent the work of locating the old rows and/or computing the new ones.) - Time spent firing triggers, if any, is charged to the Insert, - Update, or Delete node, and is also shown separately for each trigger. - Note, however, that deferred triggers will not be fired until end of - transaction and are thus not accounted for in the output of + Time spent executing <literal>BEFORE</> triggers, if any, is charged to + the related Insert, Update, or Delete node, although time spent executing + <literal>AFTER</> triggers is not. The time spent in each trigger + (either <literal>BEFORE</> or <literal>AFTER</>) is also shown separately + and is included in total runtime. + Note, however, that deferred constraint triggers will not be executed + until end of transaction and are thus not shown by <command>EXPLAIN ANALYZE</command>. </para> [parent: 4c966d920fb7]