Re: [COMMITTERS] pgsql: Adapt python regression tests to 69f4b9c85f16. - Mailing list pgsql-committers

From Tom Lane
Subject Re: [COMMITTERS] pgsql: Adapt python regression tests to 69f4b9c85f16.
Date
Msg-id 21830.1484790567@sss.pgh.pa.us
Whole thread Raw
In response to [COMMITTERS] pgsql: Adapt python regression tests to 69f4b9c85f16.  (Andres Freund <andres@anarazel.de>)
Responses Re: [COMMITTERS] pgsql: Adapt python regression tests to 69f4b9c85f16.
List pgsql-committers
Andres Freund <andres@anarazel.de> writes:
> Termite is also failing due to differing row orders from the rest of the
> animals. I'd intentionally left those undefined, because I wanted some
> queries without an ORDER BY.  Haven't decided what the best fix is yet.

Looks to me like all the bigendian critters are unhappy with that.
The previous plan (trying it on 9.6) was

 GroupAggregate  (cost=20.68..22.77 rows=400 width=52)
   Group Key: dataa, (unnest('{1,1,3}'::integer[]))
   ->  Sort  (cost=20.68..20.69 rows=4 width=40)
         Sort Key: dataa, (unnest('{1,1,3}'::integer[]))
         ->  Seq Scan on few  (cost=0.00..20.64 rows=4 width=40)
               Filter: (id = 1)

and now we get

 HashAggregate  (cost=27.66..27.71 rows=4 width=52)
   Group Key: dataa, unnest('{1,1,3}'::integer[])
   ->  ProjectSet  (cost=0.00..22.66 rows=400 width=40)
         ->  Seq Scan on few  (cost=0.00..20.62 rows=4 width=36)
               Filter: (id = 1)

This is a good thing: it's coming up with a saner rowcount estimate,
ie it realizes that the sort or hash is going to see a number of rows
inflated by the SRF, and that's prompting it to go with a hashagg not
a sortagg.  But then you get platform-dependent output order from
the hashagg.

If you don't want an ORDER BY, maybe turn off enable_hashagg for
these queries?  But you'll get the same plan either way.

            regards, tom lane


pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: Re: [COMMITTERS] pgsql: Adapt python regression tests to69f4b9c85f16.
Next
From: Tom Lane
Date:
Subject: Re: [COMMITTERS] pgsql: Adapt python regression tests to 69f4b9c85f16.