Re: BUG #18305: Unexpected error: "WindowFunc not found in subplan target lists" triggered by subqueries
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Richard Guo <guofenglinux@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, zuming.jiang@inf.ethz.ch, pgsql-bugs@lists.postgresql.org
Date: 2024-04-24T02:05:04Z
Lists: pgsql-bugs
Attachments
- v2-0001-Disable-run-conditions-for-ntile-var-and-count-va.patch (text/plain) patch v2-0001
- v2-0002-Re-instate-ntile-var-and-count-var-run-condition-.patch (text/plain) patch v2-0002
On Fri, 22 Mar 2024 at 23:47, Richard Guo <guofenglinux@gmail.com> wrote: > For back branches, the idea of modifying window_ntile_support() and > int8inc_support() to reject any non-pseudoconstant args also seems > reasonable to me. One thing I noticed is that sometimes it's not easy > to tell whether the arg is pseudoconstant or not in the support > functions, because a pseudoconstant is not necessarily being type of > Const. For instance, count(1::text) is a CoerceViaIO, and > ntile(1.0::int) is a FuncExpr. But these are very corner cases and I > think we can just ignore them. I don't think that needs anything special aside from constant folding. I've attached a more complete version of the patch (0002) and another patch which is what I'd proposed as a fix for the backbranches (0001). Note quite a few tests needed to be adjusted because of disabling this optimisation. The 0002 patch will require a cat version bump as it adds a field to WindowFunc. Ideally, I'd be applying this fix to master, but I imagine some people might feel we should delay applying a fix like this until after we branch for v18. Happy to hear people's views on that. David
Commits
-
Fix query pullup issue with WindowClause runCondition
- 7d2c7f08d9c5 17.0 landed
-
Make documentation builds reproducible
- b0f0a9432d0b 17.0 cited
-
Teach planner about more monotonic window functions
- 456fa635a909 16.0 cited