Re: [COMMITTERS] pgsql: Implement multivariate n-distinctcoefficients - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: [COMMITTERS] pgsql: Implement multivariate n-distinctcoefficients
Date
Msg-id 20170324190230.bbcxbbdf6267dqhh@alvherre.pgsql
Whole thread Raw
In response to Re: [COMMITTERS] pgsql: Implement multivariate n-distinct coefficients  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Robert Haas wrote:
> On Fri, Mar 24, 2017 at 1:16 PM, Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
> > Implement multivariate n-distinct coefficients
> 
> dromedary and arapaima have failures like this, which seems likely
> related to this commit:
> 
>   EXPLAIN
>    SELECT COUNT(*) FROM ndistinct GROUP BY a, d;
>                                QUERY PLAN
>   ---------------------------------------------------------------------
> !  HashAggregate  (cost=225.00..235.00 rows=1000 width=16)
>      Group Key: a, d
> !    ->  Seq Scan on ndistinct  (cost=0.00..150.00 rows=10000 width=8)
>   (3 rows)

Yes.  What seems to be going on here, is that both arapaima and
dromedary are 32 bit machines; all the 64 bit ones are passing (except
for prion which showed a real relcache bug, which I already stomped).
Now, the difference is that the total cost in those machines for seqscan
is 155 instead of 150.  Tomas suggests that this happens because
MAXALIGN is different, leading to packing tuples differently: the
expected cost (on our laptop's 64 bit) is 155, and the cost we get in 32
bit arch is 150 -- so 5 pages of difference.  We insert 1000 rows on the
table; 4 bytes per tuple would amount to 40 kB, which is exactly 5
pages.

I'll push an alternate expected file for this test, which we think is
the simplest fix.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: increasing the default WAL segment size
Next
From: Tom Lane
Date:
Subject: Re: WIP: Faster Expression Processing v4