Hannu Krosing <hannu@2ndQuadrant.com> writes:
> If there is plan invalidation then you just change called1() to return
> one more field and that's it - no juggling with C) and D) and generally
> less things that can go wrong.
That is a pure flight of fancy. Adjusting a function's API generally
requires source-code changes on the caller side too. There might be
a few limited cases where you can avoid that, but that doesn't leave
you with much of an argument that this is a critical bug fix. It's
a corner case and little more.
FWIW, given that there will probably always be corner cases. I can see
the attraction in Simon's suggestion of providing a way to manually
issue a system-wide forced plan flush.
regards, tom lane