Re: SQL statements error in pgsql 16 but not in pgsql 12

Frank Komsic <komsicf@shoeicanada.com>

From: Frank Komsic <komsicf@shoeicanada.com>
To: "David G. Johnston" <david.g.johnston@gmail.com>
Cc: "pgsql-sql@lists.postgresql.org" <pgsql-sql@lists.postgresql.org>
Date: 2024-07-16T18:01:35Z
Lists: pgsql-sql
Thank you for your reply.

I gather I will have to lookover the entire code and set the SQL statements correctly.

Thanks

Frank

From: David G. Johnston <david.g.johnston@gmail.com>
Date: Monday, July 15, 2024 at 7:24 PM
To: Frank Komsic <komsicf@shoeicanada.com>
Cc: pgsql-sql@lists.postgresql.org <pgsql-sql@lists.postgresql.org>
Subject: Re: SQL statements error in pgsql 16 but not in pgsql 12
On Mon, Jul 15, 2024 at 3:57 PM Frank Komsic <komsicf@shoeicanada.com<mailto:komsicf@shoeicanada.com>> wrote:
The above sql command works in version 12 but does not work in version 16 due to missing space in “WHERE (lot = 19749OR lot= 19750)”

Why did this work before and now it does not work?


It seems to be a side-effect of supporting non-decimal literals.

https://www.postgresql.org/message-id/flat/b239564c-cad0-b23e-c57e-166d883cb97d@enterprisedb.com
Git: 6fcda9aba83449082124825b6d375c0a61e21c42

This comment in particular refers to a v15 change that is probably related if you want to dive deeper.

https://www.postgresql.org/message-id/flat/1467947.1669851407%40sss.pgh.pa.us#66391c571b4db866e222450fb3fa9eb9

Suffice to say, we became more strict here since v12 and you will need to modify the query accordingly.

David J.

Commits

  1. Non-decimal integer literals