backport of Bug#11867664 from mysql-5.5
3381 Mattias Jonsson 2011-03-18 Bug#11867664: SERVER CRASHES ON UPDATE WITH JOIN ON PARTITIONED TABLE Regression from bug#11766232. m_last_part could be set beyond the last partition. Fixed by only setting it if within the limit. Also added check in print_error.
This commit is contained in:
parent
e108b3f69e
commit
ec9611cf40
@ -4317,7 +4317,8 @@ int ha_partition::index_read_idx_map(uchar *buf, uint index,
|
||||
break;
|
||||
}
|
||||
}
|
||||
m_last_part= part;
|
||||
if (part <= m_part_spec.end_part)
|
||||
m_last_part= part;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -6237,7 +6238,14 @@ void ha_partition::print_error(int error, myf errflag)
|
||||
{
|
||||
/* In case m_file has not been initialized, like in bug#42438 */
|
||||
if (m_file)
|
||||
{
|
||||
if (m_last_part >= m_tot_parts)
|
||||
{
|
||||
DBUG_ASSERT(0);
|
||||
m_last_part= 0;
|
||||
}
|
||||
m_file[m_last_part]->print_error(error, errflag);
|
||||
}
|
||||
else
|
||||
handler::print_error(error, errflag);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user