> Bruce Momjian <maillist@candle.pha.pa.us> writes:
> > But can we compare aggs and non-aggs? I see now that our code is fine:
>
> No, you're barking up the wrong tree. The issue is whether a HAVING
> clause that doesn't contain *any* aggregates is legal/reasonable.
> It can contain non-aggregated references to GROUP BY columns in
> any case. But without aggregates, there's no semantic difference
> from putting the same condition in WHERE.
>
> I believe that planner.c currently has an implementation assumption
> that HAVING must have an aggregate (because it hangs the HAVING clause
> onto the Agg plan node as a qual clause --- if no Agg node, no place to
> perform the HAVING test). This could be fixed if we felt it was worth
> doing.
>
> I can't get excited about changing this from the standpoint of
> functionality, because AFAICS there is no added functionality.
> But if we're looking bad on a recognized benchmark maybe we
> should do something about it.
Agreed. I think there are too many people who get HAVING confused to
allow it. Better that we should prevent it and make them do it right.
-- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026