On Mon, Oct 16, 2017 at 5:03 PM, Ashutosh Bapat <ashutosh.ba...@enterprisedb.com> wrote: > set_append_rel_size() crashes when it encounters a partitioned table > with a dropped column. Dropped columns do not have any translations > saved in AppendInfo::translated_vars; the corresponding entry is NULL > per make_inh_translation_list(). > 1802 att = TupleDescAttr(old_tupdesc, old_attno); > 1803 if (att->attisdropped) > 1804 { > 1805 /* Just put NULL into this list entry */ > 1806 vars = lappend(vars, NULL); > 1807 continue; > 1808 } > > In set_append_rel_size() we try to attr_needed for child tables. While > doing so we try to translate a user attribute number of parent to that > of a child and crash since the translated Var is NULL. Here's patch to > fix the crash. The patch also contains a testcase to test dropped > columns in partitioned table. > > Sorry for not noticing this problem earlier.
OK, committed. This is a good example of how having good code coverage doesn't necessarily mean you've found all the bugs. :-) -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers