Re: [HACKERS] Partition-wise join for join between (declaratively)partitioned tables
От | Ashutosh Bapat |
---|---|
Тема | Re: [HACKERS] Partition-wise join for join between (declaratively)partitioned tables |
Дата | |
Msg-id | CAFjFpReL7+1ien=-21rhjpO3bV7aAm1rQ8XgLVk2csFagSzpZQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] Partition-wise join for join between (declaratively)partitioned tables (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: [HACKERS] Partition-wise join for join between (declaratively)partitioned tables
|
Список | pgsql-hackers |
On Sat, Oct 7, 2017 at 1:04 AM, Robert Haas <robertmhaas@gmail.com> wrote: >> >> The fix is to copy the relevant partitioning information from relcache >> into PartitionSchemeData and RelOptInfo. Here's a quick patch with >> that fix. > > Committed. I hope that makes things less red rather than more, > because I'm going to be AFK for a few hours anyway. > 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. -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Вложения
В списке pgsql-hackers по дате отправления: