Consider unsorted paths in generate_useful_gather_paths

Tomas Vondra <tomas.vondra@postgresql.org>

Commit: ea190ed14b4b75b38a490707d5d08231dcacfb8c
Author: Tomas Vondra <tomas.vondra@postgresql.org>
Date: 2020-12-21T17:16:36Z
Releases: 13.2
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