• unknown's avatar
    Bug #28430 Failure in replication of innodb partitioned tables on row/mixed format. · 04a8a48d
    unknown authored
    In the ha_partition::position we don't calculate the number of
    the partition of the record. We use m_last_part_value instead relying on
    that it is set in other place like previous calls of ::write_row().
    In replication we do neither of these calls before ::position().
    Delete_row_log_event::do_exec_row calls find_and_fetch_row() where
    we used position() & rnd_pos() calls to find the record for the
    PARTITION/INNODB table as it posesses InnoDB table flags.
    Fixed by removing HA_PRIMARY_KEY_REQUIRED_FOR_POSITION flag from PARTITION
    
    
    sql/ha_partition.cc:
      Bug #28430 Failure in replication of innodb partitioned tables on row/mixed format.
      
      add HA_PRIMARY_KEY_REQUIRED_FOR_POSITION flag added to PRTITION engine
    mysql-test/r/rpl_partition.result:
      New BitKeeper file ``mysql-test/r/rpl_partition.result''
    mysql-test/t/rpl_partition.test:
      New BitKeeper file ``mysql-test/t/rpl_partition.test''
    04a8a48d
ha_partition.cc 161 KB