Consider unsorted paths in generate_useful_gather_paths
authorTomas Vondra <tomas.vondra@postgresql.org>
Mon, 21 Dec 2020 17:09:57 +0000 (18:09 +0100)
committerTomas Vondra <tomas.vondra@postgresql.org>
Mon, 21 Dec 2020 17:10:20 +0000 (18:10 +0100)
commitf4a3c0b06250ddc8ae09b59b87cf68e9bc0d7ca1
treee4670149068b7cfe6abdedf560fb460239cd2c40
parent29f8f546767ebb4253f6dc37815e2d95fff9acd0
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