From: | "Simon Riggs" <simon(at)2ndquadrant(dot)com> |
---|---|
To: | "Gregory Stark" <stark(at)enterprisedb(dot)com> |
Cc: | <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: HAVING push-down |
Date: | 2007-01-26 15:30:53 |
Message-ID: | 1169825453.3772.367.camel@silverbirch.site |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, 2007-01-26 at 15:22 +0000, Gregory Stark wrote:
> "Simon Riggs" <simon(at)2ndquadrant(dot)com> writes:
>
> > I've just read a paper that says PostgreSQL doesn't do this. My reading
> > of the code is that we *do* evaluate the HAVING clause prior to
> > calculating the aggregates for it. I thought I'd check to resolve the
> > confusion.
> >
> You mean in cases like this?
>
> postgres=# explain select count(*) from customer group by c_w_id,c_d_id,c_id having c_w_id = 1 and c_d_id=1 and c_id=1;
> QUERY PLAN
> ------------------------------------------------------------------------------------
> GroupAggregate (cost=0.00..13.61 rows=1 width=12)
> -> Index Scan using pk_customer on customer (cost=0.00..13.56 rows=4 width=12)
> Index Cond: ((c_w_id = 1) AND (c_d_id = 1) AND (c_id = 1))
> (3 rows)
OK, thanks. I'll feedback to the author of the paper I was reviewing.
--
Simon Riggs
EnterpriseDB http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2007-01-26 15:31:08 | Re: BUG #2917: spi_prepare doesn't accept typename aliases |
Previous Message | Gregory Stark | 2007-01-26 15:22:05 | Re: HAVING push-down |