Skip to content

Commit

Permalink
MDEV-21233 Assertion `m_extra_cache' failed in ha_partition::late_ext…
Browse files Browse the repository at this point in the history
…ra_cache

Incorrect assertion of EXTRA_CACHE for
HA_EXTRA_PREPARE_FOR_UPDATE. The latter is related to read cache, but
must operate without it as a noop.

Related to Bug#55458 and MDEV-20441.
  • Loading branch information
midenok committed Dec 5, 2019
1 parent c4ed1be commit d759f76
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 1 deletion.
9 changes: 9 additions & 0 deletions mysql-test/suite/versioning/r/partition.result
Original file line number Diff line number Diff line change
Expand Up @@ -605,3 +605,12 @@ Table Op Msg_type Msg_text
test.t1 check note Not supported for non-INTERVAL history partitions
test.t1 check note The storage engine for the table doesn't support check
drop table t1;
#
# MDEV-21233 Assertion `m_extra_cache' failed in ha_partition::late_extra_cache
#
create table t1 (id int, a varchar(8)) with system versioning partition by key (id) partitions 2;
insert into t1 values (1,'foo'),(2,'bar');
create table t2 (b int);
insert into t2 values (1),(2);
update t1, t2 set a = 1;
drop table t1, t2;
13 changes: 13 additions & 0 deletions mysql-test/suite/versioning/t/partition.test
Original file line number Diff line number Diff line change
Expand Up @@ -553,5 +553,18 @@ check table t1;
# cleanup
drop table t1;

--echo #
--echo # MDEV-21233 Assertion `m_extra_cache' failed in ha_partition::late_extra_cache
--echo #
create table t1 (id int, a varchar(8)) with system versioning partition by key (id) partitions 2;
insert into t1 values (1,'foo'),(2,'bar');

create table t2 (b int);
insert into t2 values (1),(2);

update t1, t2 set a = 1;

# cleanup
drop table t1, t2;

--source suite/versioning/common_finish.inc
1 change: 0 additions & 1 deletion sql/ha_partition.cc
Original file line number Diff line number Diff line change
Expand Up @@ -9227,7 +9227,6 @@ void ha_partition::late_extra_cache(uint partition_id)
}
if (m_extra_prepare_for_update)
{
DBUG_ASSERT(m_extra_cache);
(void) file->extra(HA_EXTRA_PREPARE_FOR_UPDATE);
}
m_extra_cache_part_id= partition_id;
Expand Down

0 comments on commit d759f76

Please sign in to comment.