David Rowley <david.rowley@2ndquadrant.com> writes:
> On Wed, 27 Mar 2019 at 18:39, Amit Langote
> <Langote_Amit_f8@lab.ntt.co.jp> wrote:
>> On 2019/03/27 14:26, David Rowley wrote:
>>> Perhaps the way to make this work, at least in the long term is to do
>>> in the planner what we did in the executor in d73f4c74dd34.
>> Maybe you meant 9ddef36278a9?
> Probably.
Yeah, there's something to be said for having plancat.c open each table
*and store the Relation pointer in the RelOptInfo*, and then close that
again at the end of planning rather than immediately. If we can't avoid
these retail table_opens without a great deal of pain, that's the
direction I'd tend to go in. However it would add some overhead, in
the form of a need to traverse the RelOptInfo array an additional time.
regards, tom lane