mariadb/storage/innobase
Annamalai Gurusami bd7c9815ce Bug #14036214 MYSQLD CRASHES WHEN EXECUTING UPDATE IN TRX WITH
CONSISTENT SNAPSHOT OPTION

A transaction is started with a consistent snapshot.  After 
the transaction is started new indexes are added to the 
table.  Now when we issue an update statement, the optimizer
chooses an index.  When the index scan is being initialized
via ha_innobase::change_active_index(), InnoDB reports 
the error code HA_ERR_TABLE_DEF_CHANGED, with message 
stating that "insufficient history for index".

This error message is propagated up to the SQL layer.  But
the my_error() api is never called.  The statement level
diagnostics area is not updated with the correct error 
status (it remains in Diagnostics_area::DA_EMPTY).  

Hence the following check in the Protocol::end_statement()
fails.

 516   case Diagnostics_area::DA_EMPTY:
 517   default:
 518     DBUG_ASSERT(0);
 519     error= send_ok(thd->server_status, 0, 0, 0, NULL);
 520     break;

The fix is to backport the fix of bugs 14365043, 11761652 
and 11746399. 

14365043 PROTOCOL::END_STATEMENT(): ASSERTION `0' FAILED
11761652 HA_RND_INIT() RESULT CODE NOT CHECKED
11746399 RETURN VALUES OF HA_INDEX_INIT() AND INDEX_INIT() IGNORED

rb://1227 approved by guilhem and mattiasj.
2012-10-08 19:40:30 +05:30
..
btr Merge mysql-5.1 to mysql-5.5. 2012-09-19 22:55:26 +03:00
buf Merge mysql-5.1 to mysql-5.5. 2012-09-17 14:32:07 +03:00
data Implement worklog #5743 InnoDB: Lift the limit of index key prefixes. 2011-05-31 02:12:32 -07:00
dict Merge mysql-5.1 to mysql-5.5. 2012-10-08 16:18:54 +03:00
dyn
eval Remove redundant variable 2010-09-20 18:48:38 +03:00
fil Bug#14594600 ASSERT FROM DROP TABLE CONCURRENT WITH IBUF MERGES 2012-09-20 08:44:33 -04:00
fsp Merging from mysql-5.1 to mysql-5.5. 2012-03-09 12:35:27 +05:30
fut
ha WL#6161 Integrating with InnoDB codebase in MySQL 5.5 2012-06-07 19:14:26 +05:30
handler Bug #14036214 MYSQLD CRASHES WHEN EXECUTING UPDATE IN TRX WITH 2012-10-08 19:40:30 +05:30
ibuf Merge mysql-5.1 to mysql-5.5. 2012-09-19 22:55:26 +03:00
include Merge mysql-5.1 to mysql-5.5. 2012-10-08 16:18:54 +03:00
lock merge from 5.1 2012-03-15 13:34:50 -04:00
log Merge mysql-5.1 to mysql-5.5. 2012-09-17 14:32:07 +03:00
mach
mem WL#6161 Integrating with InnoDB codebase in MySQL 5.5 2012-06-07 19:14:26 +05:30
mtr Merge mysql-5.1 to mysql-5.5. 2012-02-17 11:52:51 +02:00
os WL#6161 Integrating with InnoDB codebase in MySQL 5.5 2012-06-07 19:14:26 +05:30
page Merge mysql-5.1 to mysql-5.5. 2012-09-17 14:32:07 +03:00
pars Partial fix for Bug#11764622 57480: MEMORY LEAK WHEN HAVING 256+ TABLES 2011-12-29 16:05:08 +02:00
que (que0que.c:1286) Bug#55227 Fix compiler warnings in innodb with gcc 4.6 2010-09-20 19:01:14 +03:00
read
rem Merge mysql-5.1 to mysql-5.5. 2011-06-16 15:13:24 +03:00
row Merge from mysql-5.1 to mysql-5.5. 2012-09-28 16:42:31 +05:30
srv Bug#12677594 - 61575: INNODB: WARNING: IO_SETUP() FAILED WITH EAGAIN. 2012-04-23 06:39:16 -04:00
sync Bug#11758510 (#50723): INNODB CHECK TABLE FATAL SEMAPHORE WAIT TIMEOUT POSSIBLY TOO SHORT FOR BI 2012-04-27 19:40:12 +09:00
trx WL#6161 Integrating with InnoDB codebase in MySQL 5.5 2012-06-07 19:14:26 +05:30
usr
ut WL#6161 Integrating with InnoDB codebase in MySQL 5.5 2012-06-07 19:14:26 +05:30
CMakeLists.txt Bug#11766305 - 59392: Remove thr0loc.c and ibuf_inside() [part 4 of 4] 2011-03-24 14:00:14 +02:00
compile-innodb Invoke make with -j$(nproc) for better parallelism. 2010-09-09 13:50:06 +03:00
COPYING.Google
COPYING.Percona
Doxyfile Remove ut0auxconf.h. 2010-09-09 14:27:52 +03:00
ha_innodb.def