From: | Peter Geoghegan <pg(at)bowt(dot)ie> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: nbtree: Demote minus infinity "can't happen" error. |
Date: | 2020-03-10 21:16:47 |
Message-ID: | E1jBmF5-0002BW-Gy@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
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.
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/d1e241c22602a5369b54e29b7430553445f6a52b
Modified Files
--------------
src/backend/access/nbtree/nbtinsert.c | 20 ++++++++------------
1 file changed, 8 insertions(+), 12 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2020-03-10 21:34:19 | pgsql: Marginal comments and docs cleanup. |
Previous Message | Tom Lane | 2020-03-10 18:54:07 | pgsql: Ensure that CREATE TABLE LIKE copies any NO INHERIT constraint p |