On Thu, 23 May 2019 at 15:31, Jonathan S. Katz <jk...@postgresql.org> wrote:
> Attached is
> v3 of the patch, along with a diff.

Minor details, but this query is not valid:

> WITH c AS MATERIALIZED (
>   SELECT * FROM a WHERE a.x % 4
> )
> SELECT * FROM c JOIN d ON d.y = a.x;

a.x % 4 is not a boolean clause, and "a" is not in the main query, so
a.x can't be referenced there.

How about:

WITH c AS MATERIALIZED (
    SELECT * FROM a WHERE a.x % 4 = 0
)
SELECT * FROM c JOIN d ON d.y = c.x;

-- 
 David Rowley                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


Reply via email to