mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-05 19:09:58 +08:00
Remove dead code and add comments.
'cbuffer' variable was left over from an earlier version of the patch to rewrite the incomplete split handling.
This commit is contained in:
parent
3ed249b741
commit
2f3afc0979
@ -130,7 +130,6 @@ btree_xlog_insert(bool isleaf, bool ismeta,
|
||||
{
|
||||
xl_btree_insert *xlrec = (xl_btree_insert *) XLogRecGetData(record);
|
||||
Buffer buffer;
|
||||
Buffer cbuffer = InvalidBuffer;
|
||||
Page page;
|
||||
char *datapos;
|
||||
int datalen;
|
||||
@ -158,6 +157,15 @@ btree_xlog_insert(bool isleaf, bool ismeta,
|
||||
datalen -= sizeof(xl_btree_metadata);
|
||||
}
|
||||
|
||||
/*
|
||||
* Insertion to an internal page finishes an incomplete split at the
|
||||
* child level. Clear the incomplete-split flag in the child. Note:
|
||||
* during normal operation, the child and parent pages are locked at the
|
||||
* same time, so that clearing the flag and inserting the downlink appear
|
||||
* atomic to other backends. We don't bother with that during replay,
|
||||
* because readers don't care about the incomplete-split flag and there
|
||||
* cannot be updates happening.
|
||||
*/
|
||||
if (!isleaf)
|
||||
{
|
||||
if (record->xl_info & XLR_BKP_BLOCK(0))
|
||||
@ -194,9 +202,6 @@ btree_xlog_insert(bool isleaf, bool ismeta,
|
||||
}
|
||||
}
|
||||
|
||||
if (BufferIsValid(cbuffer))
|
||||
UnlockReleaseBuffer(cbuffer);
|
||||
|
||||
/*
|
||||
* Note: in normal operation, we'd update the metapage while still holding
|
||||
* lock on the page we inserted into. But during replay it's not
|
||||
@ -273,7 +278,8 @@ btree_xlog_split(bool onleft, bool isroot,
|
||||
|
||||
/*
|
||||
* Clear the incomplete split flag on the left sibling of the child page
|
||||
* this is a downlink for.
|
||||
* this is a downlink for. (Like in btree_xlog_insert, this can be done
|
||||
* before locking the other pages)
|
||||
*/
|
||||
if (!isleaf)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user