mariadb/innobase/include
Timothy Smith a786fa6109 Apply 3 patches from innodb-5.0-ss2637.
This fixes Bug#36149: Read buffer overflow in srv0start.c found during "make
test"

Per-revision comments:

r2484 | vasil | 2008-05-28 15:32:48 +0300 (Wed, 28 May 2008) | 9 lines

Fix Bug#36149 Read buffer overflow in srv0start.c found during "make test"

Use strncmp(3) instead of memcmp(3) to avoid reading past end of the string
if it is empty (*str == '\0'). This bug is _not_ a buffer overflow.

Discussed with:	Sunny (via IM)

r2538 | inaam | 2008-07-15 21:24:02 +0300 (Tue, 15 Jul 2008) | 15 lines

Fix of issue# 4

Fixed a timing hole where a thread dropping an index can free the
in-memory index struct while another thread is still using
that structure to remove entries from adaptive hash index belonging
to one of the pages that belongs to the index being dropped.

The fix is to have a reference counter in the index struct and to
wait for this counter to drop to zero beforing freeing the struct.

Reviewed by: Heikki


r2544 | inaam | 2008-07-22 18:58:11 +0300 (Tue, 22 Jul 2008) | 8 lines

Removed UNIV_INLINE qualifier from btr_search_info_get_ref_count().
Otherwise compilation failed on non-debug builds.

Pointed by: Vasil
2008-12-12 17:40:31 -07: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 Apply 3 patches from innodb-5.0-ss2637. 2008-12-12 17:40:31 -07: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 ) 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 ) 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 ) 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 Apply the rest of innodb-5.0-ss2475. This fixes Bug#36819, "ut_usectime does 2008-12-12 15:48:26 -07:00
ut0ut.ic Fixed compiler warnings (for linux and win32 and win64) 2007-02-22 16:59:57 +02:00