← Back to team overview

maria-developers team mailing list archive

Re: MDEV-17399: JSON_TABLE: final input


The Json_table_nested_path lives only inside the Table_function_json_table
and that last one
is the only class that manipulates the Json_table_nested_path internals.
Using methods
in your version, but it's the only class using these methods anyway.
So to me it's seems more honest to declare classes as friends so we
explicitly allow access to
the internals to that one class and disallow to everyone else.

But yes, it's rather the matter of taste.

Best regards.

On Fri, Mar 12, 2021 at 2:33 AM Sergey Petrunia <sergey@xxxxxxxxxxx> wrote:

> On Sat, Mar 06, 2021 at 01:13:53AM +0400, Alexey Botchkov wrote:
> > Hi, Sergei!
> >
> > I pushed the patch to the feature branch for you to take a look.
> > The patch you proposed
> > http://lists.askmonty.org/pipermail/commits/2021-March/014492.html
> >  I liked and adapted with one exception. The nested paths list is built
> > using the **last_sibling_hook
> > instead of *cur_last_sibling. That seems to me nicer and doesn't produce
> > that many repeating lines
> > in the code.
> >
> On the other hand, use of "last_sibling_hook" makes
> Table_function_json_table to
> be aware about the internals of Json_table_nested_path (you had to make it
> a
> friend class).
> And the price to pay for complete isolation was the if-else in
> start_nested_path(), with two lines in either branch.
> So I would still say that the suggested solution was cleaner.
> I don't consider this to be a showstopper issue, though.
> BR
>  Sergei
> --
> Sergei Petrunia, Software Developer
> MariaDB Corporation | Skype: sergefp | Blog: http://petrunia.net