mariadb/innobase/include
Timothy Smith 021d7d72f8 Cherry-pick InnoDB fixes for Bug#34286, Bug#35352, and Bug#36600 from snapshot
innodb-5.0-ss2475.

Bug #34286  Assertion failure in thread 2816 in file .\row\row0sel.c line 3500
Since autoinc init performs a MySQL SELECT query to determine the auto-inc
value, set prebuilt->sql_stat_start = TRUE so that it is performed like any
normal SELECT, regardless of the context in which it was invoked.


Bug #35352  If InnoDB crashes with UNDO slots full error the error persists on restart
We've added a heuristic that checks the size of the UNDO slots cache lists
(insert and upate). If either of cached lists has more than 500 entries then we
add any UNDO slots that are freed, to the common free list instead of the cache
list, this is to avoid the case where all the free slots end up in only one of
the lists on startup after a crash.

Tested with test case for 26590 and passes all mysql-test(s).

Bug #36600  SHOW STATUS takes a lot of CPU in buf_get_latched_pages_number
Fixed by removing the Innodb_buffer_pool_pages_latched variable from SHOW
STATUS output in non-UNIV_DEBUG compilation.
2008-07-31 15:47:57 -06:00
..
btr0btr.h InnoDB: Remove unused #defines BTR_PAGE_MAX_KEY_SIZE and BTR_COMPRESS_LIMIT. 2005-09-16 15:33:38 +03:00
btr0btr.ic InnoDB: Some low-level optimizations made based on OProfile results. 2005-04-22 14:04:18 +03:00
btr0cur.h Applied innodb-5.0-ss368 snapshot 2006-03-29 23:04:32 +04:00
btr0cur.ic innodb r702 2006-08-18 14:16:11 +02:00
btr0pcur.h manually merged 2005-04-06 21:19:20 +02:00
btr0pcur.ic row0sel.c, btr0pcur.c, btr0pcur.ic, btr0pcur.h: 2005-04-06 10:27:40 +03:00
btr0sea.h row0mysql.c: 2004-12-08 14:33:09 +02:00
btr0sea.ic Fixed BUG#15653, BUG#16582. 2006-01-30 22:33:02 +03:00
btr0types.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
buf0buf.h Cherry-pick InnoDB fixes for Bug#34286, Bug#35352, and Bug#36600 from snapshot 2008-07-31 15:47:57 -06:00
buf0buf.ic NULL MERGE UP to 5.1. 2007-07-10 08:16:51 -06:00
buf0flu.h InnoDB: Revert most of ChangeSet@1.1772, as the debug functions may 2004-06-16 13:41:14 +03:00
buf0flu.ic WL 2059 Engine-specific status variables framework and WL 1922 2004-11-18 13:00:42 +03:00
buf0lru.h NULL MERGE UP to 5.1. 2007-07-10 08:16:51 -06:00
buf0lru.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
buf0rea.h Many files: 2003-10-07 17:28:59 +03:00
buf0types.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
data0data.h Merge with 4.0.21 2004-06-18 04:38:58 +03:00
data0data.ic After merge fixes 2004-05-24 14:42:34 +03:00
data0type.h Applied innodb snapshot ss792 and ss854. 2006-09-20 13:00:49 -06:00
data0type.ic Applied innodb snapshot ss792 and ss854. 2006-09-20 13:00:49 -06:00
data0types.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
db0err.h Applied InnoDB snapshot innodb-5.0-ss2095 2007-11-20 10:53:19 -07:00
dict0boot.h InnoDB: Implement fast TRUNCATE TABLE (Bug #7150) 2005-01-11 16:28:07 +02:00
dict0boot.ic Merge 2001-10-30 17:38:44 +02:00
dict0crea.h This ChangeSet must be null-merged to 5.1. Applied innodb-5.0-ss982, -ss998, -ss1003 2006-11-09 05:02:37 +01:00
dict0crea.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
dict0dict.h NULL MERGE UP to 5.1. 2007-07-10 08:16:51 -06:00
dict0dict.ic NULL MERGE UP to 5.1. 2007-07-10 08:16:51 -06:00
dict0load.h Fix BUG#12071: "Windows hang: 'Opening tables' or 'Waiting for 2005-12-12 21:06:59 +03:00
dict0load.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
dict0mem.h NULL MERGE UP to 5.1. 2007-07-10 08:16:51 -06:00
dict0mem.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
dict0types.h InnoDB: Remove unnecessary code, mostly related to stored procedures 2004-03-31 10:30:14 +03:00
dyn0dyn.h InnoDB: Remove warnings detected by GCC 4.0.0 2005-06-20 11:06:20 +03:00
dyn0dyn.ic InnoDB: Remove warnings detected by GCC 4.0.0 2005-06-20 11:06:20 +03:00
eval0eval.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
eval0eval.ic eval0eval.ic: 2005-02-02 01:43:25 +02:00
eval0proc.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
eval0proc.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
fil0fil.h manually merged 2004-12-31 15:26:24 +01:00
fsp0fsp.h NULL MERGE this ChangeSet to 5.1 2007-08-15 17:20:54 -06:00
fsp0fsp.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
fut0fut.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
fut0fut.ic Allow UNIV_SYNC_DEBUG to be disabled while UNIV_DEBUG is enabled 2004-03-12 17:14:51 +02:00
fut0lst.h InnoDB: Revert most of ChangeSet@1.1772, as the debug functions may 2004-06-16 13:41:14 +03:00
fut0lst.ic Many files: 2003-10-07 17:28:59 +03:00
ha0ha.h Applied innodb-5.0-ss368 snapshot 2006-03-29 23:04:32 +04:00
ha0ha.ic Merge with 4.0 2004-04-26 15:53:31 +03:00
hash0hash.h Many files: 2007-01-11 12:31:52 +01:00
hash0hash.ic Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040311211202|05613 2004-06-17 13:25:06 +03:00
ibuf0ibuf.h Merge with 4.0 2004-04-26 15:53:31 +03:00
ibuf0ibuf.ic Many files: 2003-10-13 11:20:19 +03:00
ibuf0types.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
lock0lock.h Changes from the innodb-5.0-ss115 snapshot. 2006-01-16 14:32:43 +03:00
lock0lock.ic Many files: 2004-12-02 19:45:07 +02:00
lock0types.h Added max_user_connections 2001-02-20 22:34:47 +02:00
log0log.h InnoDB: Remove unreachable debug code from non-debug builds. 2005-06-15 12:50:27 +03:00
log0log.ic Merge with 4.0.21 2004-06-18 04:38:58 +03:00
log0recv.h InnoDB cleanup: 2004-05-27 15:27:43 +03:00
log0recv.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
mach0data.h InnoDB: Performance optimizations based on OProfile analysis 2005-04-25 10:14:35 +03:00
mach0data.ic InnoDB: Performance optimizations based on OProfile analysis 2005-04-25 10:14:35 +03:00
Makefile.am my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
Makefile.i - Fixed bug in "make DESTDIR=<dir> install" - the InnoDB static 2003-04-10 20:03:52 +02:00
mem0dbg.h mem0dbg.h, mem0dbg.c: 2004-06-17 17:30:33 +03:00
mem0dbg.ic Merge with 4.0.21 2004-06-18 04:38:58 +03:00
mem0mem.h Minor corrections to InnoDB function comments 2005-09-29 12:37:27 +03:00
mem0mem.ic Minor corrections to InnoDB function comments 2005-09-29 12:37:27 +03:00
mem0pool.h InnoDB: Revert most of ChangeSet@1.1772, as the debug functions may 2004-06-16 13:41:14 +03:00
mem0pool.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
mtr0log.h InnoDB: Remove warnings detected by GCC 4.0.0 2005-06-20 11:06:20 +03:00
mtr0log.ic manually merged 2004-08-18 19:57:55 +02:00
mtr0mtr.h InnoDB: Replace the redo log entry type 2005-04-18 15:12:30 +03:00
mtr0mtr.ic InnoDB cleanup: eliminate IB__FILE__ 2004-05-14 16:06:21 +03:00
mtr0types.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
os0file.h NULL MERGE UP to 5.1. 2007-07-10 08:16:51 -06:00
os0proc.h Forward port of HugeTLB, InnoDB doublewrite and checksums patches to 5.0 2004-12-14 22:26:31 +03:00
os0proc.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
os0sync.h Applied InnoDB snapshot innodb-5.0-ss2095 2007-11-20 10:53:19 -07:00
os0sync.ic os0thread.h, os0sync.ic, os0sync.h, os0thread.c, os0sync.c, os0file.c: 2003-06-02 13:11:20 +03:00
os0thread.h Changed prototype of killed_ptr() to make it more portable 2004-05-26 19:12:49 +03:00
os0thread.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
page0cur.h Applied InnoDB snapshot innodb-5.0-ss2095 2007-11-20 10:53:19 -07:00
page0cur.ic InnoDB: Performance optimizations based on OProfile analysis 2005-04-25 10:14:35 +03:00
page0page.h InnoDB: Performance optimizations based on OProfile analysis 2005-04-25 10:14:35 +03:00
page0page.ic Applied innodb-5.0-ss368 snapshot 2006-03-29 23:04:32 +04:00
page0types.h page0types.h Eliminate a name collision on page_t on HP-UX 2001-03-14 21:13:15 +02:00
pars0grm.h pars0grm.h, pars0grm.c, lexyy.c: 2002-08-22 13:33:45 +03:00
pars0opt.h InnoDB: Revert most of ChangeSet@1.1772, as the debug functions may 2004-06-16 13:41:14 +03:00
pars0opt.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
pars0pars.h InnoDB: Portability fixes for warnings reported on IA-64 Windows 2005-03-07 12:03:33 +02:00
pars0pars.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
pars0sym.h InnoDB: Portability fixes for warnings reported on IA-64 Windows 2005-03-07 12:03:33 +02:00
pars0sym.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
pars0types.h InnoDB: Remove unnecessary code, mostly related to stored procedures 2004-03-31 10:30:14 +03:00
que0que.h Many files: 2005-03-16 00:34:15 +02:00
que0que.ic Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040316101802|63386 2004-06-17 14:01:56 +03:00
que0types.h Many files: 2003-10-07 17:28:59 +03:00
read0read.h A fix and a test case for Bug#12243 "MySQL Server crashes with 2 2005-08-10 18:36:13 +04:00
read0read.ic InnoDB: Some low-level optimizations made based on OProfile results. 2005-04-22 14:04:18 +03:00
read0types.h Implement MySQL framework to support consistent read views in 2005-07-22 14:10:03 +03:00
rem0cmp.h Fix BUG#12071: "Windows hang: 'Opening tables' or 'Waiting for 2005-12-12 21:06:59 +03:00
rem0cmp.ic InnoDB: Fix some bugs in the new record format. (Bug #7493) 2004-12-28 01:34:52 +02:00
rem0rec.h BUG#13900 DATETIME data changes after inserting a new row in a InnoDB table 2005-10-17 14:11:37 -04:00
rem0rec.ic NULL MERGE this to 5.1 2007-03-22 14:40:52 -06:00
rem0types.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0ins.h Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040311211202|05613 2004-06-17 13:25:06 +03:00
row0ins.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0mysql.h Added innodb_rollback_on_timeout option to restore the 4.1 2006-12-19 16:57:51 -07:00
row0mysql.ic Many files: 2005-03-16 00:34:15 +02:00
row0purge.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0purge.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0row.h Many files: 2004-12-02 19:45:07 +02:00
row0row.ic Many files: 2004-12-02 19:45:07 +02:00
row0sel.h Many files: 2004-11-26 00:12:50 +02:00
row0sel.ic InnoDB: Some low-level optimizations made based on OProfile results. 2005-04-22 14:04:18 +03:00
row0types.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0uins.h InnoDB cleanup: fixing buffer overflows and quoting of quotes 2004-04-01 16:51:34 +03:00
row0uins.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0umod.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0umod.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0undo.h InnoDB cleanup: fixing buffer overflows and quoting of quotes 2004-04-01 16:51:34 +03:00
row0undo.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0upd.h Many files: 2004-12-02 19:45:07 +02:00
row0upd.ic InnoDB: Some low-level optimizations made based on OProfile results. 2005-04-22 14:04:18 +03:00
row0vers.h InnoDB: optimize SELECT performance 2005-03-07 15:23:06 +02:00
row0vers.ic Many files: 2004-12-02 19:45:07 +02:00
srv0que.h srv0que.c: 2004-06-17 12:35:04 +03:00
srv0srv.h Cherry-pick InnoDB fixes for Bug#34286, Bug#35352, and Bug#36600 from snapshot 2008-07-31 15:47:57 -06:00
srv0srv.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
srv0start.h InnoDB: Exclude code from InnoDB Hot Backup builds 2005-02-04 16:25:13 +02:00
sync0arr.h This ChangeSet must be null-merged to 5.1. Applied innodb-5.0-ss982, -ss998, -ss1003 2006-11-09 05:02:37 +01:00
sync0arr.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
sync0rw.h Applied InnoDB snapshot innodb-5.0-ss2095 2007-11-20 10:53:19 -07:00
sync0rw.ic Applied InnoDB snapshot innodb-5.0-ss2095 2007-11-20 10:53:19 -07:00
sync0sync.h This ChangeSet must be null-merged to 5.1. 2006-12-18 18:41:38 -07:00
sync0sync.ic Applied InnoDB snapshot innodb-5.0-ss2095 2007-11-20 10:53:19 -07:00
sync0types.h Added max_user_connections 2001-02-20 22:34:47 +02:00
thr0loc.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
thr0loc.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
trx0purge.h Many files: 2002-10-29 23:16:46 +02:00
trx0purge.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
trx0rec.h Many files: 2004-12-02 19:45:07 +02:00
trx0rec.ic srv0srv.h Support raw disk partitions as data files 2001-08-04 19:36:14 +03:00
trx0roll.h WL#1967 2005-02-01 19:48:05 +00:00
trx0roll.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
trx0rseg.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
trx0rseg.ic InnoDB: Some low-level optimizations made based on OProfile results. 2005-04-22 14:04:18 +03:00
trx0sys.h Backport innodb_max_purge_lag from 4.1 2004-10-27 13:33:11 +03:00
trx0sys.ic XA (not completely polished out yet) 2005-01-16 13:16:23 +01:00
trx0trx.h NULL MERGE UP to 5.1. 2007-07-10 08:16:51 -06:00
trx0trx.ic trx0trx.h, trx0trx.ic, row0mysql.c: 2005-07-01 22:53:08 +03:00
trx0types.h Many files: 2003-06-15 01:04:28 +03:00
trx0undo.h Cherry-pick InnoDB fixes for Bug#34286, Bug#35352, and Bug#36600 from snapshot 2008-07-31 15:47:57 -06:00
trx0undo.ic Allow UNIV_SYNC_DEBUG to be disabled while UNIV_DEBUG is enabled 2004-03-12 17:14:51 +02:00
trx0xa.h trx0xa.h: 2004-12-02 17:40:50 +02:00
univ.i NULL MERGE this ChangeSet to 5.1 2007-08-15 17:20:54 -06:00
usr0sess.h Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040525171209|56870 2004-06-17 11:57:45 +03:00
usr0sess.ic Remove unneeded module "com" 2004-03-11 12:55:28 +02:00
usr0types.h Remove unneeded module "com" 2004-03-11 12:55:28 +02:00
ut0byte.h Many files: 2004-12-02 19:45:07 +02:00
ut0byte.ic Fixed compiler warnings (for linux and win32 and win64) 2007-02-22 16:59:57 +02:00
ut0dbg.h InnoDB: Fix ut0dbg compilation errors on NetWare 2005-06-16 15:00:25 +03:00
ut0lst.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
ut0mem.h InnoDB: Fix potential buffer underflow. 2005-09-29 13:02:18 +03:00
ut0mem.ic InnoDB: Fix ALTER TABLE t DISCARD TABLESPACE (Bug #5851) 2004-10-04 20:38:23 +03:00
ut0rnd.h InnoDB cleanup: Add const qualifiers to many char* arguments 2004-05-17 14:40:31 +03:00
ut0rnd.ic InnoDB: Some low-level optimizations made based on OProfile results. 2005-04-22 14:04:18 +03:00
ut0sort.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
ut0ut.h InnoDB: Fix compiler warnings and some bad formatting introduced 2005-01-05 12:22:04 +02:00
ut0ut.ic Fixed compiler warnings (for linux and win32 and win64) 2007-02-22 16:59:57 +02:00