mariadb/storage/innobase
Marko Mäkelä 49adfa3d19 Bug#16138582 MTR_MEMO_RELEASE AND DYN_ARRAY TOGETHER ARE VERY INEFFICIENT
Get rid of O(n^2) scan in dyn array (mtr->memo) operations, accessing
the dyn array blocks directly.

dyn_array_get_last_block(), dyn_array_get_next_block(),
dyn_array_get_prev_block(): Define as a constness-preserving macro.

Add const qualifiers to many dyn_array functions.

mtr_memo_slot_release_func(): Renamed from mtr_memo_slot_release():
Make mtr_t* a debug-only parameter. Assume that slot->object != NULL.

mtr_memo_pop_all(): Access the dyn_array blocks directly, replacing
O(n^2) operation with O(n).

mtr_memo_release(): Access the dyn_array blocks directly, replacing
O(n^2) operation with O(n). This caused the performance problem.

rb#1540 approved by Jimmy Yang
2013-01-17 17:30:13 +02:00
..
btr Bug #14676111 WRONG PAGE_LEVEL WRITTEN FOR UPPER THAN FATHER PAGE AT BTR_LIFT_PAGE_UP() 2012-11-12 22:33:40 +09:00
buf Approved by Jimmy and Inaam. rb#1576 2012-12-17 23:13:46 +08:00
data Implement worklog #5743 InnoDB: Lift the limit of index key prefixes. 2011-05-31 02:12:32 -07:00
dict Fix Bug#16021177 DICT_LOAD_FOREIGNS() PASSES UNALIGNED MEMORY TO 2012-12-19 13:46:00 +02:00
dyn Bug#16138582 MTR_MEMO_RELEASE AND DYN_ARRAY TOGETHER ARE VERY INEFFICIENT 2013-01-17 17:30:13 +02:00
eval Remove redundant variable 2010-09-20 18:48:38 +03:00
fil Bug #14556349 RENAME OF COMPRESSED TABLE AND INSERT BUFFER MERGE CAUSE 2012-12-20 11:59:36 +05:30
fsp Merging from mysql-5.1 to mysql-5.5. 2012-03-09 12:35:27 +05:30
fut Renamed storage/innodb_plugin to storage/innobase, so that 1) it's the same 2009-08-07 12:16:00 +02:00
ha WL#6161 Integrating with InnoDB codebase in MySQL 5.5 2012-06-07 19:14:26 +05:30
handler Bug #16004999 ASSERT STATE == TRX_STATE_NOT_STARTED, UNLOCK_ROW() 2013-01-10 10:28:04 +05:30
ibuf Merge mysql-5.1 to mysql-5.5. 2012-09-19 22:55:26 +03:00
include Bug#16138582 MTR_MEMO_RELEASE AND DYN_ARRAY TOGETHER ARE VERY INEFFICIENT 2013-01-17 17:30:13 +02:00
lock Bug #16004999 ASSERT STATE == TRX_STATE_NOT_STARTED, UNLOCK_ROW() 2013-01-10 10:28:04 +05:30
log Merging from mysql-5.1 to mysql-5.5. 2012-11-09 18:56:20 +05:30
mach mach_ull_parse_compressed(): Move to .ic file to silence a GCC warning 2010-06-24 09:08:42 +03:00
mem WL#6161 Integrating with InnoDB codebase in MySQL 5.5 2012-06-07 19:14:26 +05:30
mtr Bug#16138582 MTR_MEMO_RELEASE AND DYN_ARRAY TOGETHER ARE VERY INEFFICIENT 2013-01-17 17:30:13 +02:00
os Fix compilation error in debug mode: 2012-10-10 22:22:10 +03:00
page Merge mysql-5.1 to mysql-5.5. 2012-09-17 14:32:07 +03:00
pars Partial fix for Bug#11764622 57480: MEMORY LEAK WHEN HAVING 256+ TABLES 2011-12-29 16:05:08 +02:00
que (que0que.c:1286) Bug#55227 Fix compiler warnings in innodb with gcc 4.6 2010-09-20 19:01:14 +03:00
read Bug#54728: Replace the dulint struct with a 64-bit integer. 2010-06-23 14:06:59 +03:00
rem Merge mysql-5.1 to mysql-5.5. 2012-11-15 20:38:04 +02:00
row Merge from mysql-5.1 to mysql-5.5 2013-01-14 10:57:04 +05:30
srv Approved by Jimmy and Inaam. rb#1576 2012-12-17 23:13:46 +08:00
sync Merge from mysql-5.1 to mysql-5.5. 2013-01-10 10:11:53 +11:00
trx UNIV_DEBUG build of some environments needs 2012-12-04 12:32:58 +09:00
usr Merge Innodb Plugin 1.0.6 from mysql-5.1-bugteam storage/innodb_plugin to mysql-trunk-merge. 2009-12-02 19:30:50 +05:30
ut WL#6161 Integrating with InnoDB codebase in MySQL 5.5 2012-06-07 19:14:26 +05:30
CMakeLists.txt Bug#11766305 - 59392: Remove thr0loc.c and ibuf_inside() [part 4 of 4] 2011-03-24 14:00:14 +02:00
compile-innodb Invoke make with -j$(nproc) for better parallelism. 2010-09-09 13:50:06 +03:00
COPYING.Google Renamed storage/innodb_plugin to storage/innobase, so that 1) it's the same 2009-08-07 12:16:00 +02:00
COPYING.Percona Renamed storage/innodb_plugin to storage/innobase, so that 1) it's the same 2009-08-07 12:16:00 +02:00
Doxyfile Remove ut0auxconf.h. 2010-09-09 14:27:52 +03:00
ha_innodb.def Renamed storage/innodb_plugin to storage/innobase, so that 1) it's the same 2009-08-07 12:16:00 +02:00