← Back to team overview

maria-developers team mailing list archive

Re: 6ac19d09c66: MDEV-16978 Application-time periods: WITHOUT OVERLAPS

 

Hi, Nikita!

On Dec 17, Nikita Malyavin wrote:
> It is used in innodb's implementation of handler::position, to copy the key
> from the record buffer, which is also used to be record[0]

Okay.

It seems that position() was always called with record[0] as an
argument.

But check_duplicate_long_entry_key() uses store_record()/restore_record()
to call position(record[0]). Please see if you can remove them now.

> On Tue, 17 Dec 2019 at 01:20, Sergei Golubchik <serg@xxxxxxxxxxx> wrote:
> > Hi, Nikita!
> > On Dec 06, Nikita Malyavin wrote:
> > > Hi Sergei!
> > >
> > > I traced out the problem I faced with refs comparison -- It's in
> > > key_copy implementation, which uses field->get_key_image, which in
> > > turn copied data to the buffer passed, but from `field->ptr`. The
> > > latter is important -- it means, current key_copy implementation
> > > always copies data from table->record[0].
> >
> > I see. It looks like so far all usages of key_copy() used record[0]
> > indeed.
> >
> > But as far as I can see, you're also using key_copy() with
> > record[0], so why would you need that fix?
> >
Regards,
Sergei
VP of MariaDB Server Engineering
and security@xxxxxxxxxxx


Follow ups

References