> On 20-06-2021, at 17:06, Tom Lane <tgl@xxxxxxxxxxxxx> wrote: > > So ... the reason why there's not caching of get_actual_variable_range > results already is that I'd supposed it wouldn't be necessary given > the caching of selectivity estimates that happens at the RestrictInfo > level. I don't have any objection in principle to adding another > caching layer if that one's not working well enough, but I think it'd > be wise to first understand why it's needed. For what I could make out from the code, the caching done at the RestrictInfo level is already saving a lot of work, but there's a different RestrictInfo instance for each alternative path created by make_one_rel(). I wouldn't know how to reuse instances of RestrictInfo or if that would even be the correct approach. My guess is that doing so would be incorrect. I'll improve the patch with the suggestions from Ranier and you in the meantime. Best regards, Manuel