pgsql: Prevent auto_explain from changing the output of a user's EXPLAI
| От | Tom Lane |
|---|---|
| Тема | pgsql: Prevent auto_explain from changing the output of a user's EXPLAI |
| Дата | |
| Msg-id | E1WmmnH-0004yv-Bi@gemulon.postgresql.org обсуждение исходный текст |
| Список | pgsql-committers |
Prevent auto_explain from changing the output of a user's EXPLAIN. Commit af7914c6627bcf0b0ca614e9ce95d3f8056602bf, 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. Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/e416830a296f440acd67afd8599dde5411021fc4 Modified Files -------------- src/backend/commands/explain.c | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-)
В списке pgsql-committers по дате отправления: