On Sun, Aug 31, 2025 at 6:51 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> The most expedient solution is probably to hack examine_variable
> so that it doesn't fail if root->simple_rel_array isn't there yet.
> That seems mighty ugly though.
As an alternative, I wonder if we could pass root as NULL to
cost_subplan() when it's called from build_subplan(), and possibly
also from SS_process_ctes(). At those points, the root does not yet
contain enough information to safely consult statistics. Meanwhile,
cost_qual_eval() and the functions it calls are already well-equipped
to handle a NULL root.
- Richard