On Wed, Jan 7, 2026 at 6:11 PM Jacob Champion
<jacob.champion@enterprisedb.com> wrote:
> On Mon, Dec 15, 2025 at 12:06 PM Robert Haas <robertmhaas@gmail.com> wrote:
> > - Add gather((d d/d.d)) test case, per Jacob, and fix the related bug
> > in pgpa_identifier_matches_target, per Jacob's email.
>
> I think this fix affected the ability to omit the partition schema in
> advice strings. Attached is a quick test that shows it on my machine,
> plus an attempted fix that mashes together the v6 and v7 approaches.
> (I have diffs in my generated plan advice compared to what's in
> v7-0005, so I'm not sure if my .out file is correct.)
Right, so I also am seeing some instability in the plans for some of
the test cases. I've attempted to address that in v8 by making the
three partitioned tables have unequal row counts. I also adapted your
test case and adopted your code fix. Unfortunately, I haven't been
able to respond to everyone's reports about v7 yet, partly because of
Christmas vacation, partly because of the number of reports, and
partly because, uh, I'm slow I guess. But here's the list of things
that have changed:
0001, 0003: No changes.
0002: Comment update.
0004: Comment update, bug fix to cost_index() per comment from Lukas.
- Added an XXX to the README to highlight the need for more GEQO investigation.
- Regression test expected output changes.
- Make partitionwise_join test tables different sizes in the hopes of
stabilizing test results.
- Add test case for forcing partitionwise join order with and without
a schema specification.
- Add new GUC pg_plan_advice.trace_mask because I've written similar
debugging code too many times already.
- Replace reference to inner_beneath_any_gather[i] with
inner_beneath_any_gather[k] per comment from Jakub.
- Add logic to pgpa_planner_apply_join_path_advice taking into account
that PARTITIONWISE() implicitly constrains the join order.
- Rebased.
--
Robert Haas
EDB: http://www.enterprisedb.com