On Mon, 2023-07-24 at 13:58 -0400, Tom Lane wrote: > Please do not put in any code that assumes that restriction clause > order is preserved, or encourages users to think it is.
Agreed. I didn't mean to add any extra guarantee of preserving clause order; just to follow the current way order_qual_clauses() works, which has a comment saying: "So we just order by security level then estimated per-tuple cost, being careful not to change the order when (as is often the case) the estimates are identical." I assumed that the reason for "being careful" above was to not unnecessarily override how the user writes the qual clauses, but perhaps there's another reason? Regardless, my point was just to make minimal changes now that are unlikely to cause regressions. If we come up with better ways of ordering the clauses later, that could be part of a separate change. (I think Peter G. is pointing out a complication with that idea, to which I'll respond separately.) Regards, Jeff Davis