Thread: set_rel_pathlist function unnecessary params.

set_rel_pathlist function unnecessary params.

From
Kirill Reshke
Date:
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



Re: set_rel_pathlist function unnecessary params.

From
Tom Lane
Date:
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