postgres.git / summary / log / commit / refs
commit a48fb0b59811e8b41e727b54b39bef28d6f253ea
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Wed Mar 02 16:17:07 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 1c18274e89b..65d60200314 100644
--- a/doc/src/sgml/perform.sgml
+++ b/doc/src/sgml/perform.sgml
@@ -436,10 +436,13 @@ WHERE t1.unique1 < 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: 82a0e3522205]