Re: BUG #18536: Using WITH inside WITH RECURSIVE triggers a "shouldn't happen" error - Mailing list pgsql-bugs

From Aleksander Alekseev
Subject Re: BUG #18536: Using WITH inside WITH RECURSIVE triggers a "shouldn't happen" error
Date
Msg-id CAJ7c6TN+f4duGn2cfHsgMiYUe+9uHek4DsD_a3yV6y2NCq9XCQ@mail.gmail.com
Whole thread Raw
In response to Re: BUG #18536: Using WITH inside WITH RECURSIVE triggers a "shouldn't happen" error  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: BUG #18536: Using WITH inside WITH RECURSIVE triggers a "shouldn't happen" error
List pgsql-bugs
Hi,

> triggers an error:
> ERROR:  XX000: missing recursive reference
> LOCATION:  checkWellFormedRecursion, parse_cte.c:896

FWIW I couldn't reproduce the reported error on REL_17_STABLE
(b8bf76cbde39). The error I got seems reasonable:

```
46087 (master) =# WITH RECURSIVE t(n) AS (
    WITH t1 AS (SELECT 1 FROM t) SELECT 1
    UNION
    SELECT 1 FROM t1)
SELECT * FROM t;
ERROR:  recursive reference to query "t" must not appear within a subquery
LINE 2:     WITH t1 AS (SELECT 1 FROM t) SELECT 1
                                      ^
```

We should add regression tests though, as v2 does.

-- 
Best regards,
Aleksander Alekseev



pgsql-bugs by date:

Previous
From: Aleksander Alekseev
Date:
Subject: Re: BUG #18534: ERROR: portal "C_n" does not exist type of error getting thrown.
Next
From: Aleksander Alekseev
Date:
Subject: Re: BUG #18536: Using WITH inside WITH RECURSIVE triggers a "shouldn't happen" error