Consider unsorted paths in generate_useful_gather_paths
authorTomas Vondra
Mon, 21 Dec 2020 17:16:16 +0000 (18:16 +0100)
committerTomas Vondra
Mon, 21 Dec 2020 17:16:36 +0000 (18:16 +0100)
commitea190ed14b4b75b38a490707d5d08231dcacfb8c
treeb477d11e0e979ae28a991483344fad2dce8eacae
parentbd6939a4e22ff5cc4ed77eec2c3c2d4c58ea2143
Consider unsorted paths in generate_useful_gather_paths

generate_useful_gather_paths used to skip unsorted paths (without any
pathkeys), but that is unnecessary - the later code actually can handle
such paths just fine by adding a Sort node. This is clearly a thinko,
preventing construction of useful plans.

Backpatch to 13, where Incremental Sort was introduced.

Author: James Coleman
Reviewed-by: Tomas Vondra
Backpatch-through: 13
Discussion: https://postgr.es/m/CAAaqYe8cK3g5CfLC4w7bs=hC0mSksZC=H5M8LSchj5e5OxpTAg@mail.gmail.com
src/backend/optimizer/path/allpaths.c
src/test/regress/expected/incremental_sort.out
src/test/regress/sql/incremental_sort.sql