Statistical aggregate functions are not working with partitionwise aggregate
Rajkumar Raghuwanshi <rajkumar.raghuwanshi@enterprisedb.com>
From: Rajkumar Raghuwanshi <rajkumar.raghuwanshi@enterprisedb.com>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2019-05-03T09:26:04Z
Lists: pgsql-hackers
Hi,
On PG-head, Some of statistical aggregate function are not giving correct
output when enable partitionwise aggregate while same is working on v11.
below are some of examples.
CREATE TABLE tbl(a int2,b float4) partition by range(a);
create table tbl_p1 partition of tbl for values from (minvalue) to (0);
create table tbl_p2 partition of tbl for values from (0) to (maxvalue);
insert into tbl values (-1,-1),(0,0),(1,1),(2,2);
--when partitionwise aggregate is off
postgres=# SELECT regr_count(b, a) FROM tbl;
regr_count
------------
4
(1 row)
postgres=# SELECT regr_avgx(b, a), regr_avgy(b, a) FROM tbl;
regr_avgx | regr_avgy
-----------+-----------
0.5 | 0.5
(1 row)
postgres=# SELECT corr(b, a) FROM tbl;
corr
------
1
(1 row)
--when partitionwise aggregate is on
postgres=# SET enable_partitionwise_aggregate = true;
SET
postgres=# SELECT regr_count(b, a) FROM tbl;
regr_count
------------
0
(1 row)
postgres=# SELECT regr_avgx(b, a), regr_avgy(b, a) FROM tbl;
regr_avgx | regr_avgy
-----------+-----------
|
(1 row)
postgres=# SELECT corr(b, a) FROM tbl;
corr
------
(1 row)
Thanks & Regards,
Rajkumar Raghuwanshi
QMG, EnterpriseDB Corporation
Commits
-
Minimally fix partial aggregation for aggregates that don't have one argument.
- 9fea0b0e287e 11.4 landed
- 2657283256f1 12.0 landed
-
Change function call information to be variable length.
- a9c35cf85ca1 12.0 cited