Re: enable_incremental_sort changes query behavior
Tomas Vondra <tomas.vondra@2ndquadrant.com>
From: Tomas Vondra <tomas.vondra@2ndquadrant.com>
To: James Coleman <jtc331@gmail.com>
Cc: Jaime Casanova <jaime.casanova@2ndquadrant.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2020-10-02T22:28:57Z
Lists: pgsql-hackers
On Fri, Oct 02, 2020 at 05:45:52PM -0400, James Coleman wrote: >On Fri, Oct 2, 2020 at 4:56 PM Tomas Vondra ><tomas.vondra@2ndquadrant.com> wrote: >> >> ... >> >> More importanly, it does not actually fix the issue - it does fix that >> particular query, but just replacing the DISTINCT with either ORDER BY >> or GROUP BY make it fail again :-( >> >> Attached is a simple script I used, demonstrating these issues for the >> three cases that expect to have ressortgroupref != 0 (per the comment >> before TargetEntry in plannodes.h). > >So does checking for volatile expressions (if you happened to test >that) solve all the cases? If you haven't tested that yet, I can try >to do that this evening. > Yes, it does fix all the three queries in the SQL script. The question however is whether this is the root issue, and whether it's the right way to fix it. For example - volatility is not the only reason that may block qual pushdown. If you look at qual_is_pushdown_safe, it also blocks pushdown of leaky functions in security_barrier views. So I wonder if that could cause failures too, somehow. But I haven't managed to create such example. regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Disallow SRFs when considering sorts below Gather Merge
- fac1b470a9f7 14.0 landed
- d0167631e8b7 13.2 landed
-
Error out when Gather Merge input is not sorted
- 6bc27698324a 14.0 landed
-
Fix get_useful_pathkeys_for_relation for volatile expressions
- 2d26c4ac7034 13.1 landed
- ebb7ae839d03 14.0 landed
-
Guard against core dump from uninitialized subplan.
- 936043c9eacb 13.1 cited