]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Remove PlannerInfo's join_search_private method. master github/master
authorRobert Haas <rhaas@postgresql.org>
Wed, 20 Aug 2025 19:10:52 +0000 (15:10 -0400)
committerRobert Haas <rhaas@postgresql.org>
Tue, 7 Oct 2025 16:43:45 +0000 (12:43 -0400)
commit64095d157482136ee609586266f8a37467c69bde
treeaf26200c2ee9082146ae5f573ecd744631d37865
parent0132dddab33a6eae2d3d63eda9f053e745fedb06
Remove PlannerInfo's join_search_private method.

Instead, use the new mechanism that allows planner extensions to store
private state inside a PlannerInfo, treating GEQO as an in-core planner
extension.  This is a useful test of the new facility, and also buys
back a few bytes of storage.

To make this work, we must remove innerrel_is_unique_ext's hack of
testing whether join_search_private is set as a proxy for whether
the join search might be retried. Add a flag that extensions can
use to explicitly signal their intentions instead.

Reviewed-by: Andrei Lepikhov <lepihov@gmail.com>
Reviewed-by: Melanie Plageman <melanieplageman@gmail.com>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: http://postgr.es/m/CA+TgmoYWKHU2hKr62Toyzh-kTDEnMDeLw7gkOOnjL-TnOUq0kQ@mail.gmail.com
src/backend/optimizer/geqo/geqo_eval.c
src/backend/optimizer/geqo/geqo_main.c
src/backend/optimizer/geqo/geqo_random.c
src/backend/optimizer/plan/analyzejoins.c
src/backend/optimizer/plan/planner.c
src/backend/optimizer/prep/prepjointree.c
src/include/nodes/pathnodes.h
src/include/optimizer/geqo.h