diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2016-11-08 13:11:15 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2016-11-08 13:11:26 -0500 |
commit | 6d30fb1f75a57d80f80e27770d39d88f8aa32d28 (patch) | |
tree | 056042db35fa8ad69957dd54dda3c5dcaaa62d7c /src/backend/utils/adt/xml.c | |
parent | 36ac6d0e793087153a452df6502d0ef32a780db6 (diff) | |
download | postgresql-6d30fb1f75a57d80f80e27770d39d88f8aa32d28.tar.gz postgresql-6d30fb1f75a57d80f80e27770d39d88f8aa32d28.zip |
Make SPI_fnumber() reject dropped columns.
There's basically no scenario where it's sensible for this to match
dropped columns, so put a test for dropped-ness into SPI_fnumber()
itself, and excise the test from the small number of callers that
were paying attention to the case. (Most weren't :-(.)
In passing, normalize tests at call sites: always reject attnum <= 0
if we're disallowing system columns. Previously there was a mixture
of "< 0" and "<= 0" tests. This makes no practical difference since
SPI_fnumber() never returns 0, but I'm feeling pedantic today.
Also, in the places that are actually live user-facing code and not
legacy cruft, distinguish "column not found" from "can't handle
system column".
Per discussion with Jim Nasby; thi supersedes his original patch
that just changed the behavior at one call site.
Discussion: <b2de8258-c4c0-1cb8-7b97-e8538e5c975c@BlueTreble.com>
Diffstat (limited to 'src/backend/utils/adt/xml.c')
0 files changed, 0 insertions, 0 deletions