mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-21233 Assertion `m_extra_cache' failed in ha_partition::late_extra_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.
This commit is contained in:
@ -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 Not supported for non-INTERVAL history partitions
|
||||||
test.t1 check note The storage engine for the table doesn't support check
|
test.t1 check note The storage engine for the table doesn't support check
|
||||||
drop table t1;
|
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;
|
||||||
|
@ -553,5 +553,18 @@ check table t1;
|
|||||||
# cleanup
|
# cleanup
|
||||||
drop table t1;
|
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
|
--source suite/versioning/common_finish.inc
|
||||||
|
@ -9227,7 +9227,6 @@ void ha_partition::late_extra_cache(uint partition_id)
|
|||||||
}
|
}
|
||||||
if (m_extra_prepare_for_update)
|
if (m_extra_prepare_for_update)
|
||||||
{
|
{
|
||||||
DBUG_ASSERT(m_extra_cache);
|
|
||||||
(void) file->extra(HA_EXTRA_PREPARE_FOR_UPDATE);
|
(void) file->extra(HA_EXTRA_PREPARE_FOR_UPDATE);
|
||||||
}
|
}
|
||||||
m_extra_cache_part_id= partition_id;
|
m_extra_cache_part_id= partition_id;
|
||||||
|
Reference in New Issue
Block a user