Обсуждение: BUG #15606: Postgres incorrectly returns syntax error when using WITHclacuse
BUG #15606: Postgres incorrectly returns syntax error when using WITHclacuse
От
PG Bug reporting form
Дата:
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)
Re: BUG #15606: Postgres incorrectly returns syntax error when usingWITH clacuse
От
"David G. Johnston"
Дата:
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.