Re: pgsql: Clarify use of temporary tables within partition trees
От | Amit Langote |
---|---|
Тема | Re: pgsql: Clarify use of temporary tables within partition trees |
Дата | |
Msg-id | 5db5fe6e-4a73-6a24-09e4-060b9f132ea9@lab.ntt.co.jp обсуждение исходный текст |
Ответ на | Re: pgsql: Clarify use of temporary tables within partition trees (David Rowley <david.rowley@2ndquadrant.com>) |
Ответы |
Re: pgsql: Clarify use of temporary tables within partition trees
Re: pgsql: Clarify use of temporary tables within partition trees |
Список | pgsql-hackers |
On 2018/07/03 15:16, David Rowley wrote: > On 3 July 2018 at 18:11, Michael Paquier <michael@paquier.xyz> wrote: >> On Tue, Jul 03, 2018 at 06:00:46PM +1200, David Rowley wrote: >>> I think it should be backpatched to v11 and v10. Your original commit >>> went there too. I don't see any reason to do any different here than >>> what you did with the original commit. >> >> expand_partitioned_rtentry is new as of v11. Or you mean to tweak >> expand_inherited_rtentry() perhaps? I am not sure that it is worth it >> as the code has already diverged between 10 and 11. > > Oh right. I'd forgotten that changed in v11. I think the v10 code is > fine as is then. Sorry for jumping in late here. I have a comment on the patch. + /* if there are no partitions then treat this as non-inheritance case. */ + if (partdesc->nparts == 0) + { + parentrte->inh = false; + return; + } + Why is this not near the beginning of expand_partitioned_rtentry()? Also, ISTM, this code would be unreachable because expand_inherited_rtentry would not call here if the above if statement is true, no? I see the following two blocks in expand_inherited_rtentry before one gets to the call to expand_partitioned_rtentry: if (!has_subclass(parentOID)) { /* Clear flag before returning */ rte->inh = false; return; } and if (list_length(inhOIDs) < 2) { /* Clear flag before returning */ rte->inh = false; return; } Thanks, Amit
В списке pgsql-hackers по дате отправления: