On Fri, Feb 3, 2012 at 2:56 PM, Tomas Vondra <tv@fuzzy.cz> wrote:
> OK, thanks for the explanation. I don't like the idea of subsets as it
> IMHO makes it less obvious what options are enabled. For example this
>
> EXPLAIN (ROWS) query...
>
> does not immediately show it's actually going to do ANALYZE.
Well, it isn't, if ANALYZE means rows + timing...
> I prefer to keep the current 'ANALYZE' definition, i.e. collecting both
> row counts and timing data (which is what 99% of people wants anyway),
> and an option to disable the timing.
>
> And the BUFFERS option currently works exactly like that, so defining
> ROWS the way you proposed would be inconsistent with the current behavior.
>
> Sure, we could redefine BUFFERS as a subset, so you could do
>
> EXPLAIN (ROWS) ... instead of ... EXPLAIN (ANALYZE, TIMING off)
> EXPLAIN (BUFFERS) ... instead of ... EXPLAIN (ANALYZE, BUFFERS on)
>
> but what if someone wants both at the same time? Maybe he could do
>
> EXPLAIN (ROWS, BUFFERS)
>
> and treat that as a union of those subsets. I don't think it's worth it.
Yeah, I forgot that we'd have to allow that, though I don't think it
would be a big deal to fix that.
> I surely can live with both solutions (mine or the one you proposed).
Let's wait and see if anyone else has an opinion.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company