EXPLAIN vs track_io_timing=on vs tests

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-hackers(at)postgresql(dot)org
Cc: Maciek Sakrejda <m(dot)sakrejda(at)gmail(dot)com>
Subject: EXPLAIN vs track_io_timing=on vs tests
Date: 2020-10-29 23:10:37
Message-ID: 20201029231037.rkxo57ugnuchykpu@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi

I run my development instances with track_io_timing=on, as I've found
that to be really useful. Unfortunately that causes tests to fail
whenever I forget to turn that off to run installcheck.

The diffs are caused by the additional data shown in the explain tests:
...
- "Temp Written Blocks": N +
+ "Temp Written Blocks": N, +
+ "I/O Read Time": N.N, +
+ "I/O Write Time": N.N +
...

First, why is the output of these fields conditional when using a
non-text format? Seems we instead should output -1 or null. The latter
seems a bit clearer, but is a bit json specific. I guess we could add a
ExplainPropertyNull() or such?

Second, as long as it is conditional, would anybody mind if I put a
track_io_timing=false into explain.sql? We don't try to make the tests
pass with every possible option set, but track_io_timing seems common
enough?

Greetings,

Andres Freund

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2020-10-29 23:30:11 Re: Deleting older versions in unique indexes to avoid page splits
Previous Message Daniel Gustafsson 2020-10-29 22:48:57 contrib/sslinfo cleanup and OpenSSL errorhandling