Re: Request for official clarification on SQL parameter parsing changes in PostgreSQL 15 and 16
От | Laurenz Albe |
---|---|
Тема | Re: Request for official clarification on SQL parameter parsing changes in PostgreSQL 15 and 16 |
Дата | |
Msg-id | 237d58a65d887376ded17a67e7b99af5936fa9a3.camel@cybertec.at обсуждение исходный текст |
Ответ на | Request for official clarification on SQL parameter parsing changes in PostgreSQL 15 and 16 (王 博 <bo.wang@infortech.co.jp>) |
Ответы |
Re: Request for official clarification on SQL parameter parsing changes in PostgreSQL 15 and 16
|
Список | pgsql-general |
On Thu, 2025-04-17 at 05:17 +0000, 王 博 wrote: > We have encountered unexpected SQL parsing errors during application upgrades from > PostgreSQL 14 to 15 and 16, related to the use of JDBC-style parameter > placeholders (`?`) in our legacy applications. > > Specifically: > > 1. In PostgreSQL 15 and later: > The following SQL causes a syntax error unless a space is added after the `?`: > SELECT * FROM table WHERE a = ?AND b = 123; > → Adding a space (`? AND`) resolves the issue. > This did not cause an error in PostgreSQL 14. > > 2. In PostgreSQL 16: > The following SQL causes a syntax error: > SELECT * FROM table WHERE a = ?ORDER BY b; > → This query runs in PostgreSQL 15, but causes an error in 16 unless a space is added after `?`. > > We understand that this behavior may stem from changes to the parser to make it more > strict and SQL-compliant. However, we were unable to find any explicit mention of these > changes in the official release notes of PostgreSQL 15 or 16. > > Our client is asking for official documentation or a statement confirming whether this > behavior change was intentional and when it was introduced. > > Could anyone kindly point us to: > - Relevant release note sections, commits, or discussions on this change > - Confirmation that these are intentional parser changes (and not regressions) I'd say it is this change: https://postgr.es/c/2549f0661bd28571d7200d6f82f752a7ee5d47e1 The mailing list discussion is here: https://www.postgresql.org/message-id/flat/b239564c-cad0-b23e-c57e-166d883cb97d@enterprisedb.com Yours, Laurenz Albe
В списке pgsql-general по дате отправления: