Re: explain with costs in subselect.sql

2018-03-12 Thread Andres Freund
On 2018-03-12 18:25:42 -0400, Tom Lane wrote:
> Andres Freund  writes:
> > When forcing JITing to be enabled for all queries, obviously only useful
> > for testing, I noticed that two explain outputs changed after I added
> > explain support.
> 
> > The only differences come from:
> 
> > -- Unspecified-type literals in output columns should resolve as text
> 
> > SELECT *, pg_typeof(f1) FROM
> >   (SELECT 'foo' AS f1 FROM generate_series(1,3)) ss ORDER BY 1;
> 
> > -- ... unless there's context to suggest differently
> 
> > explain verbose select '42' union all select '43';
> > explain verbose select '42' union all select 43;
> 
> > which don't use costs=off.  Is there a reason for that? I assume it was
> > just a harmless oversight?
> 
> Duh, yeah, explain (verbose, costs off) would do fine there.
> Mea culpa.  Do you want to fix it?

Yup, will do.

Random aside: Noticed that we have *no* proper coverage of AND / OR
behaviour of returning NULL if no element returns true. Will push
something to add coverage, I've now manually retested that twice for
JITing, which seems stupid.

Greetings,

Andres Freund



Re: explain with costs in subselect.sql

2018-03-12 Thread Tom Lane
Andres Freund  writes:
> When forcing JITing to be enabled for all queries, obviously only useful
> for testing, I noticed that two explain outputs changed after I added
> explain support.

> The only differences come from:

> -- Unspecified-type literals in output columns should resolve as text

> SELECT *, pg_typeof(f1) FROM
>   (SELECT 'foo' AS f1 FROM generate_series(1,3)) ss ORDER BY 1;

> -- ... unless there's context to suggest differently

> explain verbose select '42' union all select '43';
> explain verbose select '42' union all select 43;

> which don't use costs=off.  Is there a reason for that? I assume it was
> just a harmless oversight?

Duh, yeah, explain (verbose, costs off) would do fine there.
Mea culpa.  Do you want to fix it?

regards, tom lane