pgsql: Make SPI_fnumber() reject dropped columns.
От | Tom Lane |
---|---|
Тема | pgsql: Make SPI_fnumber() reject dropped columns. |
Дата | |
Msg-id | E1c4As6-0000F7-UH@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
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> Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/6d30fb1f75a57d80f80e27770d39d88f8aa32d28 Modified Files -------------- contrib/spi/autoinc.c | 2 +- contrib/spi/insert_username.c | 2 +- contrib/spi/moddatetime.c | 4 ++-- contrib/spi/refint.c | 5 +++-- contrib/spi/timetravel.c | 4 ++-- doc/src/sgml/spi.sgml | 2 +- src/backend/executor/spi.c | 3 ++- src/backend/utils/adt/tsvector_op.c | 1 + src/pl/plperl/plperl.c | 7 ++++++- src/pl/tcl/pltcl.c | 11 +---------- src/test/regress/regress.c | 9 +++++---- 11 files changed, 25 insertions(+), 25 deletions(-)
В списке pgsql-committers по дате отправления: