]> granicus.if.org Git - postgresql/commit
Add a regression test case to improve code coverage for tuplesort.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 13 Jul 2016 19:23:56 +0000 (15:23 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 13 Jul 2016 19:23:56 +0000 (15:23 -0400)
commitcec55013943d160538334ee19ef5db429a085969
treeed681c6fbcc2d7d95fbe913c5db090f9166989d1
parent91c0eb5040cde36a62a34e9b3a80d82db64eb98f
Add a regression test case to improve code coverage for tuplesort.

Test the external-sort code path in CLUSTER for two different scenarios:
multiple-pass external sorting, and the best case for replacement
selection, where only one run is produced, so that no merge is required.
This test would have caught the bug fixed in commit 1b0fc8507, at
least when run with valgrind enabled.

In passing, add a short-circuit test in plan_cluster_use_sort() to make
dead certain that it selects sorting when enable_indexscan is off.  As
things stand, that would happen anyway, but it seems like good future
proofing for this test.

Peter Geoghegan

Discussion: <CAM3SWZSgxehDkDMq1FdiW2A0Dxc79wH0hz1x-TnGy=1BXEL+nw@mail.gmail.com>
src/backend/optimizer/plan/planner.c
src/test/regress/expected/cluster.out
src/test/regress/sql/cluster.sql