Robert Haas <robertmhaas@gmail.com> writes:
> On Thu, Sep 17, 2015 at 2:23 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> I can't imagine I'd be doing anything that would break the simple case
>> of "give every node a distinct ID". If you are building in weird
>> assumptions about traversal order, that might indeed be a problem.
> Good to know, thanks. With the design you proposal above, we can make
> this insensitive to traversal order. The only thing that would cause
> trouble is if you somehow ended up with massive gaps in the numbering
> sequence - e.g. if the final plan had 6 nodes, but the IDs were all 5
> digit numbers, you'd waste a silly amount of memory relative to the
> size of the plan. But a few gaps (e.g. for removed SubqueryScan
> nodes) won't be a problem.
Hm ... if you quit worrying about the order-of-assignment, maybe you
could prevent gaps from removed SubqueryScan nodes by not giving them
IDs until after that decision is made? Although it may not be worth
any extra trouble.
regards, tom lane