Guard against table-AM-less relations in planner.
Tom Lane <tgl@sss.pgh.pa.us>
Guard against table-AM-less relations in planner. 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
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/optimizer/util/plancat.c | modified | +18 −0 |
Discussion
- BUG #17646: create rule named "_RETURN" will cause pg core 6 messages · 2022-10-17