On Tue, Apr 26, 2016 at 6:44 PM, David Rowley
<david.row...@2ndquadrant.com> wrote:
> On 27 April 2016 at 08:46, Robert Haas <robertmh...@gmail.com> wrote:
>> My proposed fix for this issue is attached.  Review is welcome;
>> otherwise, I'll just commit this.  The output looks like what I
>> suggested upthread:
> + if (!aggref->aggpartial)
> + elog(ERROR, "referenced Aggref is not partial");
> I think this is overly restrictive; ruleutils seems a bit out of line
> here to say that plans can't have > 1 combine aggregate node.
> When coding the combine aggs stuff I had test code to inject
> additional combine paths to make sure everything worked as expected.
> It did, but it won't if you add these two lines. I'd say just remove
> them.
> If you apply the attached and execute;
> create table t1 (num int not null);
> insert into t1 select generate_series(1,2000000);
> explain verbose select avg(num) from t1;
> You'll get;
> ERROR: referenced Aggref is not partial

In this test patch, should aggpath be using partial_grouping_target
rather than target?  I feel like we need to use
partial_grouping_target unless finalizeAggs is true.

Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to