set_rel_pathlist function unnecessary params.

Started by Kirill Reshkeover 1 year ago2 messages
#1Kirill Reshke
reshkekirill@gmail.com

I happened to notice that `set_rel_pathlist` params, RelOptInfo *rel
and RangeTblEntry *rte are
unnecessary, because upon all usages,
`rte=root->simple_rte_array[rti]` and
`rel=root->simple_rel_array[rti]` holds. What's the point of providing
the same information 3 times? Is it kept like that for extension
backward compatibility.

So, I propose to refactor this a little bit.

Am I missing something?

--
Best regards,
Kirill Reshke

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Kirill Reshke (#1)
Re: set_rel_pathlist function unnecessary params.

Kirill Reshke <reshkekirill@gmail.com> writes:

I happened to notice that `set_rel_pathlist` params, RelOptInfo *rel
and RangeTblEntry *rte are
unnecessary, because upon all usages,
`rte=root->simple_rte_array[rti]` and
`rel=root->simple_rel_array[rti]` holds. What's the point of providing
the same information 3 times?

To avoid having to re-fetch it from those arrays?

So, I propose to refactor this a little bit.
Am I missing something?

I'm -1 on changing this. It'd provide no detectable benefit
while creating back-patching hazards in this code.

regards, tom lane