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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers