Commit 46cf3c72 authored by Peter Geoghegan's avatar Peter Geoghegan

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.
parent ff942057
......@@ -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?
*/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment