diff options
| author | Peter Geoghegan | 2020-11-15 19:53:37 +0000 |
|---|---|---|
| committer | Peter Geoghegan | 2020-11-15 19:53:37 +0000 |
| commit | 46cf3c72c36fef8c623b4b97d8720321d8ad7507 (patch) | |
| tree | 51b87d938137f9345d5ab151986abee27effe2be /src/backend/access | |
| parent | ff94205787244ace8ce63e3d9eb98338c59ac215 (diff) | |
nbtree: Demote incomplete split "can't happen" error.
Only a basic logic bug in a _bt_insertonpg() caller could lead to a
violation of this invariant (index corruption won't do it). A "can't
happen" error seems inappropriate (it is arbitrary at best).
Demote the error to a simple assertion. This matches similar nearby
sanity checks.
Diffstat (limited to 'src/backend/access')
| -rw-r--r-- | src/backend/access/nbtree/nbtinsert.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/backend/access/nbtree/nbtinsert.c b/src/backend/access/nbtree/nbtinsert.c index d36f7557c87..1c4b0fd4b81 100644 --- a/src/backend/access/nbtree/nbtinsert.c +++ b/src/backend/access/nbtree/nbtinsert.c @@ -1129,6 +1129,8 @@ _bt_insertonpg(Relation rel, IndexRelationGetNumberOfKeyAttributes(rel)); Assert(!BTreeTupleIsPosting(itup)); Assert(MAXALIGN(IndexTupleSize(itup)) == itemsz); + /* Caller must always finish incomplete split for us */ + Assert(!P_INCOMPLETE_SPLIT(lpageop)); /* * Every internal page should have exactly one negative infinity item at @@ -1138,11 +1140,6 @@ _bt_insertonpg(Relation rel, */ Assert(P_ISLEAF(lpageop) || newitemoff > P_FIRSTDATAKEY(lpageop)); - /* The caller should've finished any incomplete splits already. */ - if (P_INCOMPLETE_SPLIT(lpageop)) - elog(ERROR, "cannot insert to incompletely split page %u", - BufferGetBlockNumber(buf)); - /* * Do we need to split an existing posting list item? */ |
