Thank you for your reply Tom. Then a) what are exactly stored in the
pathlist of top level rel? Paths worth considering? b) I have been
struggling to come up with a way to print the Path struct. If I can print a
path the way like "A hash join (B nested loop join C)", that would be
great. You mentioned people have printed "something" about each path, can
you please give me a hint of what's that and how to achieve that?


On Thu, Nov 14, 2013 at 12:01 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:

> Zhan Li <zhanl...@gmail.com> writes:
> > When searching all the possible paths of executing a query, the optimizer
> > finds and saves the cheapest paths for the top level rel. I'd like to
> check
> > out all the paths the optimizer has ever considered, which I believe, are
> > stored in the pathlist of the top level rel.
>
> No, most of them have been thrown away long before that.  See add_path.
> Also realize that in a large join problem, a lot of potential plans never
> get explicitly considered, because the input paths get pruned before we
> get to considering the join rel at all.  (If this were not so, planning
> would take too long.)
>
> People have experimented with having add_path print something about each
> path that's fed to it, but the output tends to be voluminous and not all
> that useful.
>
>                         regards, tom lane
>

Reply via email to