21 Feb
2017
21 Feb
'17
1:48 p.m.
Hi, Alexey! I see :) Thanks! On Feb 21, Alexey Botchkov wrote:
This seems fairly obvious, that it should. But why MySQL doesn't have this bug (despite not resetting m_extra_prepare_for_update)?
The difference is in the ha_partition::late_extra_cache() function MySQL: if (m_extra_prepare_for_update) { (void) file->extra(HA_EXTRA_PREPARE_FOR_UPDATE); }
Maria: if (m_extra_prepare_for_update) { DBUG_ASSERT(m_extra_cache); (void) file->extra(HA_EXTRA_PREPARE_FOR_UPDATE); }
And that DBUG_ASSERT() actually does the crash.
MySQL just blindly does the file->extra(HA_EXTRA_PREPARE_FOR_UPDATE) even for that 'SELECT * FROM t2;' query.
Best regards. HF
Regards, Sergei Chief Architect MariaDB and security@mariadb.org