END is not a reserved word
От | Vicky Vergara |
---|---|
Тема | END is not a reserved word |
Дата | |
Msg-id | DM8P220MB0390E641335AE886D0FF8CE68A3EA@DM8P220MB0390.NAMP220.PROD.OUTLOOK.COM обсуждение исходный текст |
Ответы |
Re: END is not a reserved word
|
Список | pgsql-hackers |
Hello all
A simplification of the problem I found:
Here is a function (taken from the postgres documentation)
```
CREATE FUNCTION add(integer, integer) RETURNS integer
AS 'select $1 + $2;'
LANGUAGE SQL
IMMUTABLE
RETURNS NULL ON NULL INPUT;
```
"Accidentally" did the following:
```
SELECT add(3,4) END;
```
```
On postgres 14 and over+ there is no problem:
```
end
-----
7
(1 row)
```
On Postgres 13 and under:
```
ERROR: syntax error at or near "END"
LINE 1: SELECT add(3,4) END;
```
On the list of reserved words,
```
On Postgres 13 and under:
```
ERROR: syntax error at or near "END"
LINE 1: SELECT add(3,4) END;
```
On the list of reserved words,
END
is marked as reserved.https://www.postgresql.org/docs/current/sql-keywords-appendix.html
Since postgres 14+ is not reserved and can be used, for example as a column name.
Since postgres 14+ is not reserved and can be used, for example as a column name.
Unless I am mistaken that shouldn't happen.
Made a small CI test with the code above: (link will be unavailable when gihub removes the workflow)
Fails as expected as `end` is a reserved word (pg13)
But on the other test runs it has no problem (pg17)
https://github.com/cvvergara/pgrouting/actions/runs/17222387428/job/48860365870#step:8:27
https://github.com/cvvergara/pgrouting/actions/runs/17222387428/job/48860365870#step:8:27
Regards
Vicky Vergara
pgRouting developer
В списке pgsql-hackers по дате отправления: