Re: CTE Materialization - Mailing list pgsql-general

From Дмитрий Иванов
Subject Re: CTE Materialization
Date
Msg-id CAPL5KHoH=+h0c9F8HMi7GCHnORdsy82+qUJvGhFx4PqNBfk_8w@mail.gmail.com
Whole thread Raw
In response to CTE Materialization  (Paul van der Linden <paul.doskabouter@gmail.com>)
List pgsql-general
Спасибо! 
--
С уважением, Дмитрий!


ср, 8 дек. 2021 г. в 22:58, Paul van der Linden <paul.doskabouter@gmail.com>:

On Wed, Dec 8, 2021 at 3:14 AM David G. Johnston <david.g.johnston@gmail.com> wrote:
On Tue, Dec 7, 2021 at 6:40 PM Дмитрий Иванов <firstdismay@gmail.com> wrote:
I beg your pardon.
The problem is more or less clear to me, but the solution is not. What does the "hack is to add an "offset 0" to the query" suggest? Thank you.


A subquery with a LIMIT clause cannot have where clause expressions in upper parts of the query tree pushed down it without changing the overall query result - something the planner is not allowed to do.  For the hack, since adding an actual LIMIT clause doesn't make sense you omit it, but still add the related OFFSET clause so the planner still treats the subquery as a LIMIT subquery.  And since you don't want to skip any rows you specify 0 for the offset.

David J.

pgsql-general by date:

Previous
From: "Peter J. Holzer"
Date:
Subject: Re: performance expectations for table(s) with 2B recs
Next
From: Avi Weinberg
Date:
Subject: Identity/Serial Column In Subscriber's Tables