nbtree: Demote minus infinity "can't happen" error.
authorPeter Geoghegan <pg@bowt.ie>
Tue, 10 Mar 2020 21:15:41 +0000 (14:15 -0700)
committerPeter Geoghegan <pg@bowt.ie>
Tue, 10 Mar 2020 21:15:41 +0000 (14:15 -0700)
commitd1e241c22602a5369b54e29b7430553445f6a52b
tree5e071dc20aee38a28f18db15d1e734c098add02f
parentcacef172237fd3426b578f81b7414c0de56cbaaf
nbtree: Demote minus infinity "can't happen" error.

Only a very basic logic bug in a _bt_insertonpg() caller could lead to a
violation of this invariant.  Besides, any newitemoff used for an
internal page is sanitized using other "can't happen" errors in
_bt_getstackbuf() or its callers, before _bt_insertonpg() even gets
called.

Also, move the error/assertion from the insert-without-split path of
_bt_insertonpg() to the top of the same function.  There is no reason
why this invariant only applies to insertions that happen to not result
in a page split; cover every insertion.  The assertion naturally belongs
next to the existing generic assertions that document relatively
high-level invariants for the item being inserted.
src/backend/access/nbtree/nbtinsert.c