BUG #15462: WITH ORDINALITY and CTEs don't work
The following bug has been logged on the website:
Bug reference: 15462
Logged by: Michael Meyer
Email address: michael.meyer@pace.de
PostgreSQL version: 11.0
Operating system: Windows 10
Description:
CTEs don't play nicely together with 'WITH ORDINALITY':
This is working:
SELECT * FROM generate_series(4,1,-1) WITH ORDINALITY;
WITH a AS (SELECT * FROM generate_series(4,1,-1) )
SELECT * FROM a;
whereas this yields syntax error (42601)
WITH a AS (SELECT * FROM generate_series(4,1,-1) )
SELECT * FROM a WITH ORDINALITY;
On Fri, Oct 26, 2018 at 10:55:57AM +0000, PG Bug reporting form wrote:
CTEs don't play nicely together with 'WITH ORDINALITY':
Sure they do.
This is working:
SELECT * FROM generate_series(4,1,-1) WITH ORDINALITY;
WITH a AS (SELECT * FROM generate_series(4,1,-1) )
SELECT * FROM a;whereas this yields syntax error (42601)
WITH a AS (SELECT * FROM generate_series(4,1,-1) )
SELECT * FROM a WITH ORDINALITY;
This is because "with ORDINALITY" is for function call, not for any
table query.
So the correct syntax would be:
WITH a AS (SELECT * FROM generate_series(4,1,-1) WITH ORDINALITY) SELECT * FROM a;
depesz