← Back to team overview

maria-developers team mailing list archive

Re: da5a72f32d4: MDEV-31033 ER_KEY_NOT_FOUND upon online COPY ALTER on a partitioned table

 

Hi,

On Fri, 5 May 2023 at 20:46, Sergei Golubchik <serg@xxxxxxxxxxx> wrote:

> >  #ifdef HAVE_REPLICATION
> > -  if (unlikely(!error && table->s->online_alter_binlog))
> > +  if (unlikely(!error && table->s->online_alter_binlog &&
> > +               !table->skip_online_logging))
>
> this doesn't need any juggling with skip_online_logging.
> This problem is already solved for, say, long uniques. You can use
>
>    this == table->file
>
> condition to filter out individual partitions and have your
> binlog_log_row_online_alter called only for the main ha_partition
> handler.
>

This doesn't look reliable -- won't there be any cases when we make a
change from another handler, not table->file?
If that never happens, we could add DBUG_ASSERT(this == table->faile) in
ha_innodb's/ha_myisam's ha_*_row methods.

-- 
Yours truly,
Nikita Malyavin

Follow ups

References