postgresql/src/backend/commands
Tom Lane e416830a29 Prevent auto_explain from changing the output of a user's EXPLAIN.
Commit af7914c662, which introduced the
EXPLAIN (TIMING) option, for some reason coded explain.c to look at
planstate->instrument->need_timer rather than es->timing to decide
whether to print timing info.  However, the former flag might get set
as a result of contrib/auto_explain wanting timing information.  We
certainly don't want activation of auto_explain to change user-visible
statement behavior, so fix that.

Also fix an independent bug introduced in the same patch: in the code
path for a never-executed node with a machine-friendly output format,
if timing was selected, it would fail to print the Actual Rows and Actual
Loops items.

Per bug #10404 from Tomonari Katsumata.  Back-patch to 9.2 where the
faulty code was introduced.
2014-05-20 12:20:47 -04:00
..
aggregatecmds.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
alter.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
analyze.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
async.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
cluster.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
collationcmds.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
comment.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
constraint.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
conversioncmds.c Make various variables const (read-only). 2014-01-18 16:04:32 -05:00
copy.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
createas.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
dbcommands.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
define.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
discard.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
dropcmds.c Make DROP IF EXISTS more consistently not fail 2014-01-23 14:40:29 -03:00
event_trigger.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
explain.c Prevent auto_explain from changing the output of a user's EXPLAIN. 2014-05-20 12:20:47 -04:00
extension.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
foreigncmds.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
functioncmds.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
indexcmds.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
lockcmds.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
Makefile Add a materialized view relations. 2013-03-03 18:23:31 -06:00
matview.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
opclasscmds.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
operatorcmds.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
portalcmds.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
prepare.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
proclang.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
schemacmds.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
seclabel.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
sequence.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
tablecmds.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
tablespace.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
trigger.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
tsearchcmds.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
typecmds.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
user.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
vacuum.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
vacuumlazy.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
variable.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
view.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00