mariadb/include
marko 2bd90b444b branches/innodb+: When buffering an insert, notify the buffer pool
watch.  This should fix the race condition that seems to have caused
Issue #126: When another thread is buffering an insert for the record
that is being purged, it should invoke buf_pool_watch_notify(), so
that the purge will not be buffered. Otherwise, the purge would be
buffered for the wrong record (one that was inserted after the purge
determined that the record can be removed).

When deletes are not buffered, the latch on the secondary index page
would prevent the insert from occurring.  In delete buffering, the
buf_pool_watch replaces the page latch when the page is not in the
buffer pool.

buf_pool_watch_notify(): Make public.

ibuf_insert(): Invoke buf_pool_watch_notify() when buffering an
insert or a delete-mark operation.
2008-12-10 15:20:17 +00:00
..
btr0btr.h branches/innodb+: btr_cur_t: Remove leaf_in_buf_pool. The flag can be 2008-12-04 21:56:21 +00:00
btr0btr.ic branches/innodb+: Merge 2637:2660 from branches/zip. 2008-09-22 07:57:34 +00:00
btr0cur.h branches/innodb+: btr_cur_t: Remove leaf_in_buf_pool. The flag can be 2008-12-04 21:56:21 +00:00
btr0cur.ic branches/zip: Minor cleanup of B-tree cursor operations. 2007-10-22 08:16:35 +00:00
btr0pcur.h branches/innodb+: btr_cur_t: Remove leaf_in_buf_pool. The flag can be 2008-12-04 21:56:21 +00:00
btr0pcur.ic branches/innodb+: btr_cur_t: Remove leaf_in_buf_pool. The flag can be 2008-12-04 21:56:21 +00:00
btr0sea.h branches/innodb+: Merge revisions 2460:2579 from branches/zip 2008-08-09 00:15:46 +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/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +00:00
buf0buddy.ic branches/innodb+: Merge revisions 2322:2340 from branches/zip 2008-03-03 10:25:27 +00:00
buf0buf.h branches/innodb+: When buffering an insert, notify the buffer pool 2008-12-10 15:20:17 +00:00
buf0buf.ic branches/innodb+: Merge 2579:2637 from branches/zip. 2008-09-17 19:52:30 +00:00
buf0flu.h branches/innodb+ issue#115 2008-12-04 08:19:12 +00:00
buf0flu.ic branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
buf0lru.h branches/innodb+: Merge revisions 2986:3152 from branches/zip: 2008-11-20 11:53:53 +00:00
buf0lru.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
buf0rea.h branches/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +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/innodb+: Merge revisions 2867:2986 from branches/zip: 2008-11-11 10:21:16 +00:00
data0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
db0err.h branches/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +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/innodb+: Merge revisions 2867:2986 from branches/zip: 2008-11-11 10:21:16 +00:00
dict0dict.ic branches/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +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/innodb+: Merge revisions 2867:2986 from branches/zip: 2008-11-11 10:21:16 +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/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +00:00
fsp0fsp.h branches/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +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/innodb+: Merge 2637:2660 from branches/zip. 2008-09-22 07:57:34 +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/innodb+: Merge 2579:2637 from branches/zip. 2008-09-17 19:52:30 +00:00
ha0ha.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
ha0ha.ic branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +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/innodb+: Merge revisions 2986:3152 from branches/zip: 2008-11-20 11:53:53 +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/innodb+: Merge 2579:2637 from branches/zip. 2008-09-17 19:52:30 +00:00
hash0hash.ic branches/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +00:00
ibuf0ibuf.h branches/innodb+: Non-functional change: 2008-09-22 10:38:51 +00:00
ibuf0ibuf.ic branches/innodb+: ibuf_index_page_calc_free(): Revert the relaxation of an 2008-09-22 10:34:49 +00:00
ibuf0types.h branches/innodb+: Delete buffer port from branches/fts:r2283 2008-02-27 07:03:34 +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/innodb+: Merge revisions 2867:2986 from branches/zip: 2008-11-11 10:21:16 +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/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +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: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00
log0recv.ic branches/zip: ibuf_set_free_bits_func(): Disable redo logging when 2007-05-06 12:39:46 +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/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +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: Implement wrappers for all operations on the buffer pool mutex. 2008-01-10 09:37:13 +00:00
mtr0mtr.h branches/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +00:00
mtr0mtr.ic branches/zip: Silence most GCC 4.2.1 warnings about const pointers. 2007-10-03 12:22:29 +00:00
mtr0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
mysql_addons.h branches/innodb+: Merge revisions 3312:3459 from branches/zip: 2008-12-09 11:09:06 +00:00
os0file.h branches/innodb+: Merge revisions r2455:r2459 from branches/zip 2008-05-16 14:49:22 +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/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +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/innodb+: Merge revisions 2678:2774 from branches/zip. 2008-10-11 19:37:21 +00:00
page0page.ic branches/innodb+: Merge revisions 2678:2774 from branches/zip. 2008-10-11 19:37:21 +00:00
page0types.h branches/innodb+: Merge revisions 2460:2579 from branches/zip 2008-08-09 00:15:46 +00:00
page0zip.h branches/innodb+: Merge revisions 2774:2799 from branches/zip: 2008-10-15 12:09:17 +00:00
page0zip.ic branches/innodb+: Merge revisions 2835:2862 from branches/zip: 2008-10-23 10:03:20 +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/innodb+: Merge revisions 2678:2774 from branches/zip. 2008-10-11 19:37:21 +00:00
rem0rec.ic branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +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/innodb+: Merge revisions 2678:2774 from branches/zip. 2008-10-11 19:37:21 +00:00
row0mysql.h branches/innodb+: Merge revisions 2867:2986 from branches/zip: 2008-11-11 10:21:16 +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/innodb+: row_search_index_entry(): Clean up the call interface 2008-09-30 18:06:38 +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/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +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/innodb+: Merge revisions 3180:3312 from branches/zip: 2008-11-28 14:58:51 +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/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +00:00
row0upd.ic branches/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +00:00
row0vers.h branches/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +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/innodb+: Merge revisions 2867:2986 from branches/zip: 2008-11-11 10:21:16 +00:00
srv0srv.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
srv0start.h branches/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +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/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +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/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +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/innodb+: Merge revisions 2460:2579 from branches/zip 2008-08-09 00:15:46 +00:00
trx0rec.ic branches/zip: Merge branches/fast-index-creation -r1413. 2007-04-04 11:05:33 +00:00
trx0roll.h branches/innodb+: Merge revisions 2460:2579 from branches/zip 2008-08-09 00:15:46 +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/innodb+: Merge 2637:2660 from branches/zip. 2008-09-22 07:57:34 +00:00
trx0sys.h branches/innodb+: Merge revisions 2835:2862 from branches/zip: 2008-10-23 10:03:20 +00:00
trx0sys.ic branches/innodb+: Merge 2637:2660 from branches/zip. 2008-09-22 07:57:34 +00:00
trx0trx.h branches/innodb+: Merge revisions 2986:3152 from branches/zip: 2008-11-20 11:53:53 +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/innodb+: Merge revisions 2460:2579 from branches/zip 2008-08-09 00:15:46 +00:00
trx0undo.h branches/innodb+: Merge revisions 2460:2579 from branches/zip 2008-08-09 00:15:46 +00:00
trx0undo.ic branches/innodb+: Merge 2637:2660 from branches/zip. 2008-09-22 07:57:34 +00:00
trx0xa.h branches/zip: Remove unused definitions from include/trx0xa.h. 2008-02-06 08:19:56 +00:00
univ.i branches/innodb+: Merge revisions 3312:3459 from branches/zip: 2008-12-09 11:09:06 +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/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +00:00
ut0byte.ic branches/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +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
ut0rbt.h branches/innodb+: Add missing UNIV_INTERN linkage specifiers. 2008-09-18 08:44:32 +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 branches/innodb+: Merge revisions 2867:2986 from branches/zip: 2008-11-11 10:21:16 +00:00
ut0sort.h branches/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +00:00
ut0ut.h branches/innodb+: Merge revisions 2460:2579 from branches/zip 2008-08-09 00:15:46 +00:00
ut0ut.ic branches/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +00:00
ut0vec.h branches/innodb+: Merge revisions 2867:2986 from branches/zip: 2008-11-11 10:21:16 +00:00
ut0vec.ic branches/innodb+: Merge revisions 2867:2986 from branches/zip: 2008-11-11 10:21:16 +00:00
ut0wqueue.h branches/zip: Add a UNIV_INTERN qualifier to every global function declaration 2008-02-18 18:38:33 +00:00