mirror of
https://github.com/postgres/postgres.git
synced 2025-12-16 16:42:29 +03:00
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>
This commit is contained in:
@@ -690,6 +690,13 @@ DROP TABLE unlogged_hash_table;
|
||||
|
||||
-- CREATE INDEX hash_ovfl_index ON hash_ovfl_heap USING hash (x int4_ops);
|
||||
|
||||
-- Test hash index build tuplesorting. Force hash tuplesort using low
|
||||
-- maintenance_work_mem setting and fillfactor:
|
||||
SET maintenance_work_mem = '1MB';
|
||||
CREATE INDEX hash_tuplesort_idx ON tenk1 USING hash (stringu1 name_ops) WITH (fillfactor = 10);
|
||||
DROP INDEX hash_tuplesort_idx;
|
||||
RESET maintenance_work_mem;
|
||||
|
||||
|
||||
--
|
||||
-- Test functional index
|
||||
|
||||
Reference in New Issue
Block a user