aboutsummaryrefslogtreecommitdiff
path: root/src/backend/tcop/postgres.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2025-03-22 14:17:00 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2025-03-22 14:17:00 -0400
commit58fdca2204de5f683f025df37553e5e69cb6adb1 (patch)
treeb86ff5a829afd66af711a5da3e02368c2be93b2b /src/backend/tcop/postgres.c
parent9a2e2a285a149490a69a7bd92dd618bb7ca975b3 (diff)
downloadpostgresql-58fdca2204de5f683f025df37553e5e69cb6adb1.tar.gz
postgresql-58fdca2204de5f683f025df37553e5e69cb6adb1.zip
plpgsql: make WHEN OTHERS distinct from WHEN SQLSTATE '00000'.
The catchall exception condition OTHERS was represented as sqlerrstate == 0, which was a poor choice because that comes out the same as SQLSTATE '00000'. While we don't issue that as an error code ourselves, there isn't anything particularly stopping users from doing so. Use -1 instead, which can't match any allowed SQLSTATE string. While at it, invent a macro PLPGSQL_OTHERS to use instead of a hard-coded magic number. While this seems like a bug fix, I'm inclined not to back-patch. It seems barely possible that someone has written code like this and would be annoyed by changing the behavior in a minor release. Reported-by: David Fiedler <david.fido.fiedler@gmail.com> Author: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/CAHjN70-=H5EpTOuZVbC8mPvRS5EfZ4MY2=OUdVDWoyGvKhb+Rw@mail.gmail.com
Diffstat (limited to 'src/backend/tcop/postgres.c')
0 files changed, 0 insertions, 0 deletions