From: | Paul van der Linden <paul(dot)doskabouter(at)gmail(dot)com> |
---|---|
To: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
Cc: | Дмитрий Иванов <firstdismay(at)gmail(dot)com>, pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: CTE Materialization |
Date: | 2021-12-08 17:58:22 |
Message-ID: | CAEC-EqC0OUG1Tng61fgq-ckLMCANWoqLoLJFVL1yo9ARX46geQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
This one quite nicely explains it:
https://stackoverflow.com/questions/14897816/how-can-i-prevent-postgres-from-inlining-a-subquery
On Wed, Dec 8, 2021 at 3:14 AM David G. Johnston <david(dot)g(dot)johnston(at)gmail(dot)com>
wrote:
> On Tue, Dec 7, 2021 at 6:40 PM Дмитрий Иванов <firstdismay(at)gmail(dot)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.
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Roxanne Reid-Bennett | 2021-12-08 17:59:19 | Re: How to allow null as an option when using regexp_matches? |
Previous Message | Vincent Veyron | 2021-12-08 17:40:58 | Re: How to allow null as an option when using regexp_matches? |