• Tom Lane's avatar
    Make SPI_fnumber() reject dropped columns. · 6d30fb1f
    Tom Lane authored
    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>
    6d30fb1f
plperl.c 107 KB