• Tom Lane's avatar
    Guard against table-AM-less relations in planner. · 8c611602
    Tom Lane authored
    The executor will dump core if it's asked to execute a seqscan on
    a relation having no table AM, such as a view.  While that shouldn't
    really happen, it's possible to get there via catalog corruption,
    such as a missing ON SELECT rule.  It seems worth installing a defense
    against that.  There are multiple plausible places for such a defense,
    but I picked the planner's get_relation_info().
    
    Per discussion of bug #17646 from Kui Liu.  Back-patch to v12 where
    the tableam APIs were introduced; in older versions you won't get a
    SIGSEGV, so it seems less pressing.
    
    Discussion: https://postgr.es/m/17646-70c93cfa40365776@postgresql.org
    8c611602
plancat.c 71.8 KB