amcheck: Optimize speed of checking for unique constraint violation
authorAlexander Korotkov <akorotkov@postgresql.org>
Sun, 28 Jul 2024 10:50:57 +0000 (13:50 +0300)
committerAlexander Korotkov <akorotkov@postgresql.org>
Sun, 28 Jul 2024 10:50:57 +0000 (13:50 +0300)
commitcdd6ab9d1f5396ec1097d51c21a224aa41118c9c
tree51fdf2746a6732b1fd6c70337333f86a9316d02c
parentb181062aa5727a013c96b64476f884c992b5068d
amcheck: Optimize speed of checking for unique constraint violation

Currently, when amcheck validates a unique constraint, it visits the heap for
each index tuple.  This commit implements skipping keys, which have only one
non-dedeuplicated index tuple (quite common case for unique indexes). That
gives substantial economy on index checking time.

Reported-by: Noah Misch
Discussion: https://postgr.es/m/20240325020323.fd.nmisch%40google.com
Author: Alexander Korotkov, Pavel Borisov
contrib/amcheck/verify_nbtree.c