mariadb/include
marko 9649c3e3b3 branches/zip: Write PAGE_MAX_TRX_ID to the redo log. Otherwise,
transactions that are started before the rollback of incomplete
transactions has finished may have an inconsistent view of the
secondary indexes.

dict_index_is_sec_or_ibuf(): Auxiliary function for controlling
updates and checks of PAGE_MAX_TRX_ID: check whether an index is a
secondary index or the insert buffer tree.

page_set_max_trx_id(), page_update_max_trx_id(),
lock_rec_insert_check_and_lock(),
lock_sec_rec_modify_check_and_lock(), btr_cur_ins_lock_and_undo(),
btr_cur_upd_lock_and_undo(): Add the parameter mtr.

page_set_max_trx_id(): Allow mtr to be NULL.  When mtr==NULL, do not
attempt to write to the redo log.  This only occurs when creating a
page or reorganizing a compressed page.  In these cases, the
PAGE_MAX_TRX_ID will be set correctly during the application of redo
log records, even though there is no explicit log record about it.

btr_discard_only_page_on_level(): Preserve PAGE_MAX_TRX_ID.  This
function should be unreachable, though.

btr_cur_pessimistic_update(): Update PAGE_MAX_TRX_ID.

Add some assertions for checking that PAGE_MAX_TRX_ID is set on all
secondary index leaf pages.

