Re: Deferring some AtStart* allocations?
От | Andres Freund |
---|---|
Тема | Re: Deferring some AtStart* allocations? |
Дата | |
Msg-id | 20141021160000.GD5790@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: Deferring some AtStart* allocations? (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: Deferring some AtStart* allocations?
|
Список | pgsql-hackers |
Hi, On 2014-10-09 15:01:19 -0400, Robert Haas wrote: > /* > @@ -960,18 +966,38 @@ AtEOXact_Inval(bool isCommit) ... > + /* > + * We create invalidation stack entries lazily, so the parent might > + * not have one. Instead of creating one, moving all the data over, > + * and then freeing our own, we can just adjust the level of our own > + * entry. > + */ > + if (myInfo->parent == NULL || myInfo->parent->my_level < my_level - 1) > + { > + myInfo->my_level--; > + return; > + } > + I think this bit might not be correct. What if the subxact one level up aborts? Then it'll miss dealing with these invalidation entries. Or am I misunderstanding something? I like the patch, except the above potential issue. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: