On 25/07/2025 14:55, Matheus Alcantara wrote:
On Mon Jul 21, 2025 at 7:11 PM -03, Vik Fearing wrote:
SELECT a, b, c
FROM tab
QUALIFY wf() OVER () = ?


can be rewritten as:


SELECT a, b, c
FROM (
      SELECT a, b, c, wf() OVER () = ? AS qc
      FROM tab
) AS q
WHERE qc


and then let the optimizer take over.  The standard does this kind of
thing all over the place; I don't know what the postgres project's
position on doing things like this are.
With this transformation users will see a Subquery plan node even if
it's not present on the original query, is that expected or it can be
confusing to users?


This is a definition technique, it does not need to be implemented as a subquery.

--

Vik Fearing



Reply via email to