Fix misleading comment for get_cheapest_group_keys_order
authorDavid Rowley <drowley@postgresql.org>
Mon, 19 Sep 2022 22:03:26 +0000 (10:03 +1200)
committerDavid Rowley <drowley@postgresql.org>
Mon, 19 Sep 2022 22:03:26 +0000 (10:03 +1200)
commit55b4966365fa76bda275c409f3aefad43243f12c
treebc988bd67b4e8565a054339f08922d8ec2e40635
parent78a9af1a27641ad983354bbaaaa4b7c00ea390f6
Fix misleading comment for get_cheapest_group_keys_order

The header comment for get_cheapest_group_keys_order() claimed that the
output arguments were set to a newly allocated list which may be freed by
the calling function, however, this was not always true as the function
would simply leave these arguments untouched in some cases.

This tripped me up when working on 1349d2790 as I mistakenly assumed I
could perform a list_concat with the output parameters.  That turned out
bad due to list_concat modifying the original input lists.

In passing, make it more clear that the number of distinct values is
important to reduce tiebreaks during sorts.  Also, explain what the
n_preordered parameter means.

Backpatch-through: 15, where get_cheapest_group_keys_order was introduced.
src/backend/optimizer/path/pathkeys.c