Re: Making all nbtree entries unique by having heap TIDs participate in comparisons
Andrei Lepikhov <a.lepikhov@postgrespro.ru>
From: Andrey Lepikhov <a.lepikhov@postgrespro.ru>
To: Peter Geoghegan <pg@bowt.ie>, Heikki Linnakangas <hlinnaka@iki.fi>
Cc: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>,
Alexander Korotkov <a.korotkov@postgrespro.ru>,
Thomas Munro <thomas.munro@enterprisedb.com>,
Claudio Freire <klaussfreire@gmail.com>,
Anastasia Lubennikova <a.lubennikova@postgrespro.ru>
Date: 2018-11-04T03:52:35Z
Lists: pgsql-hackers
On 03.11.2018 5:00, Peter Geoghegan wrote: > The DESC heap TID sort order thing probably needs to go. I'll probably > have to go fix the regression test failures that occur when ASC heap > TID order is used. (Technically those failures are a pre-existing > problem, a problem that I mask by using DESC order...which is weird. > The problem is masked in the master branch by accidental behaviors > around nbtree duplicates, which is something that deserves to die. > DESC order is closer to the accidental current behavior.) I applied your patches at top of master. After tests corrections (related to TID ordering in index relations DROP...CASCADE operation) 'make check-world' passed successfully many times. In the case of 'create view' regression test - 'drop cascades to 62 other objects' problem - I verify an Álvaro Herrera hypothesis [1] and it is true. You can verify it by tracking the object_address_present_add_flags() routine return value. Some doubts, however, may be regarding the 'triggers' test. May you specify the test failures do you mean? [1] https://www.postgresql.org/message-id/20180504022601.fflymidf7eoencb2%40alvherre.pgsql -- Andrey Lepikhov Postgres Professional https://postgrespro.com The Russian Postgres Company
Commits
-
Add "split after new tuple" nbtree optimization.
- f21668f328c8 12.0 landed
-
Add nbtree high key "continuescan" optimization.
- 29b64d1de7c7 12.0 landed
-
Allow amcheck to re-find tuples using new search.
- c1afd175b5b2 12.0 landed
-
Consider secondary factors during nbtree splits.
- fab250243387 12.0 landed
-
Make heap TID a tiebreaker nbtree index column.
- dd299df8189b 12.0 landed
-
Refactor nbtree insertion scankeys.
- e5adcb789d80 12.0 landed
-
Redesign the partition dependency mechanism.
- 1d92a0c9f7dd 12.0 cited
-
Avoid unnecessary palloc overhead in _bt_first(). The temporary
- d961a5689966 8.1.0 cited