In sort_inner_and_outer we iterate a list of PathKey elements, but the
variable is declared as (List *). This mistake is benign, because we
only pass the pointer to lcons() and never dereference it.
This exists since ~2004, but it's confusing. So fix and backpatch to all
supported branches.
Backpatch-through: 10
Discussion: https://postgr.es/m/
bf3a6ea1-a7d8-7211-0669-
189d5c169374%40enterprisedb.com
foreach(l, all_pathkeys)
{
- List *front_pathkey = (List *) lfirst(l);
+ PathKey *front_pathkey = (PathKey *) lfirst(l);
List *cur_mergeclauses;
List *outerkeys;
List *innerkeys;