rb://115 tested by Michael, fixes Issue #211
2009-05-19 18:59:07 +00:00
..
btr0btr.h branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
btr0btr.ic branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
btr0cur.h branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
btr0cur.ic branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
btr0pcur.h branches/zip: 2009-02-17 08:55:41 +00:00
btr0pcur.ic branches/zip: 2009-02-17 08:55:41 +00:00
btr0sea.h branches/zip: 2009-02-17 08:55:41 +00:00
btr0sea.ic branches/zip: 2009-02-17 08:55:41 +00:00
btr0types.h branches/zip: 2009-02-17 08:55:41 +00:00
buf0buddy.h branches/zip: 2009-02-17 08:59:22 +00:00
buf0buddy.ic branches/zip: buf_buddy_get_slot(): Fix a gcc 4.3.2 warning 2009-02-18 15:04:03 +00:00
buf0buf.h branches/zip: Add some missing out: comments to buf0buf.h, buf0buf.c. 2009-05-18 12:36:10 +00:00
buf0buf.ic branches/zip: Note that buf_page_t::list and buf_page_t::in_flush_list 2009-03-24 13:46:12 +00:00
buf0flu.h branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
buf0flu.ic branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
buf0lru.h branches/zip: Add missing out: comments to nullary functions. 2009-05-19 06:30:02 +00:00
buf0lru.ic branches/zip: 2009-02-17 08:59:22 +00:00
buf0rea.h branches/zip: 2009-02-17 08:59:22 +00:00
buf0types.h branches/zip: 2009-02-17 08:59:22 +00:00
data0data.h branches/zip: Allow in-place updates of UTF-8 CHAR columns 2009-04-07 11:45:28 +00:00
data0data.ic branches/zip: Allow in-place updates of UTF-8 CHAR columns 2009-04-07 11:45:28 +00:00
data0type.h branches/zip: Allow in-place updates of UTF-8 CHAR columns 2009-04-07 11:45:28 +00:00
data0type.ic branches/zip: Allow in-place updates of UTF-8 CHAR columns 2009-04-07 11:45:28 +00:00
data0types.h branches/zip: 2009-02-17 09:02:27 +00:00
db0err.h branches/zip: 2009-02-17 09:02:27 +00:00
dict0boot.h branches/zip: 2009-02-17 09:02:27 +00:00
dict0boot.ic branches/zip: 2009-02-17 09:02:27 +00:00
dict0crea.h branches/zip: Remove references to UNIV_HOTBACKUP from files that are 2009-03-24 12:02:29 +00:00
dict0crea.ic branches/zip: 2009-02-17 09:02:27 +00:00
dict0dict.h branches/zip: Write PAGE_MAX_TRX_ID to the redo log. Otherwise, 2009-05-19 18:59:07 +00:00
dict0dict.ic branches/zip: Write PAGE_MAX_TRX_ID to the redo log. Otherwise, 2009-05-19 18:59:07 +00:00
dict0load.h branches/zip: Remove references to UNIV_HOTBACKUP from files that are 2009-03-24 12:02:29 +00:00
dict0load.ic branches/zip: 2009-02-17 09:04:28 +00:00
dict0mem.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
dict0mem.ic branches/zip: 2009-02-17 09:04:28 +00:00
dict0types.h branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
dyn0dyn.h branches/zip: 2009-02-17 09:04:28 +00:00
dyn0dyn.ic branches/zip: 2009-02-17 09:04:28 +00:00
eval0eval.h branches/zip: 2009-02-17 09:04:28 +00:00
eval0eval.ic branches/zip: 2009-02-17 09:04:28 +00:00
eval0proc.h branches/zip: 2009-02-17 09:06:49 +00:00
eval0proc.ic branches/zip: 2009-02-17 09:06:49 +00:00
fil0fil.h branches/zip: Fix a typo that was introduced in r5036. 2009-05-19 09:08:16 +00:00
fsp0fsp.h branches/zip: 2009-02-17 09:06:49 +00:00
fsp0fsp.ic branches/zip: 2009-02-17 09:06:49 +00:00
fut0fut.h branches/zip: 2009-02-17 09:06:49 +00:00
fut0fut.ic branches/zip: 2009-02-17 09:06:49 +00:00
fut0lst.h branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
fut0lst.ic branches/zip: 2009-02-17 09:06:49 +00:00
ha0ha.h branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
ha0ha.ic branches/zip: Define and use ASSERT_HASH_MUTEX_OWN. 2009-03-23 08:57:16 +00:00
ha0storage.h branches/zip: 2009-02-17 09:10:18 +00:00
ha0storage.ic branches/zip: 2009-02-17 09:10:18 +00:00
ha_prototypes.h branches/zip: Remove references to UNIV_HOTBACKUP from files that are 2009-03-24 12:02:29 +00:00
handler0alter.h branches/zip: 2009-02-17 09:10:18 +00:00
hash0hash.h branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
hash0hash.ic branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
ibuf0ibuf.h branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
ibuf0ibuf.ic branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
ibuf0types.h branches/zip: 2009-02-17 09:10:18 +00:00
lock0iter.h branches/zip: 2009-02-17 09:12:41 +00:00
lock0lock.h branches/zip: Write PAGE_MAX_TRX_ID to the redo log. Otherwise, 2009-05-19 18:59:07 +00:00
lock0lock.ic branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
lock0priv.h branches/zip: 2009-02-17 09:12:41 +00:00
lock0priv.ic branches/zip: 2009-02-17 09:12:41 +00:00
lock0types.h branches/zip: 2009-02-17 09:12:41 +00:00
log0log.h branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
log0log.ic branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
log0recv.h branches/zip: Add missing out: comments to nullary functions. 2009-05-19 06:30:02 +00:00
log0recv.ic branches/zip: Add missing out: comments to nullary functions. 2009-05-19 06:30:02 +00:00
mach0data.h branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
mach0data.ic branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
mem0dbg.h branches/zip: 2009-02-17 09:14:40 +00:00
mem0dbg.ic branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
mem0mem.h branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
mem0mem.ic branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
mem0pool.h branches/zip: 2009-02-17 09:14:40 +00:00
mem0pool.ic branches/zip: 2009-02-17 09:14:40 +00:00
mtr0log.h branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
mtr0log.ic branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
mtr0mtr.h branches/zip: Distinguish temporary tables in MLOG_FILE_CREATE. 2009-04-29 19:23:27 +00:00
mtr0mtr.ic branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
mtr0types.h branches/zip: 2009-02-17 09:18:35 +00:00
mysql_addons.h branches/zip: 2009-02-17 09:18:35 +00:00
os0file.h branches/zip: Exclude some operating system interface code 2009-03-23 10:20:50 +00:00
os0proc.h branches/zip: Remove unused function os_mem_alloc_nocache(). 2009-02-24 13:14:59 +00:00
os0proc.ic branches/zip: 2009-02-17 09:18:35 +00:00
os0sync.h branches/zip: Use the Windows Interlocked functions for atomic memory 2009-04-15 21:22:35 +00:00
os0sync.ic branches/zip: Remove references to UNIV_HOTBACKUP from files that are 2009-03-24 12:02:29 +00:00
os0thread.h branches/zip: os_thread_get_curr_id(), os_thread_get_curr(): 2009-05-19 06:04:04 +00:00
os0thread.ic branches/zip: 2009-02-17 09:18:35 +00:00
page0cur.h branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
page0cur.ic branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
page0page.h branches/zip: Write PAGE_MAX_TRX_ID to the redo log. Otherwise, 2009-05-19 18:59:07 +00:00
page0page.ic branches/zip: Write PAGE_MAX_TRX_ID to the redo log. Otherwise, 2009-05-19 18:59:07 +00:00
page0types.h branches/zip: 2009-02-17 09:24:40 +00:00
page0zip.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
page0zip.ic branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
pars0grm.h branches/zip: 2009-02-17 09:24:40 +00:00
pars0opt.h branches/zip: 2009-02-17 09:24:40 +00:00
pars0opt.ic branches/zip: 2009-02-17 09:24:40 +00:00
pars0pars.h branches/zip: Add missing out: comments to nullary functions. 2009-05-19 06:30:02 +00:00
pars0pars.ic branches/zip: 2009-02-17 09:27:31 +00:00
pars0sym.h branches/zip: 2009-02-17 09:27:31 +00:00
pars0sym.ic branches/zip: 2009-02-17 09:27:31 +00:00
pars0types.h branches/zip: 2009-02-17 09:27:31 +00:00
que0que.h branches/zip: 2009-02-17 09:27:31 +00:00
que0que.ic branches/zip: 2009-02-17 09:27:31 +00:00
que0types.h branches/zip: 2009-02-17 09:27:31 +00:00
read0read.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
read0read.ic branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
read0types.h branches/zip: 2009-02-17 09:29:55 +00:00
rem0cmp.h branches/zip: Remove references to UNIV_HOTBACKUP from files that are 2009-03-24 12:02:29 +00:00
rem0cmp.ic branches/zip: 2009-02-17 09:29:55 +00:00
rem0rec.h branches/zip: Remove bogus out: comments of functions returning void. 2009-05-19 07:00:51 +00:00
rem0rec.ic branches/zip: Remove bogus out: comments of functions returning void. 2009-05-19 07:00:51 +00:00
rem0types.h branches/zip: 2009-02-17 09:29:55 +00:00
row0ext.h branches/zip: 2009-02-17 09:29:55 +00:00
row0ext.ic branches/zip: 2009-02-17 09:29:55 +00:00
row0ins.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
row0ins.ic branches/zip: 2009-02-17 09:29:55 +00:00
row0merge.h branches/zip: Refuse to use newly created indexes that may lack 2009-04-02 12:23:12 +00:00
row0mysql.h branches/zip: row_update_prebuilt_trx(): Correct bogus comment. 2009-05-19 08:41:32 +00:00
row0mysql.ic branches/zip: 2009-02-17 09:33:38 +00:00
row0purge.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
row0purge.ic branches/zip: 2009-02-17 09:33:38 +00:00
row0row.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
row0row.ic branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
row0sel.h branches/zip: 2009-02-17 09:33:38 +00:00
row0sel.ic branches/zip: 2009-02-17 09:33:38 +00:00
row0types.h branches/zip: 2009-02-17 09:33:38 +00:00
row0uins.h branches/zip: 2009-02-17 09:36:44 +00:00
row0uins.ic branches/zip: 2009-02-17 09:36:44 +00:00
row0umod.h branches/zip: 2009-02-17 09:36:44 +00:00
row0umod.ic branches/zip: 2009-02-17 09:36:44 +00:00
row0undo.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
row0undo.ic branches/zip: 2009-02-17 09:36:44 +00:00
row0upd.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
row0upd.ic branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
row0vers.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
row0vers.ic branches/zip: 2009-02-17 09:36:44 +00:00
srv0que.h branches/zip: 2009-02-17 09:39:11 +00:00
srv0srv.h branches/zip: Add missing out: comments to nullary functions. 2009-05-19 06:30:02 +00:00
srv0srv.ic branches/zip: 2009-02-17 09:39:11 +00:00
srv0start.h branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
sync0arr.h branches/zip: 2009-02-17 09:39:11 +00:00
sync0arr.ic branches/zip: 2009-02-17 09:39:11 +00:00
sync0rw.h branches/zip: Add missing out: comments to nullary functions. 2009-05-19 06:30:02 +00:00
sync0rw.ic branches/zip 2009-04-07 14:45:37 +00:00
sync0sync.h branches/zip: Use the Windows Interlocked functions for atomic memory 2009-04-15 21:22:35 +00:00
sync0sync.ic branches/zip: Use the Windows Interlocked functions for atomic memory 2009-04-15 21:22:35 +00:00
sync0types.h branches/zip: 2009-02-17 09:39:11 +00:00
thr0loc.h branches/zip: 2009-02-17 09:39:11 +00:00
thr0loc.ic branches/zip: 2009-02-17 09:39:11 +00:00
trx0i_s.h branches/zip: 2009-02-17 09:39:11 +00:00
trx0purge.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
trx0purge.ic branches/zip: 2009-02-17 09:41:24 +00:00
trx0rec.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
trx0rec.ic branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
trx0roll.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
trx0roll.ic branches/zip: 2009-02-17 09:41:24 +00:00
trx0rseg.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
trx0rseg.ic branches/zip: 2009-02-17 09:41:24 +00:00
trx0sys.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
trx0sys.ic branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
trx0trx.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
trx0trx.ic branches/zip: Merge revisions 4359:4400 from branches/5.1: 2009-03-12 08:26:40 +00:00
trx0types.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
trx0undo.h branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
trx0undo.ic branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, 2009-04-23 05:32:36 +00:00
trx0xa.h branches/zip: 2009-02-17 09:43:50 +00:00
univ.i branches/zip: univ.i: Define REFMAN as the base URL of the 2009-04-16 12:02:27 +00:00
usr0sess.h branches/zip: 2009-02-17 09:43:50 +00:00
usr0sess.ic branches/zip: 2009-02-17 09:43:50 +00:00
usr0types.h branches/zip: 2009-02-17 09:43:50 +00:00
ut0auxconf.h branches/zip: 2009-03-05 14:38:59 +00:00
ut0byte.h branches/zip: 2009-02-17 09:43:50 +00:00
ut0byte.ic branches/zip: 2009-02-17 09:43:50 +00:00
ut0dbg.h branches/zip: UT_DBG_STOP: Use do{} while(0) to silence a g++-4.3.2 warning 2009-02-18 15:01:09 +00:00
ut0list.h branches/zip: 2009-02-17 09:46:52 +00:00
ut0list.ic branches/zip: 2009-02-17 09:46:52 +00:00
ut0lst.h branches/zip: UT_LIST_VALIDATE(): Assert that the link is non-NULL 2009-03-16 10:59:25 +00:00
ut0mem.h branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
ut0mem.ic branches/zip: 2009-02-17 09:46:52 +00:00
ut0rnd.h branches/zip: 2009-02-17 09:46:52 +00:00
ut0rnd.ic branches/zip: 2009-02-17 09:46:52 +00:00
ut0sort.h branches/zip: 2009-02-17 09:46:52 +00:00
ut0ut.h branches/zip: Remove unneeded definitions and dependencies 2009-03-23 14:21:34 +00:00
ut0ut.ic branches/zip: 2009-02-17 09:50:12 +00:00
ut0vec.h branches/zip: 2009-02-17 09:50:12 +00:00
ut0vec.ic branches/zip: 2009-02-17 09:50:12 +00:00
ut0wqueue.h branches/zip: 2009-02-17 09:50:12 +00:00