← Back to team overview

maria-developers team mailing list archive

Re: bc7d600a27f: MDEV-15951 system versioning by trx id doesn't work with partitioning

 

Hi, Sergei!

On Wed, Dec 26, 2018 at 7:42 AM Sergei Golubchik <serg@xxxxxxxxxxx> wrote:

> Hi, Nikita!
>
> On Dec 21, Nikita Malyavin wrote:
> > > > @@ -4938,6 +4938,7 @@ int ha_create_table(THD *thd, const char *path,
> > > >                          !create_info->tmp_table();
> > > >
> > > >      share.frm_image= frm;
> > > > +    share.orig_table_name= table_name;
> > >
> > > why? if orig_table_name is NULL, error_table_name() will use
> table_name,
> > > so there's never need to make orig_table_name==table_name.
> > >
> > > and I don't understand all your other manipulations with
> > > orig_table_name. Could you please explain that?
> >
> > It affects ALTER TABLE error messages. table_name will contain temporary
> name,
> > and error_table_name() will output "(temporary)", which is rather
> inconvenient.
> > AFAICS, orig_table_name purpose is exactly for fixing that, but some
> > corner cases were not covered to this moment.
>
> I don't understand that. You've made a lot of changes in many places
> passing orig table name around, it's difficult to see what corner cases
> you were trying to fix.
>
> Could you please fix it in a separate commit? With tests and an
> explanation in a commit comment, describing what exactly corner cases
> were not covered.
>

TABLE_SHARE::orig_table_name has been removed in some later 10.3 code. So
it's not relevant anymore. I've made the workaround another way, and have
put it in separate commit, with test changes. Looks much more compact now,
but I was afraid for side effects with such approach. Although --suite=main
passes well.

-- 
Yours truly,
Nikita Malyavin

References