Re: Optimizer Doesn't Push Down Where Expressions on Rollups

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Richard Guo <guofenglinux(at)gmail(dot)com>
Cc: logan(dot)bowers(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: Optimizer Doesn't Push Down Where Expressions on Rollups
Date: 2020-03-11 14:06:43
Message-ID: 2865.1583935603@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

Richard Guo <guofenglinux(at)gmail(dot)com> writes:
> In your case, the WHERE clauses would get pushed down into the subquery
> for both queries, with/without the ROLLUP. But since the subquery uses
> grouping/grouping sets, the WHERE clauses would be put in HAVING of the
> subquery.

Right, we do successfully push the clauses into HAVING of the subquery.

> Then when we plan for the subquery, we will decide whether a HAVING
> clause can be transfered into WHERE. Usually we do not do that if there
> are any nonempty grouping sets. Because if any referenced column isn't
> present in all the grouping sets, moving such a clause into WHERE would
> potentially change the results.

Yeah. I think that it might be safe if the proposed clause can
be proven strict for (some subset of?) the grouping columns, because
that would eliminate the rollup grouping sets where those columns
come out NULL because they aren't being grouped on. (This could then
also factor into throwing away those grouping sets, perhaps.)

Anyway, this is not a bug; it's a proposed planner improvement, and
not a trivial one.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Logan Bowers 2020-03-11 16:58:11 Re: Optimizer Doesn't Push Down Where Expressions on Rollups
Previous Message James Coleman 2020-03-11 13:01:16 Re: BUG #16280: dead tuples (probably) effect plan and query performance

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2020-03-11 14:14:12 Re: more ALTER .. DEPENDS ON EXTENSION fixes
Previous Message Andreas Karlsson 2020-03-11 14:01:41 Re: SERIAL datatype column skipping values.