]> granicus.if.org Git - postgresql/commit
Add regression test case exercising the sorting path for hash index build.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 16 Jul 2016 19:30:15 +0000 (15:30 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 16 Jul 2016 19:30:15 +0000 (15:30 -0400)
commit9563d5b5e4c75e676d73a45546bd47b77c2bd739
tree59b0aacc876ef9710b3f7379d4fee5915f6bfedc
parent278148907a971ec7fa4ffb24248103d8012155d2
Add regression test case exercising the sorting path for hash index build.

We've broken this code path at least twice in the past, so it's prudent
to have a test case that covers it.  To allow exercising the code path
without creating a very large (and slow to run) test case, redefine the
sort threshold to be bounded by maintenance_work_mem as well as the number
of available buffers.  While at it, fix an ancient oversight that when
building a temp index, the number of available buffers is not NBuffers but
NLocBuffer.  Also, if assertions are enabled, apply a direct test that the
sort actually does return the tuples in the expected order.

Peter Geoghegan

Patch: <CAM3SWZTBAo4hjbBd780+MrOKiKp_TMo1N3A0Rw9_im8gbD7fQA@mail.gmail.com>
src/backend/access/hash/hash.c
src/backend/access/hash/hashsort.c
src/test/regress/expected/create_index.out
src/test/regress/sql/create_index.sql