Re: Optimizer docs typos

Etsuro Fujita <etsuro.fujita@gmail.com>

From: Etsuro Fujita <etsuro.fujita@gmail.com>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Cc: Richard Guo <guofenglinux@gmail.com>, Magnus Hagander <magnus@hagander.net>, Daniel Gustafsson <daniel@yesql.se>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-05-21T06:36:10Z
Lists: pgsql-hackers
On Thu, May 21, 2020 at 11:25 AM Kyotaro Horiguchi
<horikyota.ntt@gmail.com> wrote:
> At Wed, 20 May 2020 19:17:48 +0900, Etsuro Fujita <etsuro.fujita@gmail.com> wrote in
> > Here is a patch including the change I proposed.  (Yet another thing I
> > noticed is the indent spaces for join_search_one_level(): that
> > function is called within standard_join_search(), so it would be
> > better to have one extra space, for consistency with others (eg,
> > set_base_rel_pathlists() called from make_one_rel()), but that would
> > be too nitpicking.)  This is more like an improvement, so I'll apply
> > the patch to HEAD only, if no objestions.

> The description for make_rel_from_joinlist() and that for
> standard_join_search() are at the same indentation depth.  And it is
> also strange that seemingly there is no line for level-5
> indentation. If we make standard_join_search() a 6th-hyphened level
> item, indentation of the surrounding descriptions needs a fix.
>
> ----make_one_rel()
>      set_base_rel_pathlists()
>       find seqscan and all index paths for each base relation
>       find selectivity of columns used in joins
>      make_rel_from_joinlist()
>       hand off join subproblems to a plugin, GEQO, or standard_join_search()
> ------standard_join_search()
>       call join_search_one_level() for each level of join tree needed
>       join_search_one_level():
>         For each joinrel of the prior level, do make_rels_by_clause_joins()
>         if it has join clauses, or make_rels_by_clauseless_joins() if not.

I don't think it's odd that we won't have 5-dashes indentation,
because I think we have 5-spaces indentation for
set_base_rel_pathlists() and make_rel_from_joinlist().  (I think the
dash indentation of optimizer functions such as standard_join_search()
just means that the dash-indented functions are more important
compared to other space-indented functions IMO.)  My point is that we
should adjust the dash or space indentation so that a deeper level of
indentation indicates that the outer optimizer function calls the
inner optimizer function.

Thanks!

Best regards,
Etsuro Fujita



Commits

  1. Adjust indentation in src/backend/optimizer/README.