1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Bug#12348348 - ASSERTION IN ROW0SEL.C LINE 3698:

TRX->CONC_STATE == 0 || TRX->CONC_STATE == 1

This bug was a different manifestation of Bug#11766752,
which was previously only fixed on mysql-trunk.

This patch backports the fix for Bug#11766752 to mysql-5.5,
which fixes the problem. The patch also adds some extra test
coverage.
This commit is contained in:
Jon Olav Hauglid
2011-04-12 12:57:02 +02:00
parent d14729c4a6
commit 94cffe7218
4 changed files with 95 additions and 0 deletions

View File

@ -4724,6 +4724,14 @@ bool open_tables(THD *thd, TABLE_LIST **start, uint *counter, uint flags,
bool has_prelocking_list;
DBUG_ENTER("open_tables");
/* Accessing data in XA_IDLE or XA_PREPARED is not allowed. */
enum xa_states xa_state= thd->transaction.xid_state.xa_state;
if (*start && (xa_state == XA_IDLE || xa_state == XA_PREPARED))
{
my_error(ER_XAER_RMFAIL, MYF(0), xa_state_names[xa_state]);
DBUG_RETURN(true);
}
/*
temporary mem_root for new .frm parsing.
TODO: variables for size