mariadb/include
marko 6aab391620 branches/zip: Make innodb_adaptive_hash_index settable.
btr_search_disabled: Rename to btr_search_enabled and change the type
to char, so that it can be directly linked to the MySQL parameters.
Note that the variable is protected by btr_search_latch and
btr_search_enabled_mutex, a new mutex introduced in this patch.

btr_search_enabled_mutex: A new mutex, to protect btr_search_enabled
together with btr_search_latch.

buf_pool_drop_hash_index(): New function, to be called from
btr_search_disable().

btr_search_disable(), btr_search_enable(): Fix bugs.  These functions
were previously unused.

btr_search_guess_on_hash(), btr_search_build_page_hash_index():
Check btr_search_enabled once more, while holding btr_search_latch.

btr_cur_search_to_nth_level(): Note that the reads of btr_search_enabled
may be dirty and explain why it should not be a problem.

innobase_adaptive_hash_index: Remove. The variable btr_search_enabled will be used directly instead.

innodb_adaptive_hash_index_update(): New function, an update callback for
innodb_adaptive_hash_index.  This will call either btr_search_disable()
or btr_search_enable() when the value is assigned.  The functions will
be called even if the value does not appear to be changed, e.g., when
setting from TRUE to TRUE or FALSE to FALSE.

rb://85 approved by Heikki Tuuri.  This addresses Issue #163.
2009-01-30 21:30:29 +00:00
..
btr0btr.h branches/zip: Remove some redundant #include directives. 2009-01-23 12:07:38 +00:00
btr0btr.ic branches/zip: Non-functional change: 2008-09-22 06:59:58 +00:00
btr0cur.h branches/zip: Remove some redundant #include directives. 2009-01-23 12:07:38 +00:00
btr0cur.ic branches/zip: Minor cleanup of B-tree cursor operations. 2007-10-22 08:16:35 +00:00
btr0pcur.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
btr0pcur.ic branches/zip: Minor cleanup of B-tree cursor operations. 2007-10-22 08:16:35 +00:00
btr0sea.h branches/zip: Make innodb_adaptive_hash_index settable. 2009-01-30 21:30:29 +00:00
btr0sea.ic branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
btr0types.h branches/zip: row_ext: Fetch the BLOB prefixes already at row_ext_create(). 2007-11-29 12:47:18 +00:00
buf0buddy.h branches/zip: Implement the INFORMATION_SCHEMA tables 2008-03-28 10:03:58 +00:00
buf0buddy.ic branches/zip: buf_buddy_alloc(), buf_buddy_alloc_low(): Correct a mistake 2008-02-29 12:30:41 +00:00
buf0buf.h branches/zip: Make innodb_adaptive_hash_index settable. 2009-01-30 21:30:29 +00:00
buf0buf.ic branches/zip: In r988, the function buf_block_align() was enclosed 2009-01-26 20:33:20 +00:00
buf0flu.h branches/zip: buf_flush_insert_into_flush_list(), 2009-01-09 13:40:11 +00:00
buf0flu.ic branches/zip: buf_flush_insert_into_flush_list(), 2009-01-09 13:40:11 +00:00
buf0lru.h branches/zip: buf_LRU_free_block(): Clarify the function comment. 2008-11-19 14:39:55 +00:00
buf0lru.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
buf0rea.h branches/zip: Rename ib_ulonglong to ib_uint64_t and ib_longlong to ib_int64_t. 2008-03-17 14:19:04 +00:00
buf0types.h branches/zip: Allow the uncompressed page size to be settable by setting 2007-12-20 13:23:23 +00:00
data0data.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
data0data.ic branches/zip: Fetch externally stored columns only when the clustered index 2008-01-16 10:10:32 +00:00
data0type.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
data0type.ic branches/zip: Merge revisions 2854:2929 from branches/5.1, 2008-10-29 19:39:24 +00:00
data0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
db0err.h branches/zip: Implement the configuration parameter and settable global 2008-03-10 11:05:32 +00:00
dict0boot.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
dict0boot.ic branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
dict0crea.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
dict0crea.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
dict0dict.h branches/zip: Remove some redundant #include statements. 2009-01-23 09:04:49 +00:00
dict0dict.ic branches/zip: In hash table lookups, assert that the traversed items 2009-01-13 19:46:22 +00:00
dict0load.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
dict0load.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
dict0mem.h branches/zip: Remove some redundant #include statements. 2009-01-23 09:04:49 +00:00
dict0mem.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
dict0types.h branches/zip: Simplify crash recovery in fast index creation. 2007-09-05 10:18:03 +00:00
dyn0dyn.h branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
dyn0dyn.ic branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
eval0eval.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
eval0eval.ic branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
eval0proc.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
eval0proc.ic branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
fil0fil.h branches/zip: Clean up the insert buffer subsystem. 2008-12-12 14:08:23 +00:00
fsp0fsp.h branches/zip: Pass the tablespace flags correctly when creating or opening 2008-03-18 10:10:51 +00:00
fsp0fsp.ic branches/zip: Merge revisions 720:765 from trunk and reindent the code 2006-08-29 09:30:31 +00:00
fut0fut.h branches/zip: Remove the fil_space_get_zip_size() call from 2007-01-18 09:59:00 +00:00
fut0fut.ic branches/zip: Non-functional change: 2008-09-22 06:59:58 +00:00
fut0lst.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
fut0lst.ic branches/zip: flst_write_addr(), flst_read_addr(): Assert that no 2008-08-18 06:56:52 +00:00
ha0ha.h branches/zip: Introduce UNIV_AHI_DEBUG for debugging the adaptive hash 2008-12-17 09:19:56 +00:00
ha0ha.ic branches/zip: Introduce UNIV_AHI_DEBUG for debugging the adaptive hash 2008-12-17 09:19:56 +00:00
ha0storage.h branches/zip: 2007-11-16 13:12:13 +00:00
ha0storage.ic branches/zip: 2007-10-08 10:46:26 +00:00
ha_prototypes.h branches/zip: Always check for "row too large" when executing SQL to create 2008-11-20 10:22:40 +00:00
handler0alter.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
hash0hash.h branches/zip: In hash table lookups, assert that the traversed items 2009-01-13 19:46:22 +00:00
hash0hash.ic branches/zip: Merge revisions 3479:3598 from branches/5.1: 2008-12-22 13:41:47 +00:00
ibuf0ibuf.h branches/zip: ibuf_use_t: Add the constant IBUF_USE_COUNT, to eliminate 2009-01-30 10:58:56 +00:00
ibuf0ibuf.ic branches/zip: Port the applicable parts of r4053 from branches/innodb+: 2009-01-29 09:27:09 +00:00
ibuf0types.h branches/zip: Clean up the insert buffer subsystem. 2008-12-12 14:08:23 +00:00
lock0iter.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
lock0lock.h branches/zip: 2008-10-31 07:40:29 +00:00
lock0lock.ic branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG. 2007-01-18 18:29:12 +00:00
lock0priv.h lock_get_type() needs to be accessed outside of the lock module, but it 2007-09-04 07:54:29 +00:00
lock0priv.ic lock_get_type() needs to be accessed outside of the lock module, but it 2007-09-04 07:54:29 +00:00
lock0types.h branches/zip: Fast index creation: Remove the ROW_PREBUILT_OBSOLETE nonsense. 2007-12-17 15:49:59 +00:00
log0log.h branches/zip: Enclose some functions inside #ifdef UNIV_HOTBACKUP: 2009-01-28 13:21:45 +00:00
log0log.ic branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
log0recv.h branches/zip: Enclose some more unused code in #ifdef UNIV_LOG_ARCHIVE. 2009-01-23 09:26:10 +00:00
log0recv.ic branches/zip: Remove some redundant #include statements. 2009-01-23 09:04:49 +00:00
mach0data.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
mach0data.ic branches/zip: Fix most MSVC (Windows) compilation warnings. 2008-03-04 08:57:07 +00:00
mem0dbg.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
mem0dbg.ic branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
mem0mem.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
mem0mem.ic branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
mem0pool.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
mem0pool.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
mtr0log.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
mtr0log.ic branches/zip: In r988, the function buf_block_align() was enclosed 2009-01-26 20:33:20 +00:00
mtr0mtr.h branches/zip: struct mtr_struct: Remove the unused field magic_n 2009-01-12 12:40:08 +00:00
mtr0mtr.ic branches/zip: struct mtr_struct: Remove the unused field magic_n 2009-01-12 12:40:08 +00:00
mtr0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
mysql_addons.h branches/zip: 2008-12-04 16:49:24 +00:00
os0file.h branches/zip: 2008-05-16 14:41:18 +00:00
os0proc.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
os0proc.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
os0sync.h branches/zip: Rename ib_ulonglong to ib_uint64_t and ib_longlong to ib_int64_t. 2008-03-17 14:19:04 +00:00
os0sync.ic branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
os0thread.h branches/zip: Remove the unused function os_thread_join(). 2008-02-18 19:14:09 +00:00
os0thread.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
page0cur.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
page0cur.ic branches/zip: Minor cleanup of B-tree cursor operations. 2007-10-22 08:16:35 +00:00
page0page.h branches/zip: page_mem_free(): Remove the obsolete remark that there 2008-10-01 19:04:44 +00:00
page0page.ic branches/zip: page_mem_free(): Remove the obsolete remark that there 2008-10-01 19:04:44 +00:00
page0types.h branches/zip: Function doesn't exist, remove declaration. 2008-06-26 07:24:23 +00:00
page0zip.h branches/zip: When invoking page_zip_copy_recs(), update the lock table 2008-10-15 06:32:40 +00:00
page0zip.ic branches/zip: page_zip_rec_needs_ext(): Fix a bug that was introduced 2008-10-22 06:07:37 +00:00
pars0grm.h branches/zip: Merge revisions 583:634 from trunk. 2006-06-13 20:23:26 +00:00
pars0opt.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
pars0opt.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
pars0pars.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
pars0pars.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
pars0sym.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
pars0sym.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
pars0types.h branches/zip: Merge revisions 465:532 from trunk. 2006-05-08 06:18:59 +00:00
que0que.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
que0que.ic branches/zip: Do not access the fields of dfield_t directly. 2007-10-23 06:46:12 +00:00
que0types.h branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
read0read.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
read0read.ic branches/zip: Merge revisions 804:838 from trunk. 2006-09-19 10:14:07 +00:00
read0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
rem0cmp.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
rem0cmp.ic branches/zip: Add explicit type casts to *.ic, because C++ does not allow 2007-08-01 10:38:07 +00:00
rem0rec.h branches/zip: Merge revisions 3930:4005 from branches/5.1: 2009-01-20 14:29:22 +00:00
rem0rec.ic branches/zip: Merge revisions 3930:4005 from branches/5.1: 2009-01-20 14:29:22 +00:00
rem0types.h branches/zip: Merge 1533:1553 from trunk. 2007-06-06 11:07:37 +00:00
row0ext.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
row0ext.ic branches/zip: row_ext: Fetch the BLOB prefixes already at row_ext_create(). 2007-11-29 12:47:18 +00:00
row0ins.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
row0ins.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0merge.h branches/zip: Fix some locking issues, mainly in fast index creation. 2008-10-10 11:44:27 +00:00
row0mysql.h branches/zip: Merge revisions 3479:3598 from branches/5.1: 2008-12-22 13:41:47 +00:00
row0mysql.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0purge.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
row0purge.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0row.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
row0row.ic branches/zip: Initialize dfield_t::ext as soon as possible. This should 2007-10-17 12:13:29 +00:00
row0sel.h branches/zip: Remove update-in-place-in-select from the internal SQL 2008-12-17 12:40:59 +00:00
row0sel.ic branches/zip: Add explicit type casts to *.ic, because C++ does not allow 2007-08-01 10:38:07 +00:00
row0types.h branches/zip: Fast index creation: Remove the ROW_PREBUILT_OBSOLETE nonsense. 2007-12-17 15:49:59 +00:00
row0uins.h branches/zip: Note that it is legitimate for a secondary index record not 2008-11-24 16:01:42 +00:00
row0uins.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0umod.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
row0umod.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0undo.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
row0undo.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0upd.h branches/zip: Remove update-in-place-in-select from the internal SQL 2008-12-17 12:40:59 +00:00
row0upd.ic branches/zip: In r988, the function buf_block_align() was enclosed 2009-01-26 20:33:20 +00:00
row0vers.h branches/zip: Non-functional change: Add some missing const qualifiers. 2008-03-13 09:29:22 +00:00
row0vers.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
srv0que.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
srv0srv.h branches/zip: Implement the parameter innodb_use_sys_malloc 2009-01-02 13:10:50 +00:00
srv0srv.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
srv0start.h branches/zip: 2008-04-29 14:57:06 +00:00
sync0arr.h branches/zip: Merge 2263:2295 from branches/5.1. 2008-02-18 20:09:03 +00:00
sync0arr.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
sync0rw.h branches/zip: Merge 2263:2295 from branches/5.1. 2008-02-18 20:09:03 +00:00
sync0rw.ic branches/zip: Merge 2263:2295 from branches/5.1. 2008-02-18 20:09:03 +00:00
sync0sync.h branches/zip: Make innodb_adaptive_hash_index settable. 2009-01-30 21:30:29 +00:00
sync0sync.ic branches/zip: Merge 2263:2295 from branches/5.1. 2008-02-18 20:09:03 +00:00
sync0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
thr0loc.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
thr0loc.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
trx0i_s.h branches/zip: Fix most MSVC (Windows) compilation warnings. 2008-03-04 08:57:07 +00:00
trx0purge.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
trx0purge.ic branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
trx0rec.h branches/zip: Remove some redundant #include directives. 2009-01-23 12:07:38 +00:00
trx0rec.ic branches/zip: Merge branches/fast-index-creation -r1413. 2007-04-04 11:05:33 +00:00
trx0roll.h branches/zip: Merge revisions 3601:3930 from branches/5.1: 2009-01-14 14:06:22 +00:00
trx0roll.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
trx0rseg.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
trx0rseg.ic branches/zip: Non-functional change: 2008-09-22 06:59:58 +00:00
trx0sys.h branches/zip: Clean up the file format stamping. 2008-10-23 08:27:15 +00:00
trx0sys.ic branches/zip: trx0sys.ic: Remove unnecessary #include <data0type.h>. 2009-01-28 12:35:49 +00:00
trx0trx.h branches/zip: Always check for "row too large" when executing SQL to create 2008-11-20 10:22:40 +00:00
trx0trx.ic branches/zip: Fast index creation: Release locks on system tables before 2008-01-25 14:26:07 +00:00
trx0types.h branches/zip: Remove some redundant #include directives. 2009-01-23 12:07:38 +00:00
trx0undo.h branches/zip: Correct some typos in comments. 2008-08-06 12:45:35 +00:00
trx0undo.ic branches/zip: Non-functional change: 2008-09-22 06:59:58 +00:00
trx0xa.h branches/zip: Remove unused definitions from include/trx0xa.h. 2008-02-06 08:19:56 +00:00
univ.i branches/zip: Revert the change to univ.i that was accidentally 2009-01-27 22:33:20 +00:00
usr0sess.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
usr0sess.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
usr0types.h branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
ut0byte.h branches/zip: Rename ib_ulonglong to ib_uint64_t and ib_longlong to ib_int64_t. 2008-03-17 14:19:04 +00:00
ut0byte.ic branches/zip: Rename ib_ulonglong to ib_uint64_t and ib_longlong to ib_int64_t. 2008-03-17 14:19:04 +00:00
ut0dbg.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
ut0list.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
ut0list.ic branches/zip: Merge revisions 465:532 from trunk. 2006-05-08 06:18:59 +00:00
ut0lst.h branches/zip: Add UNIV_UNLIKELY hints to help branch prediction. 2007-10-26 12:31:48 +00:00
ut0mem.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
ut0mem.ic branches/zip: 2007-10-29 13:03:53 +00:00
ut0rnd.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
ut0rnd.ic Remove unnecessary assert 2008-10-29 17:20:10 +00:00
ut0sort.h branches/zip: Fix two more bogus MSVC C4090 warnings on constness differences 2008-03-05 09:54:48 +00:00
ut0ut.h branches/zip: Enclose some functions inside #ifdef UNIV_HOTBACKUP: 2009-01-28 13:21:45 +00:00
ut0ut.ic branches/zip: ut_is_2pow(), ut_2pow_round(), ut_2pow_remainder(): Define 2008-03-05 09:41:51 +00:00
ut0vec.h branches/zip: 2008-10-31 07:40:29 +00:00
ut0vec.ic branches/zip: 2008-10-31 07:40:29 +00:00
ut0wqueue.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00