• Tom Lane's avatar
    Replace over-optimistic Assert in partitioning code with a runtime test. · e7941a97
    Tom Lane authored
    get_partition_parent felt that it could simply Assert that systable_getnext
    found a tuple.  This is unlike any other caller of that function, and it's
    unsafe IMO --- in fact, the reason I noticed it was that the Assert failed.
    (OK, I was working with known-inconsistent catalog contents, but I wasn't
    expecting the DB to fall over quite that violently.  The behavior in a
    non-assert-enabled build wouldn't be very nice, either.)  Fix it to do what
    other callers do, namely an actual runtime-test-and-elog.
    
    Also, standardize the wording of elog messages that are complaining about
    unexpected failure of systable_getnext.  90% of them say "could not find
    tuple for <object>", so make the remainder do likewise.  Many of the
    holdouts were using the phrasing "cache lookup failed", which is outright
    misleading since no catcache search is involved.
    e7941a97
relation.c 18 KB