I wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> Well, append_rel_list has an AppendRelInfo for every RTE and that
>> contains a List (translated_vars) which in turn contains a Var node
>> for every column. I'm not sure how that compares to the RTE itself.
> RTEs also have a per-column component, namely the lists of column alias
> names.
... although I see that range_table_mutator doesn't bother to copy/change
the column alias substructure. (Wonder if that gives rise to any
observable EXPLAIN bugs...) But it still seems like the append_rel_list
shouldn't be all that much bulkier than all the other crap that gets
generated inside this loop. We're not doing anything at all to reclaim
space consumed inside subquery_planner, and you'd think that would be
a lot.
By the by, the tablesample additions to range_table_mutator are obviously
broken.
regards, tom lane