<br />19.07.2018, 15:20, "Heikki Linnakangas" <hlinnaka(at)iki(dot)fi>:<br /><blockquote type="cite"><p>On 19/07/18 13:52, Andrey Borodin wrote:<br /></p><blockquote> Hi!<br /><br /><blockquote> 19 июля 2018 г., в 1:12, Heikki Linnakangas <<a href="mailto:hlinnaka(at)iki(dot)fi">hlinnaka(at)iki(dot)fi</a>><br /> написал(а):<br /><br /> Yeah, please, I think this is the way to go.<br /></blockquote><br /> Here's v11 divided into proposed steps.<br /></blockquote><p><br />Thanks, one quick question:<br /><br /></p><blockquote> /* We should not unlock buffer if we are going to jump left */<br /> if (needScan)<br /> {<br /> GistBDItem *ptr = (GistBDItem *) palloc(sizeof(GistBDItem));<br /> ptr->buffer = buffer;<br /> ptr->next = bufferStack;<br /> bufferStack = ptr;<br /> }<br /> else<br /> UnlockReleaseBuffer(buffer);<br /></blockquote><p><br />Why? I don't see any need to keep the page locked, when we "jump left".</p></blockquote><div>Because it can split to the left again, given that we release lock.</div><div><br /></div><div>Best regards, Andrey Borodin.</div>