Consider unsorted paths in generate_useful_gather_paths

Tomas Vondra <tomas.vondra@postgresql.org>

Commit: f4a3c0b06250ddc8ae09b59b87cf68e9bc0d7ca1
Author: Tomas Vondra <tomas.vondra@postgresql.org>
Date: 2020-12-21T17:10:20Z
Releases: 14.0
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

Files

Discussion