Backpatch tuplesort.c assertion.
authorPeter Geoghegan <[email protected]>
Wed, 29 Jul 2020 23:00:50 +0000 (16:00 -0700)
committerPeter Geoghegan <[email protected]>
Wed, 29 Jul 2020 23:00:50 +0000 (16:00 -0700)
commite3ba932da39bbcc88e431bc9bb8178627f53b07d
tree8110ed28bebe85dc949ef95ff2246206cbba69f7
parent8a60f541f3e4ef2177fa07e8f196b330df617e34
Backpatch tuplesort.c assertion.

Backpatch an assertion (that was originally added to Postgres 12 by
commit dd299df8189) that seems broadly useful.  The assertion can detect
violations of the HOT invariant (i.e. no two index tuples can point to
the same heap TID) when CREATE INDEX somehow incorrectly allows that to
take place.

For example, a IndexBuildHeapScan/heapam_index_build_range_scan bug
might result in two tuples that both point to the same heap TID.  If
these two tuples also happen to be duplicates, the assertion will fail.

Discussion: https://postgr.es/m/CAH2-WzmBxu4o=pMsniur+bwHqCGCmV_AOLkuK6BuU7ngA6evqw@mail.gmail.com
Backpatch: 9.5-11 only
src/backend/utils/sort/tuplesort.c