mariadb/include
sunny 08a1857151 Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
is one test that fails as of this commit. The updated test case should be
part of the snapshot from MySQL shortly.

Fix for bug# 27950 - Init AUTOINC from delete_row().

Fix for bug# 28781 - Use value specified by MySQL, in update_row().

Summary of structural changes:
==============================
InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix 
for simple INSERT statements (including multi-value inserts), we try and avoid
acquiring the special AUTOINC table level lock unless another transaction has
already reserved the AUTOINC table level lock, in which case we fall back
to the old behavior of acquiring the AUTOINC table level lock.

The max AUTOINC value is now read directly using the low level interface
of InnoDB.
2007-07-24 01:42:16 +00:00
..
btr0btr.h btr_lift_page_up(): Set new page levels in all ancestor pages, not just 2006-10-19 10:43:14 +00:00
btr0btr.ic page_offset(): New function to replace many ut_align_offset(., UNIV_PAGE_SIZE) 2006-09-19 05:55:10 +00:00
btr0cur.h Remove dict_tree_t, which should have been removed in r453. 2006-09-15 11:04:01 +00:00
btr0cur.ic Remove dict_tree_t, which should have been removed in r453. 2006-09-15 11:04:01 +00:00
btr0pcur.h btr0pcur.h: Change FIXME to TODO. 2006-09-14 09:19:41 +00:00
btr0pcur.ic Reindent the code base (except for ha_innodb.{cc,h} and generated parser 2006-08-28 17:42:45 +00:00
btr0sea.h Replace the Latin abbreviation "cf." in comments. 2006-11-30 10:24:10 +00:00
btr0sea.ic Port r152 from branches/5.0: Account for a race condition when dropping the 2006-01-24 12:13:44 +00:00
btr0types.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
buf0buf.h Reduce buffer pool mutex contention under >= 4 big concurrent 2006-11-08 12:49:15 +00:00
buf0buf.ic Fix change missed as part of Bug# 15815. Use a function to check if a block 2007-07-10 21:29:56 +00:00
buf0flu.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
buf0flu.ic Merge r1239 from 2007-01-18 21:27:31 +00:00
buf0lru.h Merge r328:340 from branches/5.0: 2006-03-17 08:20:14 +00:00
buf0lru.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
buf0rea.h Reindent the code base (except for ha_innodb.{cc,h} and generated parser 2006-08-28 17:42:45 +00:00
buf0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
data0data.h dfield_print_raw(): Make static. Print at most 1000 bytes to avoid 2006-08-17 12:46:19 +00:00
data0data.ic Reduce the size of the data dictionary cache. (Bug #20877) 2006-09-12 14:06:46 +00:00
data0type.h dict_col_t: Copy the fields of "dtype_t type" directly to this structure, 2006-09-18 11:51:38 +00:00
data0type.ic Replace the Latin abbreviation "cf." in comments. 2006-11-30 10:24:10 +00:00
data0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
db0err.h Fix for Bug # 18828. Return DB_TOO_MANY_CONCURRENT_TRXS when we run out 2007-04-11 02:43:56 +00:00
dict0boot.h Remove more remnants of mixed indexes. 2006-09-14 09:07:54 +00:00
dict0boot.ic Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
dict0crea.h Do not break the latching order in TRUNCATE TABLE. 2006-10-30 13:15:46 +00:00
dict0crea.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
dict0dict.h Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There 2007-07-24 01:42:16 +00:00
dict0dict.ic When buffering an insert to a prefix index of a variable-length column, 2007-06-01 06:01:15 +00:00
dict0load.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
dict0load.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
dict0mem.h Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There 2007-07-24 01:42:16 +00:00
dict0mem.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
dict0types.h Remove dict_tree_t, which should have been removed in r453. 2006-09-15 11:04:01 +00:00
dyn0dyn.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
dyn0dyn.ic Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
eval0eval.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
eval0eval.ic Reindent the code base (except for ha_innodb.{cc,h} and generated parser 2006-08-28 17:42:45 +00:00
eval0proc.h Port r371 and r372 from branches/fts: 2006-03-28 06:41:31 +00:00
eval0proc.ic Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
fil0fil.h Improve the documentation of FIL_PAGE_PREV, FIL_PAGE_NEXT, 2006-05-11 12:44:01 +00:00
fsp0fsp.h Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB" 2007-06-26 13:08:11 +00:00
fsp0fsp.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
fut0fut.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
fut0fut.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
fut0lst.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
fut0lst.ic Reindent the code base (except for ha_innodb.{cc,h} and generated parser 2006-08-28 17:42:45 +00:00
ha0ha.h Port r1034 from branches/zip: Remove some instrumentation and reduce 2006-11-21 13:56:18 +00:00
ha0ha.ic Merge r1239 from 2007-01-18 21:27:31 +00:00
ha_prototypes.h Fix Bug#21293: Consider transactions that had edited non-transactional 2007-05-15 14:53:04 +00:00
hash0hash.h Rename hash_create to hash0_create by a #define. This fixes a 2007-02-02 10:52:40 +00:00
hash0hash.ic Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
ibuf0ibuf.h ibuf_count_get(), ibuf_counts[], ibuf_counts_inited: Define these only 2006-05-05 11:39:44 +00:00
ibuf0ibuf.ic Revamp the line splits done in r763 and r764 that can now be done better, 2006-09-19 07:22:21 +00:00
ibuf0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
lock0iter.h Introduce a lock queue iterator for easy (and opaque) traversing of lock 2007-07-17 15:08:04 +00:00
lock0lock.h lock_has_to_wait() is needed in the INFORMATION_SCHEMA implementation 2007-07-13 12:15:14 +00:00
lock0lock.ic Merge r1239 from 2007-01-18 21:27:31 +00:00
lock0priv.h Move lock_get_type() from lock/lock0lock.c to include/lock0priv.ic: 2007-07-17 13:41:51 +00:00
lock0priv.ic Convert date to an unambiguous format. 2007-07-17 13:58:16 +00:00
lock0types.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
log0log.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
log0log.ic Merge r1239 from 2007-01-18 21:27:31 +00:00
log0recv.h Remove all traces of the obsolete concept of replicate spaces. 2006-08-16 08:01:37 +00:00
log0recv.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
mach0data.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
mach0data.ic Reindent the code base (except for ha_innodb.{cc,h} and generated parser 2006-08-28 17:42:45 +00:00
mem0dbg.h Enclose some mem debug functions in #ifdef UNIV_DEBUG or #ifdef UNIV_MEM_DEBUG. 2006-10-10 08:27:08 +00:00
mem0dbg.ic Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
mem0mem.h Remove the unused function mem_strdupq(). 2007-01-18 20:33:47 +00:00
mem0mem.ic Port extra Valgrind instrumentation (UNIV_DEBUG_VALGRIND) from branches/zip. 2007-06-14 08:34:23 +00:00
mem0pool.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
mem0pool.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
mtr0log.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
mtr0log.ic Reindent the code base (except for ha_innodb.{cc,h} and generated parser 2006-08-28 17:42:45 +00:00
mtr0mtr.h mtr_print(), mtr_memo_contains(): Disable unless #ifdef UNIV_DEBUG. 2006-09-26 07:08:48 +00:00
mtr0mtr.ic mtr_print(), mtr_memo_contains(): Disable unless #ifdef UNIV_DEBUG. 2006-09-26 07:08:48 +00:00
mtr0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
os0file.h Fix Bug#9709 by retrying (forever) if ERROR_SHARING_VIOLATION or 2007-04-11 17:59:31 +00:00
os0proc.h Fix invalid brace positioning and spaces before tabs. 2006-02-24 09:53:01 +00:00
os0proc.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
os0sync.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
os0sync.ic Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
os0thread.h Make 'thread_id' parameter in os_thread_create() optional. 2006-04-21 12:06:23 +00:00
os0thread.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
page0cur.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
page0cur.ic Reindent the code base (except for ha_innodb.{cc,h} and generated parser 2006-08-28 17:42:45 +00:00
page0page.h Fix a severe bug that was introduced in r1422 when fixing Bug #21101. 2007-06-12 09:51:03 +00:00
page0page.ic Revamp the line splits done in r763 and r764 that can now be done better, 2006-09-19 07:22:21 +00:00
page0types.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
pars0grm.h Changes to InnoDB's SQL parser: 2006-05-31 05:34:18 +00:00
pars0opt.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
pars0opt.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
pars0pars.h Changes to InnoDB's SQL parser: 2006-05-31 05:34:18 +00:00
pars0pars.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
pars0sym.h Add support for bound ids in InnoDB's SQL parser. 2006-05-08 05:13:09 +00:00
pars0sym.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
pars0types.h Add support for bound ids in InnoDB's SQL parser. 2006-05-08 05:13:09 +00:00
que0que.h Add support for lock waits in the SQL parser. 2006-06-08 06:08:23 +00:00
que0que.ic Reindent the code base (except for ha_innodb.{cc,h} and generated parser 2006-08-28 17:42:45 +00:00
que0types.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
read0read.h Remove trailing whitespaces and fix style on function comments. 2006-03-02 07:57:10 +00:00
read0read.ic Revamp the line splits done in r763 and r764 that can now be done better, 2006-09-19 07:22:21 +00:00
read0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
rem0cmp.h dict_col_t: Copy the fields of "dtype_t type" directly to this structure, 2006-09-18 11:51:38 +00:00
rem0cmp.ic dict_col_t: Copy the fields of "dtype_t type" directly to this structure, 2006-09-18 11:51:38 +00:00
rem0rec.h Reduce the size of the data dictionary cache. (Bug #20877) 2006-09-12 14:06:46 +00:00
rem0rec.ic Fix some in:/out: comments. 2007-06-12 06:53:29 +00:00
rem0types.h Reduce the size of the data dictionary cache. (Bug #20877) 2006-09-12 14:06:46 +00:00
row0ins.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
row0ins.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0mysql.h Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There 2007-07-24 01:42:16 +00:00
row0mysql.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0purge.h Reindent the code base (except for ha_innodb.{cc,h} and generated parser 2006-08-28 17:42:45 +00:00
row0purge.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0row.h Remove unused code. 2006-08-31 10:47:31 +00:00
row0row.ic Reindent the code base (except for ha_innodb.{cc,h} and generated parser 2006-08-28 17:42:45 +00:00
row0sel.h Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There 2007-07-24 01:42:16 +00:00
row0sel.ic Reindent the code base (except for ha_innodb.{cc,h} and generated parser 2006-08-28 17:42:45 +00:00
row0types.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
row0uins.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
row0uins.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0umod.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
row0umod.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0undo.h Reindent the code base (except for ha_innodb.{cc,h} and generated parser 2006-08-28 17:42:45 +00:00
row0undo.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0upd.h Port parts of r297 from branches/fts: 2006-03-10 11:06:33 +00:00
row0upd.ic dict_col_t: Copy the fields of "dtype_t type" directly to this structure, 2006-09-18 11:51:38 +00:00
row0vers.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
row0vers.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
srv0que.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
srv0srv.h Merge a change from MySQL AB: 2007-03-26 08:16:35 +00:00
srv0srv.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
srv0start.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
sync0arr.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
sync0arr.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
sync0rw.h Port r1034 from branches/zip: Remove some instrumentation and reduce 2006-11-21 13:56:18 +00:00
sync0rw.ic Merge r1239 from 2007-01-18 21:27:31 +00:00
sync0sync.h Rename mutex_enter_nowait to mutex_enter_nowait_func and add macro 2007-01-22 09:03:59 +00:00
sync0sync.ic Fixed inline asm code, it didn't work with GCC > ver 3.x. 2007-02-12 23:15:38 +00:00
sync0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
thr0loc.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
thr0loc.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
trx0purge.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
trx0purge.ic Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
trx0rec.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
trx0rec.ic Reindent the code base (except for ha_innodb.{cc,h} and generated parser 2006-08-28 17:42:45 +00:00
trx0roll.h Add platform-specific os_thread_ret_t and OS_THREAD_DUMMY_RETURN, and 2006-04-21 12:09:12 +00:00
trx0roll.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
trx0rseg.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
trx0rseg.ic Split lines before binary operators, not after them. 2006-08-29 08:27:56 +00:00
trx0sys.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
trx0sys.ic Merge r1239 from 2007-01-18 21:27:31 +00:00
trx0trx.h Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There 2007-07-24 01:42:16 +00:00
trx0trx.ic Reindent the code base (except for ha_innodb.{cc,h} and generated parser 2006-08-28 17:42:45 +00:00
trx0types.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
trx0undo.h Fix for Bug # 18828. Return DB_TOO_MANY_CONCURRENT_TRXS when we run out 2007-04-11 02:43:56 +00:00
trx0undo.ic Reindent the code base (except for ha_innodb.{cc,h} and generated parser 2006-08-28 17:42:45 +00:00
trx0xa.h Reindent the code base (except for ha_innodb.{cc,h} and generated parser 2006-08-28 17:42:45 +00:00
univ.i Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB" 2007-06-26 13:08:11 +00:00
usr0sess.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
usr0sess.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
usr0types.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
ut0byte.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
ut0byte.ic Merge changes from MySQL AB: 2007-03-01 15:21:12 +00:00
ut0dbg.h Implement InnoDB assertions (ut_a and ut_error) with abort() when 2006-05-22 08:11:38 +00:00
ut0list.h Add ib_list_create_heap(). 2006-05-18 10:02:01 +00:00
ut0list.ic Add a normal linked-list implementation. 2006-04-26 11:58:07 +00:00
ut0lst.h Add ut_ad() debug assertions. 2007-01-19 12:22:24 +00:00
ut0mem.h Port parts of r211 from branches/fts: 2006-03-10 11:00:58 +00:00
ut0mem.ic Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
ut0rnd.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
ut0rnd.ic Split lines before binary operators, not after them. 2006-08-29 08:27:56 +00:00
ut0sort.h Style cleanups: Convert spaces to tabs, remove trailing whitespace, other 2006-02-21 12:37:54 +00:00
ut0ut.h Define an auxiliary macro UT_BITS_IN_BYTES() and use it where possible. 2007-05-28 11:10:41 +00:00
ut0ut.ic Merge changes from MySQL AB: 2007-03-01 15:21:12 +00:00
ut0vec.h Rename ib_vector typedef to ib_vector_t. 2006-04-06 10:02:44 +00:00
ut0vec.ic Rename ib_vector typedef to ib_vector_t. 2006-04-06 10:02:44 +00:00
ut0wqueue.h Add a work queue implementation. 2006-04-26 12:14:50 +00:00