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 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Prevent auto_explain from changing the output of a user's EXPLAI
Следующее
От: Bruce Momjian
Дата:
Сообщение: pgsql: doc: 9.4 release notes update for pg_bench line limit item