On Tue, 2024-08-27 at 15:11 -0400, Robert Haas wrote: > - control over scan methods > - control over index selection > - control over join methods > - control over join order
I suggest we split join order into "commutative" and "associative". The former is both useful and seems relatively easy -- A JOIN B or B JOIN A (though there's some nuance about when you try to make that decision). The latter requires controlling an explosion of possibilities, and would be an entirely different kind of hook. Regards, Jeff Davis