BUG #15606: Postgres incorrectly returns syntax error when using WITH clacuse

Started by PG Bug reporting formover 7 years ago2 messagesbugs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following bug has been logged on the website:

Bug reference: 15606
Logged by: Rikke Hammer
Email address: newsx@outlook.com
PostgreSQL version: 11.1
Operating system: Windows 10 Home version1803 x64
Description:

I get a syntax error when I try to use a WITH clause in a query. Below is a
simple test query. It (as as well as any other WITH clause query I do,
creates the following error:

SQL Error [42601]: ERROR: syntax error at end of input
Position: 53
ERROR: syntax error at end of input
Position: 53
ERROR: syntax error at end of input
Position: 53

CREATE TABLE employees (
employee_id serial PRIMARY KEY,
full_name VARCHAR NOT NULL,
manager_id INT
);

INSERT INTO employees (
employee_id,
full_name,
manager_id
)
VALUES
(1, 'Michael North', NULL),
(2, 'Megan Berry', 1),
(3, 'Sarah Berry', 1),
(4, 'Zoe Black', 1),
(5, 'Tim James', 1),
(6, 'Bella Tucker', 2),
(7, 'Ryan Metcalfe', 2);

WITH emp AS (
select * from rikke_hammer.employees)

#2David G. Johnston
david.g.johnston@gmail.com
In reply to: PG Bug reporting form (#1)
Re: BUG #15606: Postgres incorrectly returns syntax error when using WITH clacuse

On Wed, Jan 23, 2019 at 7:40 AM PG Bug reporting form
<noreply@postgresql.org> wrote:

The following bug has been logged on the website:

Bug reference: 15606
Logged by: Rikke Hammer
Email address: newsx@outlook.com
PostgreSQL version: 11.1
Operating system: Windows 10 Home version1803 x64
Description:

I get a syntax error when I try to use a WITH clause in a query. Below is a
simple test query. It (as as well as any other WITH clause query I do,
creates the following error:

SQL Error [42601]: ERROR: syntax error at end of input
Position: 53

[...]

WITH emp AS (
select * from rikke_hammer.employees)

If you actually just want to execute the query you are putting into
the WITH what is the point of wrapping it with "WITH"?

This is not a bug. As the error message indicates the parser is
expecting you to write more sql stuff. In this case a SELECT
statement that actually uses the emp CTE

[ WITH [ RECURSIVE ] with_query [, ...] ]
SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
...

David J.