mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 14:02:32 +01:00
1256 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
irana
|
7f74120473 |
branches/innodb+
Merge r6915:6992 from branches/innodb+multipbp (i.e.: all the changes made since it's creation) This also reverts r6930 to branches/innodb+ because a different solution for that issue is already present in innodb+multibp which is being merged. After this commit branches/innodb+multibp should be discarded and this branch should become our main development tree. ------------------------------------------------------------------------ r6915 | sbains | 2010-03-31 07:33:43 +0300 (Wed, 31 Mar 2010) | 1 line Changed paths: A /branches/innodb+multibp (from /branches/innodb+:6914) Creating a branch for the multiple buffer pool ------------------------------------------------------------------------ r6916 | sbains | 2010-03-31 08:21:00 +0300 (Wed, 31 Mar 2010) | 3 lines Changed paths: M /branches/innodb+multibp/CMakeLists.txt M /branches/innodb+multibp/btr/btr0btr.c M /branches/innodb+multibp/btr/btr0cur.c M /branches/innodb+multibp/btr/btr0sea.c M /branches/innodb+multibp/buf/buf0buddy.c M /branches/innodb+multibp/buf/buf0buf.c M /branches/innodb+multibp/buf/buf0flu.c M /branches/innodb+multibp/buf/buf0lru.c M /branches/innodb+multibp/buf/buf0rea.c M /branches/innodb+multibp/handler/ha_innodb.cc M /branches/innodb+multibp/handler/i_s.cc M /branches/innodb+multibp/ibuf/ibuf0ibuf.c M /branches/innodb+multibp/include/buf0buddy.h M /branches/innodb+multibp/include/buf0buddy.ic M /branches/innodb+multibp/include/buf0buf.h M /branches/innodb+multibp/include/buf0buf.ic M /branches/innodb+multibp/include/buf0flu.h M /branches/innodb+multibp/include/buf0flu.ic M /branches/innodb+multibp/include/buf0lru.h M /branches/innodb+multibp/include/buf0rea.h M /branches/innodb+multibp/include/buf0types.h M /branches/innodb+multibp/include/ibuf0ibuf.ic M /branches/innodb+multibp/include/srv0srv.h M /branches/innodb+multibp/include/univ.i M /branches/innodb+multibp/log/log0log.c M /branches/innodb+multibp/log/log0recv.c M /branches/innodb+multibp/mem/mem0mem.c M /branches/innodb+multibp/page/page0zip.c M /branches/innodb+multibp/srv/srv0srv.c M /branches/innodb+multibp/srv/srv0start.c M /branches/innodb+multibp/trx/trx0trx.c M /branches/innodb+multibp/trx/trx0undo.c branches/innodb+multibp: Unable to crash it with UNIV_DEBUG and UNIV_SYNC_DEBUG with both ibtests and Sysbench. The patch now needs a workout from Michael. ------------------------------------------------------------------------ r6917 | sbains | 2010-03-31 08:56:18 +0300 (Wed, 31 Mar 2010) | 2 lines Changed paths: M /branches/innodb+multibp/handler/ha_innodb.cc branches/innodb+multibp: Fix error introduced in r6916. ------------------------------------------------------------------------ r6923 | sbains | 2010-03-31 15:16:04 +0300 (Wed, 31 Mar 2010) | 3 lines Changed paths: M /branches/innodb+multibp/btr/btr0cur.c M /branches/innodb+multibp/buf/buf0buddy.c M /branches/innodb+multibp/buf/buf0buf.c M /branches/innodb+multibp/buf/buf0flu.c M /branches/innodb+multibp/buf/buf0lru.c M /branches/innodb+multibp/include/buf0buddy.ic M /branches/innodb+multibp/include/buf0buf.h M /branches/innodb+multibp/include/buf0buf.ic M /branches/innodb+multibp/include/buf0flu.ic M /branches/innodb+multibp/page/page0zip.c branches/innodb+multibp: Fix whitespace issues. Add function buf_pool_from_block(). Add some comments to parameters. ------------------------------------------------------------------------ r6932 | sbains | 2010-04-01 01:12:07 +0300 (Thu, 01 Apr 2010) | 4 lines Changed paths: M /branches/innodb+multibp/include/buf0buf.ic M /branches/innodb+multibp/include/univ.i branches/innodb+multibp: Remove bogus assertion. It's possible for the space and offset of a page to be undefined during the lifecycle of a page. Remove the debug #defines from univ.i. ------------------------------------------------------------------------ r6933 | sbains | 2010-04-01 01:22:40 +0300 (Thu, 01 Apr 2010) | 2 lines Changed paths: M /branches/innodb+multibp/srv/srv0start.c branches/innodb+multibp: Fix whitespace issues. ------------------------------------------------------------------------ r6934 | sbains | 2010-04-01 01:53:18 +0300 (Thu, 01 Apr 2010) | 2 lines Changed paths: M /branches/innodb+multibp/CMakeLists.txt M /branches/innodb+multibp/ChangeLog M /branches/innodb+multibp/buf/buf0buf.c M /branches/innodb+multibp/buf/buf0flu.c M /branches/innodb+multibp/handler/ha_innodb.cc M /branches/innodb+multibp/include/buf0buf.h M /branches/innodb+multibp/include/buf0buf.ic M /branches/innodb+multibp/include/buf0flu.ic M /branches/innodb+multibp/include/srv0srv.h M /branches/innodb+multibp/include/sync0sync.h M /branches/innodb+multibp/include/trx0purge.h M /branches/innodb+multibp/include/ut0ut.h M /branches/innodb+multibp/include/ut0ut.ic M /branches/innodb+multibp/lock/lock0lock.c M /branches/innodb+multibp/log/log0recv.c M /branches/innodb+multibp/mtr/mtr0mtr.c M /branches/innodb+multibp/mysql-test/innodb_bug38231.test A /branches/innodb+multibp/mysql-test/innodb_bug51920.result (from /branches/innodb+/mysql-test/innodb_bug51920.result:6931) A /branches/innodb+multibp/mysql-test/innodb_bug51920.test (from /branches/innodb+/mysql-test/innodb_bug51920.test:6931) M /branches/innodb+multibp/row/row0sel.c M /branches/innodb+multibp/srv/srv0srv.c M /branches/innodb+multibp/srv/srv0start.c M /branches/innodb+multibp/sync/sync0sync.c M /branches/innodb+multibp/trx/trx0purge.c branches/innodb+multibp: Merge revisions r6914:6931 from branches/innodb+ ------------------------------------------------------------------------ r6935 | sbains | 2010-04-01 02:08:32 +0300 (Thu, 01 Apr 2010) | 3 lines Changed paths: M /branches/innodb+multibp/buf/buf0flu.c M /branches/innodb+multibp/include/buf0flu.ic M /branches/innodb+multibp/mtr/mtr0mtr.c branches/innodb+multibp: Fix the debug assertions for flush order mutex. These were missed in r6934. ------------------------------------------------------------------------ r6936 | sbains | 2010-04-01 02:46:52 +0300 (Thu, 01 Apr 2010) | 4 lines Changed paths: M /branches/innodb+multibp/sync/sync0sync.c branches/innodb+multibp: Because now we have multiple instances of a mutex at the same level and these mutexes can be acquired simultaneously we can't simply check for <= level. We need to check for <= level - 1. ------------------------------------------------------------------------ r6937 | sbains | 2010-04-01 04:40:17 +0300 (Thu, 01 Apr 2010) | 5 lines Changed paths: M /branches/innodb+multibp/trx/trx0purge.c branches/innodb+multibp: We need to check if the history list len is > than some threshold not that it is evenly divisible by the some batch size. While running tests on dscczz01 I've observed that the purge thread can't keep up with the generation of the UNDO log records because of the faster code. ------------------------------------------------------------------------ r6938 | irana | 2010-04-01 10:15:00 +0300 (Thu, 01 Apr 2010) | 7 lines Changed paths: M /branches/innodb+multibp/buf/buf0buf.c M /branches/innodb+multibp/buf/buf0flu.c M /branches/innodb+multibp/include/buf0buf.h M /branches/innodb+multibp/include/buf0buf.ic M /branches/innodb+multibp/include/buf0flu.h M /branches/innodb+multibp/include/buf0flu.ic M /branches/innodb+multibp/include/log0log.h M /branches/innodb+multibp/include/sync0sync.h M /branches/innodb+multibp/log/log0log.c M /branches/innodb+multibp/log/log0recv.c M /branches/innodb+multibp/mtr/mtr0mtr.c M /branches/innodb+multibp/sync/sync0sync.c branches/innodb+multibp The buf_flush_order patch that was ported in from 1.1 won't work with multiple buffer pools. This patch moves the mutex protecting order of insertion in the flush list(s) to log_sys struct so that we can have one global mutex protecting insertions into all flush list(s) ------------------------------------------------------------------------ r6941 | sbains | 2010-04-02 00:51:28 +0300 (Fri, 02 Apr 2010) | 4 lines Changed paths: M /branches/innodb+multibp/lock/lock0lock.c branches/innodb+multibp: We should get the record heap no to check recursively only if we are checking a record lock. Prior to this fix we were doing it for table locks as well, this is a bug. ------------------------------------------------------------------------ r6942 | csun | 2010-04-02 02:39:10 +0300 (Fri, 02 Apr 2010) | 4 lines Changed paths: M /branches/innodb+multibp/ha/ha0ha.c branches/innodb+multibp: fix compiler errors on Windows. Move ut_ad() to after declarations for C file. ------------------------------------------------------------------------ r6943 | sbains | 2010-04-03 05:14:25 +0300 (Sat, 03 Apr 2010) | 2 lines Changed paths: M /branches/innodb+multibp/buf/buf0buf.c branches/innodb+multibp: Remove the code that created the fake buffer pool. ------------------------------------------------------------------------ r6945 | irana | 2010-04-05 23:35:29 +0300 (Mon, 05 Apr 2010) | 5 lines Changed paths: M /branches/innodb+multibp/lock/lock0lock.c branches/innodb+multibp Revert r6941 as it does not resolve the issue and we have to take back the whole fix for bug#49047 ------------------------------------------------------------------------ r6946 | irana | 2010-04-05 23:50:42 +0300 (Mon, 05 Apr 2010) | 6 lines Changed paths: M /branches/innodb+multibp/include/ut0ut.h M /branches/innodb+multibp/include/ut0ut.ic M /branches/innodb+multibp/lock/lock0lock.c branches/innodb+multibp Merged revisions 6932:6944 from branches/innodb+ This solely includes the reversal of fix for bug#49047 ------------------------------------------------------------------------ r6947 | sbains | 2010-04-06 01:33:46 +0300 (Tue, 06 Apr 2010) | 3 lines Changed paths: M /branches/innodb+multibp/buf/buf0lru.c branches/innodb+multibp: Remove the log sys mutex acquisition when doing buffer pool stat aggregation. A dirty read here should suffice. ------------------------------------------------------------------------ r6951 | irana | 2010-04-06 17:25:29 +0300 (Tue, 06 Apr 2010) | 5 lines Changed paths: M /branches/innodb+multibp/buf/buf0buf.c branches/innodb+mbp Initialize the buf_page_t::buf_pool pointer when the descriptor is allocated using buf_buddy_alloc(). ------------------------------------------------------------------------ r6954 | jyang | 2010-04-06 21:24:46 +0300 (Tue, 06 Apr 2010) | 4 lines Changed paths: M /branches/innodb+multibp/handler/ha_innodb.cc branches/innodb+multibp: Fix a possible null pointer of index_mapping in a race condition. ------------------------------------------------------------------------ r6958 | sbains | 2010-04-07 00:27:44 +0300 (Wed, 07 Apr 2010) | 3 lines Changed paths: M /branches/innodb+multibp/include/ut0mem.h M /branches/innodb+multibp/ut/ut0mem.c branches/innodb+multibp: Fix part of Bug#52546. We allow ut_free() to accept a NULL pointer and treat it as a nop. ------------------------------------------------------------------------ r6961 | jyang | 2010-04-07 10:50:03 +0300 (Wed, 07 Apr 2010) | 9 lines Changed paths: M /branches/innodb+multibp/handler/ha_innodb.cc branches/innodb+multibp: Fix for bug #52580: Crash in ha_innobase::open on executing INSERT with concurrent ALTER TABLE. Change in MySQL bug #51557 releases the mutex LOCK_open before ha_innobase::open(), causing racing condition for index translation table creation. Fix it by adding dict_sys mutex for the operation. rb://283, approved by Marko. ------------------------------------------------------------------------ r6963 | irana | 2010-04-07 19:14:10 +0300 (Wed, 07 Apr 2010) | 15 lines Changed paths: M /branches/innodb+multibp/handler/ha_innodb.cc branches/innodb+multibp Force setting of buf_pool->LRU_old_ratio by calling buf_LRU_old_ratio_update() with adjust set to TRUE. This will make sure that we grab the buf_pool mutex and actually adjust the buf_pool->LRU_old pointer instead of just updating the buf_pool->LRU_old_ratio. Note that after this change there is no call to buf_LRU_old_ratio_update() with adjust set to FALSE and therefore this parameter should be removed. I am keeping it for now to first make sure that the fix does work. Approved by: No one. Sunny agreed with my hypothesis of the problem. ------------------------------------------------------------------------ r6964 | irana | 2010-04-07 19:59:59 +0300 (Wed, 07 Apr 2010) | 5 lines Changed paths: M /branches/innodb+multibp/handler/ha_innodb.cc branches/innodb+multibp Remove a too strong assertion on behalf of Jimmy. ------------------------------------------------------------------------ r6971 | sbains | 2010-04-09 13:23:33 +0300 (Fri, 09 Apr 2010) | 6 lines Changed paths: M /branches/innodb+multibp/buf/buf0buf.c branches/innodb+multibp: When getting the oldest (minimum) LSN value from all the flush lists we need to acquire the flush list mutex. We were incorrectly acquiring the buffer pool mutex. This patch should fix a slew of bugs reported by Michael. ------------------------------------------------------------------------ r6972 | sbains | 2010-04-10 00:25:09 +0300 (Sat, 10 Apr 2010) | 5 lines Changed paths: M /branches/innodb+multibp/buf/buf0buf.c branches/innodb+multibp: We should not reset the lsn to 0 when we encounter an empty flush list. Oldest LSN should be 0 only when all flush lists are empty. e.g., without this fix if even one flush list was empty we would end up breaking WAL. ------------------------------------------------------------------------ r6987 | sbains | 2010-04-14 00:14:13 +0300 (Wed, 14 Apr 2010) | 12 lines Changed paths: M /branches/innodb+multibp/buf/buf0buf.c branches/innodb+multibp: When calculating the oldest_lsn we can have a situation where we've iterated to say buffer pool 3 and another thread adds two new dirty pages, the first to buffer pool 1 and the second to buffer pool 4. Up to say buffer pool 3 the oldest_lsn was 0. Now, we will end up returning the lsn at buffer pool 4 as the oldest LSN. We prevent this by acquiring the flush order mutex. One other future option is to calculate the min_lsn when flushing pages from the list and maintaining a running total using atomics. That way we can get rid of this function altogether. The atomics will only really be required when we do parallel flushing. ------------------------------------------------------------------------ r6992 | sbains | 2010-04-14 02:45:59 +0300 (Wed, 14 Apr 2010) | 2 lines Changed paths: M /branches/innodb+multibp/include/ut0rbt.h M /branches/innodb+multibp/ut/ut0rbt.c branches/innodb+multibp: Fix copyright of the rbt code. ------------------------------------------------------------------------ |
||
mmakela
|
1e13dd0b11 |
branches/innodb+: buf_flush_insert_sorted_into_flush_list(): Restore ut_ad()
assertions that were removed when introducing the flush list mutex, and add comments that explain why these assertions are valid. Discussed with Inaam Rana. |
||
jyang
|
f460801456 |
branches/innodb+: Add support that individual mutex/rwlock can
be excluded from performance schema instrumentation. Exclude buffer block mutex/rwlock from performance schema instrumentation by default. |
||
mmakela
|
6e3a51e06a |
branches/innodb+: Merge revisions 6925:6949 from branches/zip:
------------------------------------------------------------------------ r6949 | mmakela | 2010-04-06 16:11:46 +0300 (Tue, 06 Apr 2010) | 7 lines branches/zip: Add debug checks to track down Issue #461. dict_table_check_for_dup_indexes(): Add the flag tmp_ok. If !tmp_ok, check that no index name starts with TEMP_INDEX_PREFIX. ha_innobase::add_index(), ha_innobase::prepare_drop_index(), ha_innobase::final_drop_index(): Call dict_table_check_for_dup_indexes(). ------------------------------------------------------------------------ |
||
irana
|
1e00b61009 |
branches/innodb+
Revert r6931 because it introduced following bugs: http://bugs.mysql.com/bug.php?id=52588 http://bugs.mysql.com/bug.php?id=52590 |
||
irana
|
eb6e2444dd |
branches/innodb+ rb://257
When a transaction joins we check if there are any other transactions waiting on its locks. If there aren't any waiting then no deadlock can occur. This patch however has additional changes. 1. Count leading zeros 2. Count trailing zeros There are two version of both these utility functions. One is hand coded and the other will use the GCC builtin when available. The changes to configure have yet to be made. Simplify the next record lock fetch in the deadlock check code. Pass the heap number as a parameter to the deadlock check code. Written by: Sunny |
||
irana
|
3ac3256773 |
branches/innodb+ rb://281
changes to mtr_commit: 1) grab log mutex (and do initial mtr commit stuff) for each dirty block 2) grab flush_list mutex 3) Insert into flush list 4) release flush_list mutex 5) release log_sys mutex Changed version: 1) grab log mutex (and do initial mtr commit stuff) 2) grab a new flushList order mutex 3) release log mutex for each dirty block 4) grab flush_list mutex 5) Insert into flush list 6) release flush_list mutex 7) Release new flush list order mutex Approved by: Marko has given the initial nod. |
||
irana
|
af835e8675 |
branches/innodb+
Non-functional change. Take our the start up message about ignoring innodb_use_native_aio. |
||
sbains
|
6e0fc8e875 | branches/innodb+: Add check for libaio on Linux. | ||
sbains
|
5850b0edfd |
branches/innodb+: Create a separate purge thread to do the purge. Introduce
two new configuration parameters. 1. innodb-purge-threads := [01] -- default is 0 2. innodb-purge-batch-size := 20 ... 5000 -- default is 20 rb://271 |
||
mmakela
|
20f9d908bf |
branches/innodb+: Merge revisions r6897:6925 from branches/zip.
Skip r6900, which was backported from branches/innodb+ 6899. ------------------------------------------------------------------------ r6919 | mmakela | 2010-03-31 11:34:22 +0300 (Wed, 31 Mar 2010) | 54 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug38231.test A /branches/zip/mysql-test/innodb_bug51920.result A /branches/zip/mysql-test/innodb_bug51920.test M /branches/zip/row/row0sel.c M /branches/zip/srv/srv0srv.c branches/zip: Merge revisions 6788:6918 from branches/5.1: ------------------------------------------------------------------------ r6822 | vasil | 2010-03-15 10:17:31 +0200 (Mon, 15 Mar 2010) | 12 lines Changed paths: M /branches/5.1/row/row0sel.c branches/5.1: Typecast to silence a compiler warning: row/row0sel.c: 4548 C4244: '=' : conversion from 'float' to 'ib_ulonglong', possible loss of data row/row0sel.c: 4553 C4244: '=' : conversion from 'double' to 'ib_ulonglong', possible loss of data Reported by: Jonas Oreland <Jonas.Oreland@Sun.COM> Discussed with: Sunny Bains <sunny.bains@oracle.com> ------------------------------------------------------------------------ r6884 | vdimov | 2010-03-26 13:05:03 +0200 (Fri, 26 Mar 2010) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb_bug38231.test branches/5.1: Fix a non-determinism in innodb_bug38231. Reported by: Sergey Vojtovich <svoj@Sun.COM> ------------------------------------------------------------------------ r6911 | vdimov | 2010-03-30 11:39:02 +0300 (Tue, 30 Mar 2010) | 2 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Whitespace fixup ------------------------------------------------------------------------ r6912 | vdimov | 2010-03-30 12:18:46 +0300 (Tue, 30 Mar 2010) | 2 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Whitespace fixup on line 354 ------------------------------------------------------------------------ r6918 | mmakela | 2010-03-31 11:14:51 +0300 (Wed, 31 Mar 2010) | 6 lines Changed paths: A /branches/5.1/mysql-test/innodb_bug51920.result A /branches/5.1/mysql-test/innodb_bug51920.test M /branches/5.1/srv/srv0srv.c branches/5.1: Obey KILL during a lock wait (Bug #51920). srv_suspend_mysql_thread(), srv_lock_timeout_and_monitor_thread(): Check trx_is_interrupted() in addition to checking the lock wait timeout. rb://279 approved by Sunny Bains ------------------------------------------------------------------------ ------------------------------------------------------------------------ r6920 | mmakela | 2010-03-31 11:49:08 +0300 (Wed, 31 Mar 2010) | 1 line Changed paths: M /branches/zip/row/row0sel.c branches/zip: Fix a compilation error that sneaked in in r6919. ------------------------------------------------------------------------ r6922 | mmakela | 2010-03-31 14:54:30 +0300 (Wed, 31 Mar 2010) | 11 lines Changed paths: M /branches/zip/mysql-test/innodb_bug51920.result M /branches/zip/mysql-test/innodb_bug51920.test branches/zip: Merge revisions 6918:6921 from branches/5.1: ------------------------------------------------------------------------ r6921 | mmakela | 2010-03-31 14:33:04 +0300 (Wed, 31 Mar 2010) | 2 lines Changed paths: M /branches/5.1/mysql-test/innodb_bug51920.result M /branches/5.1/mysql-test/innodb_bug51920.test branches/5.1: innodb_bug51920.test: Make the test quicker and more deterministic. Suggested by Vasil Dimov. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r6925 | mmakela | 2010-03-31 15:30:56 +0300 (Wed, 31 Mar 2010) | 9 lines branches/zip: Merge revisions 6921:6924 from branches/5.1: ------------------------------------------------------------------------ r6924 | mmakela | 2010-03-31 15:28:25 +0300 (Wed, 31 Mar 2010) | 1 line Changed paths: M /branches/5.1/mysql-test/innodb_bug51920.test branches/5.1: innodb_bug51920.test: Fix a race condition. ------------------------------------------------------------------------ ------------------------------------------------------------------------ |
||
sbains
|
f8f424da71 |
branches/innodb+: Create additional rollback segments on startup. Reduce
the upper limit of total rollback segments from 256 to 128. This is because we can't use the sign bit. It has not caused problems in the past because we only created one segment. InnoDB has always had the capability to use the additional rollback segments therefore this patch is backwards compatible. The only requirement to maintain backward compatibility has been to ensure that the additional segments are created after the double write buffer. This is to avoid breaking assumptions in the existing code. Fix Bug#26590 MySQL does not allow more than 1023 open transactions |
||
mmakela
|
f29b6ef029 |
branches/innodb+: btr_cur_search_to_nth_level(): Reduce the scope of node_ptr
and rearrange some code in order to eliminate an unwarranted "possibly uninitialized" warning that was reported by Sunny. rb://276 approved by Inaam Rana |
||
irana
|
9280ce1e05 |
branches/innodb+ rb://273
Don't allow master thread to flush pages if it has been less then a second since last iteration. Approved by: Marko |
||
mmakela
|
de541c9a9d |
branches/innodb+: ibuf_set_entry_counter(): Return FALSE
if the cursor is not positioned at or before a user record. Spotted by Sunny or his gcc, which noted that counter may be uninitialized. |
||
mmakela
|
efc82fb858 |
branches/innodb+: Buffer DELETE and purge on UNIQUE indexes. Sunny
noted that the check for ignore_secondary_unique might not be disabled for deletes. Indeed, I see no reason for the check to exist for deletes. btr_op_enum: Document the constants. Add BTR_INSERT_IGNORE_UNIQUE_OP. btr_cur_search_to_nth_level(): Remove the variable ignore_sec_unique. Use btr_op instead. Invoke ibuf_should_try() with ignore_sec_unique = (btr_op != BTR_INSERT_OP), that is, always ignore the UNIQUE constraint when buffering delete-mark and purge. BTR_IGNORE_SEC_UNIQUE: Note that the flag only makes sense in conjunction with BTR_INSERT. rb://274 approved by Sunny Bains. This addresses Issue #471. |
||
mmakela
|
66ed271969 |
branches/innodb+: btr_cur_search_to_nth_level(): Remove a bogus comment.
The adaptive hash index can be used when a buffered operation is requested, and the latch_mode check does not prevent it, because latch_mode does not contain any btr_op bits at this point. |
||
mmakela
|
8cf6771b05 |
branches/innodb+: Add debug assertions to track down Bug #52360.
hash_table_t::magic_n: Add HASH_TABLE_MAGIC_N checks, which were fully absent. ut_hash_ulint(): Assert table_size > 0 before division. |
||
mmakela
|
d08cd430ba |
branches/innodb+: Merge revisions 6853:6897 from branches/zip:
Skip r6860, which was merged from branches/innodb+ to branches/zip, and r6857, which is only applicable to branches/zip. ------------------------------------------------------------------------ r6858 | mmakela | 2010-03-23 14:09:24 +0200 (Tue, 23 Mar 2010) | 1 line Changed paths: M /branches/zip/handler/ha_innodb.cc branches/zip: innodb_read_ahead_threshold: Add missing space to help string. ------------------------------------------------------------------------ r6861 | vdimov | 2010-03-23 19:31:02 +0200 (Tue, 23 Mar 2010) | 36 lines Changed paths: M /branches/zip/trx/trx0i_s.c branches/zip: Merge joerg@mysql.com-20100322150231-vdq0afbqtmbs6phy from BZR, Including univ.i before mysql/plugin.h is needed to avoid this compiler error: o This is how gcc puts it: o > > ccache /usr/local/gcc-4.3.2/bin/gcc -static-libgcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -I../../include -I../../regex -I./include -I../../sql -I. -I../../zlib -g -O3 -march=i686 -DUNIV_LINUX -MT libinnobase_a-trx0i_s.o -MD -MP -MF .deps/libinnobase_a-trx0i_s.Tpo -c -o libinnobase_a-trx0i_s.o `test -f 'trx/trx0i_s.c' || echo './'`trx/trx0i_s.c o > > In file included from ./include/univ.i:114, o > > from trx/trx0i_s.c:36: o > > ../../include/my_pthread.h:628: error: expected ')' before '*' token o > > In file included from ../../include/my_pthread.h:732, o > > from ./include/univ.i:114, o > > from trx/trx0i_s.c:36: o > > ../../include/mysql/psi/mysql_thread.h💯 error: expected specifier-qualifier-list before 'pthread_rwlock_t' o > > ../../include/mysql/psi/mysql_thread.h:116: error: expected specifier-qualifier-list before 'pthread_rwlock_t' o > > ../../include/mysql/psi/mysql_thread.h: In function 'inline_mysql_rwlock_init': o > > ../../include/mysql/psi/mysql_thread.h:711: error: 'mysql_rwlock_t' has no member named 'm_psi' o > > ../../include/mysql/psi/mysql_thread.h:716: error: 'mysql_rwlock_t' has no member named 'm_rwlock' o > > .... ((continued)) o o Intel's icc gives slightly clearer messages: o > > icc -static-intel -static-libgcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -I../../include -I../../regex -I./include -I../../sql -I. -I../../zlib -O3 -g -unroll2 -ip -mp -restrict -no-ftz -no-prefetch -DUNIV_LINUX -MT libinnobase_a-trx0i_s.o -MD -MP -MF .deps/libinnobase_a-trx0i_s.Tpo -c -o libinnobase_a-trx0i_s.o `test -f 'trx/trx0i_s.c' || echo './'`trx/trx0i_s.c o > > ../../include/my_pthread.h(628): error: identifier "pthread_rwlock_t" is undefined o > > extern int rw_pr_init(rw_pr_lock_t *); o > > ^ o > > o > > ../../include/mysql/psi/mysql_thread.h(100): error: identifier "pthread_rwlock_t" is undefined o > > rw_lock_t m_rwlock; o > > ^ o > > o > > ../../include/mysql/psi/mysql_thread.h(116): error: identifier "pthread_rwlock_t" is undefined o > > rw_pr_lock_t m_prlock; o > > ^ ------------------------------------------------------------------------ r6864 | mmakela | 2010-03-24 14:05:53 +0200 (Wed, 24 Mar 2010) | 1 line Changed paths: M /branches/zip/include/data0type.ic branches/zip: dtype_new_store_for_order_and_null_size(): Add ut_ad() on mtype. ------------------------------------------------------------------------ r6868 | mmakela | 2010-03-25 13:03:08 +0200 (Thu, 25 Mar 2010) | 1 line Changed paths: M /branches/zip/page/page0page.c branches/zip: page_validate(): Check the buf[] bounds. ------------------------------------------------------------------------ r6871 | vdimov | 2010-03-25 16:39:44 +0200 (Thu, 25 Mar 2010) | 4 lines Changed paths: M /branches/zip/ChangeLog branches/zip: Whitespace fixup to be consistent with the rest of the file. ------------------------------------------------------------------------ r6872 | vdimov | 2010-03-25 17:03:17 +0200 (Thu, 25 Mar 2010) | 4 lines Changed paths: M /branches/zip/ChangeLog branches/zip: Fix ChangeLog - write only the bug title in bugs.mysql.com-related entires. ------------------------------------------------------------------------ r6873 | vdimov | 2010-03-25 17:06:56 +0200 (Thu, 25 Mar 2010) | 4 lines Changed paths: M /branches/zip/ChangeLog branches/zip: Use Bug#N instead of Bug #N to be consistent with the rest of the fil. ------------------------------------------------------------------------ r6874 | vdimov | 2010-03-25 17:17:52 +0200 (Thu, 25 Mar 2010) | 4 lines Changed paths: M /branches/zip/ChangeLog branches/zip: Wrap ChangeLog at 78th column ------------------------------------------------------------------------ r6875 | vdimov | 2010-03-25 18:18:15 +0200 (Thu, 25 Mar 2010) | 4 lines Changed paths: M /branches/zip/ChangeLog branches/zip: Wrap line at 78 column in ChangeLog. ------------------------------------------------------------------------ r6891 | vdimov | 2010-03-26 16:19:01 +0200 (Fri, 26 Mar 2010) | 5 lines Changed paths: M /branches/innodb+/buf/buf0buddy.c M /branches/innodb+/include/btr0btr.ic M /branches/innodb+/include/buf0buf.ic M /branches/innodb+/include/handler0alter.h M /branches/innodb+/include/mtr0mtr.ic M /branches/innodb+/include/pars0pars.h M /branches/innodb+/include/row0merge.h M /branches/innodb+/include/row0row.h M /branches/innodb+/include/row0sel.h M /branches/innodb+/include/row0types.h M /branches/innodb+/include/sync0rw.h M /branches/innodb+/include/ut0lst.h M /branches/innodb+/include/ut0ut.h M /branches/innodb+/os/os0thread.c M /branches/innodb+/pars/pars0pars.c M /branches/innodb+/plug.in M /branches/innodb+/row/row0purge.c M /branches/innodb+/row/row0row.c M /branches/innodb+/row/row0uins.c M /branches/innodb+/trx/trx0rec.c M /branches/innodb+/ut/ut0ut.c M /branches/innodb+_persistent_stats/buf/buf0buddy.c M /branches/innodb+_persistent_stats/include/btr0btr.ic M /branches/innodb+_persistent_stats/include/buf0buf.ic M /branches/innodb+_persistent_stats/include/handler0alter.h M /branches/innodb+_persistent_stats/include/mtr0mtr.ic M /branches/innodb+_persistent_stats/include/row0merge.h M /branches/innodb+_persistent_stats/include/row0row.h M /branches/innodb+_persistent_stats/include/row0sel.h M /branches/innodb+_persistent_stats/include/row0types.h M /branches/innodb+_persistent_stats/include/sync0rw.h M /branches/innodb+_persistent_stats/os/os0thread.c M /branches/innodb+_persistent_stats/plug.in M /branches/innodb+_persistent_stats/row/row0purge.c M /branches/innodb+_persistent_stats/row/row0row.c M /branches/innodb+_persistent_stats/row/row0uins.c M /branches/innodb+_persistent_stats/trx/trx0rec.c M /branches/performance_schema/buf/buf0buddy.c M /branches/performance_schema/buf/buf0flu.c M /branches/performance_schema/compile-innodb-debug M /branches/performance_schema/include/btr0btr.ic M /branches/performance_schema/include/buf0buf.ic M /branches/performance_schema/include/dict0boot.ic M /branches/performance_schema/include/dict0dict.h M /branches/performance_schema/include/os0file.ic M /branches/performance_schema/include/os0thread.h M /branches/performance_schema/include/row0sel.h M /branches/performance_schema/include/trx0purge.h M /branches/performance_schema/include/trx0sys.ic M /branches/performance_schema/include/ut0wqueue.h M /branches/performance_schema/lock/lock0iter.c M /branches/performance_schema/mem/mem0pool.c M /branches/performance_schema/os/os0thread.c M /branches/performance_schema/page/page0zip.c M /branches/performance_schema/que/que0que.c M /branches/performance_schema/read/read0read.c M /branches/performance_schema/row/row0purge.c M /branches/performance_schema/row/row0row.c M /branches/performance_schema/row/row0vers.c M /branches/performance_schema/sync/sync0arr.c M /branches/performance_schema/thr/thr0loc.c M /branches/performance_schema/trx/trx0rec.c M /branches/performance_schema/trx/trx0roll.c M /branches/performance_schema/trx/trx0undo.c M /branches/performance_schema/ut/ut0wqueue.c M /branches/perfschema/btr/btr0sea.c M /branches/perfschema/buf/buf0buddy.c M /branches/perfschema/buf/buf0flu.c M /branches/perfschema/compile-innodb-debug M /branches/perfschema/ha/hash0hash.c M /branches/perfschema/include/buf0buf.ic M /branches/perfschema/include/buf0flu.ic M /branches/perfschema/include/dict0boot.ic M /branches/perfschema/include/os0thread.h M /branches/perfschema/include/sync0rw.h M /branches/perfschema/include/sync0rw.ic M /branches/perfschema/include/sync0sync.ic M /branches/perfschema/mem/mem0pool.c M /branches/perfschema/os/os0thread.c M /branches/perfschema/page/page0zip.c M /branches/perfschema/que/que0que.c M /branches/perfschema/read/read0read.c M /branches/perfschema/row/row0purge.c M /branches/perfschema/row/row0vers.c M /branches/perfschema/sync/sync0arr.c M /branches/perfschema/sync/sync0rw.c M /branches/perfschema/thr/thr0loc.c M /branches/perfschema/trx/trx0purge.c M /branches/perfschema/trx/trx0rec.c M /branches/perfschema/trx/trx0roll.c M /branches/perfschema/trx/trx0undo.c M /branches/perfschema/ut/ut0wqueue.c M /branches/zip/buf/buf0buddy.c M /branches/zip/buf/buf0flu.c M /branches/zip/buf/buf0rea.c M /branches/zip/fil/fil0fil.c M /branches/zip/include/btr0btr.ic M /branches/zip/include/buf0buf.ic M /branches/zip/include/buf0flu.h M /branches/zip/include/data0type.ic M /branches/zip/include/mtr0mtr.ic M /branches/zip/include/row0sel.h M /branches/zip/include/sync0rw.h M /branches/zip/plug.in M /branches/zip/row/row0row.c M /branches/zip/trx/trx0i_s.c M /branches/zip/trx/trx0rec.c M /branches/zip/trx/trx0sys.c Non-functional change: update copyright year to 2010 of the files that have been modified after 2010-01-01 according to svn. for f in $(svn log -v -r{2010-01-01}:HEAD |grep "^ M " |cut -b 16- |sort -u) ; do sed -i "" -E 's/(Copyright \(c\) [0-9]{4},) [0-9]{4}, (.*Innobase Oy.+All Rights Reserved)/\1 2010, \2/' $f ; done ------------------------------------------------------------------------ r6897 | mmakela | 2010-03-29 11:36:19 +0300 (Mon, 29 Mar 2010) | 3 lines Changed paths: M /branches/zip/handler/ha_innodb.cc branches/zip: innodb_mutex_show_status(): Fix a condition that was accidentally negated in r6781, making SHOW ENGINE INNODB MUTEX STATUS display only locks with no OS waits. ------------------------------------------------------------------------ |
||
jyang
|
8610f05afe |
branches/innodb+: Merge branches/perfschema back into innodb+.
Check in code change for implementing Performace Schema in InnoDB. Objects in four different modules in InnoDB have been performance instrumented, these modules are: 1) mutexes 2) rwlocks 3) file I/O 4) threads We mostly preserved the existing APIs, but APIs would point to instrumented function wrappers if performance schema is defined. There are 4 different defines that controls the instrumentation of each module. The feature is off by default, and will be compiled in with special build option, and requre configure option to turn it on when server boots. For more detail design and functional information, please refer to performance schema wiki page. rb://270 approved by Marko Mäkelä |
||
mmakela
|
29a1b47c50 |
branches/innodb+: ibuf_get_volume_buffered(): Pass UT_ARR_SIZE(hash_bitmap)
in all calls to ibuf_get_volume_buffered_count(). This mistake was made in r6866 and caused the follow-up of Issue #470. |
||
vdimov
|
08598d7876 |
branches/innodb+:
Merge an error code from branches/innodb+_persistent_stats, that is used in ut_strerr(). |
||
vdimov
|
a5b61a207f |
Non-functional change: update copyright year to 2010 of the files
that have been modified after 2010-01-01 according to svn. for f in $(svn log -v -r{2010-01-01}:HEAD |grep "^ M " |cut -b 16- |sort -u) ; do sed -i "" -E 's/(Copyright \(c\) [0-9]{4},) [0-9]{4}, (.*Innobase Oy.+All Rights Reserved)/\1 2010, \2/' $f ; done |
||
vdimov
|
17898a0af4 |
branches/innodb+: Merge c6413 from branches/innodb+_persistent_stats:
------------------------------------------------------------------------ r6413 | vasil | 2010-01-11 15:18:35 +0200 (Mon, 11 Jan 2010) | 4 lines Changed paths: M /branches/innodb+_persistent_stats/include/pars0pars.h M /branches/innodb+_persistent_stats/pars/pars0pars.c branches/innodb+: Add a func to store uint64 Add a new function pars_info_add_uint64_literal() that adds a literal of type ib_uint64_t. ------------------------------------------------------------------------ |
||
vdimov
|
5971eab194 |
branches/innodb+: Merge c6464 from branches/innodb+_persistent_stats:
------------------------------------------------------------------------ r6464 | vasil | 2010-01-14 16:00:19 +0200 (Thu, 14 Jan 2010) | 8 lines Changed paths: M /branches/innodb+_persistent_stats/include/ut0ut.h M /branches/innodb+_persistent_stats/ut/ut0ut.c branches/innodb+: Implement ut_strerr() Implement a function that converts the DB_* error codes to a human readable text. The function is similar to strerror() but is not named ut_strerror() on purpose in order not to confuse it with a wrapper for strerror(). The ut_error on unknown error code was suggested by Marko, thanks! ------------------------------------------------------------------------ |
||
vdimov
|
33fc3e60a2 |
branches/innodb+: Merge c6504 from branches/innodb+_persistent_stats:
------------------------------------------------------------------------ r6504 | vasil | 2010-01-21 19:41:38 +0200 (Thu, 21 Jan 2010) | 3 lines Changed paths: M /branches/innodb+_persistent_stats/include/ut0lst.h branches/innodb+: Remove compiler warning the address of 'index1' will always evaluate as 'true' ------------------------------------------------------------------------ |
||
mmakela
|
f8e95d5968 | branches/innodb+: ibuf: Add page_validate() and page_align() assertions. | ||
mmakela
|
3fcec81d76 |
branches/innodb+: ibuf_merge_or_delete_for_page(): Simplify the code
and correct a comment. |
||
mmakela
|
c6d7cd6d67 |
branches/innodb+: ibuf_get_volume_buffered_hash(): Use ulint instead of byte
for the hash bitmap array. |
||
mmakela
|
665cb4c473 |
branches/innodb+: ibuf_get_volume_buffered_count(): Add IBUF_REC_INFO_SIZE
only once. This fixes Issue #470. |
||
mmakela
|
cf8df456bf | branches/innodb+: Replace InnoDB+ with MySQL 5.5 in ibuf comments. | ||
mmakela
|
b04d308173 |
branches/innodb+: Merge revisions 6801:6853 from branches/zip:
------------------------------------------------------------------------ r6805 | inaam | 2010-03-11 23:15:17 +0200 (Thu, 11 Mar 2010) | 6 lines Changed paths: M /branches/zip/os/os0file.c branches/zip issue#463 Fixed compiler warning about uninitialized variable. Non-functional change. ------------------------------------------------------------------------ r6828 | calvin | 2010-03-17 17:16:38 +0200 (Wed, 17 Mar 2010) | 7 lines Changed paths: M /branches/zip/CMakeLists.txt branches/zip: rename IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION in CMakeLists.txt. The rename was done as r5871, but CMakeLists.txt was forgotten. Also, add INNODB_RW_LOCKS_USE_ATOMICS to CMake. ------------------------------------------------------------------------ r6830 | marko | 2010-03-18 09:48:18 +0200 (Thu, 18 Mar 2010) | 3 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/include/buf0buf.ic branches/zip: buf_page_peek_if_too_old(): Use 32-bit arithmetics when comparing the age of access_time to buf_LRU_old_threshold_ms. This fixes a bug on 64-bit systems. ------------------------------------------------------------------------ r6840 | calvin | 2010-03-19 00:32:23 +0200 (Fri, 19 Mar 2010) | 6 lines Changed paths: M /branches/zip/CMakeLists.txt M /branches/zip/ChangeLog branches/zip: Fix Bug #52102 InnoDB Plugin shows performance drop comparing to builtin InnoDB (Windows only). Disable Windows atomics by default. Approved by: Inaam ------------------------------------------------------------------------ r6853 | marko | 2010-03-22 13:35:29 +0200 (Mon, 22 Mar 2010) | 1 line Changed paths: M /branches/zip/include/sync0rw.h M /branches/zip/include/sync0sync.h branches/zip: mutex_own(), rw_lock_own(): Add attribute((warn_unused_result)). ------------------------------------------------------------------------ |
||
marko
|
d02a2fb3aa |
branches/innodb+: buf_page_hash_get() returns NULL for watch sentinels.
Replace redundant !buf_pool_watch_is() conditions with ut_ad(). |
||
calvin
|
5c4ec32d29 | branches/innodb+: fix slash in innodb_change_buffering_basic.diff | ||
calvin
|
12bac120a4 |
branches/innodb+: update test case innodb_change_buffering_basic.
The valid values of innodb_change_buffering are 'inserts', 'deletes', 'changes', 'purges', 'all', and 'none', with default value 'all'. |
||
marko
|
56953f83e7 |
branches/innodb+: Merge revisions 6293:6797 from branches/plugin-1.1,
skipping the following revisions that were merges from branches/zip: r6543 r6775 ------------------------------------------------------------------------ r6749 | vasil | 2010-02-20 18:45:41 +0200 (Sat, 20 Feb 2010) | 5 lines Changed paths: M /branches/embedded-1.0/btr/btr0btr.c M /branches/embedded-1.0/btr/btr0cur.c M /branches/embedded-1.0/btr/btr0pcur.c M /branches/embedded-1.0/buf/buf0buf.c M /branches/embedded-1.0/buf/buf0flu.c M /branches/embedded-1.0/buf/buf0lru.c M /branches/embedded-1.0/dict/dict0boot.c M /branches/embedded-1.0/dict/dict0crea.c M /branches/embedded-1.0/dict/dict0dict.c M /branches/embedded-1.0/dict/dict0load.c M /branches/embedded-1.0/fil/fil0fil.c M /branches/embedded-1.0/fsp/fsp0fsp.c M /branches/embedded-1.0/ibuf/ibuf0ibuf.c M /branches/embedded-1.0/include/btr0btr.h M /branches/embedded-1.0/include/btr0cur.h M /branches/embedded-1.0/include/btr0pcur.h M /branches/embedded-1.0/include/btr0pcur.ic M /branches/embedded-1.0/include/buf0buf.h M /branches/embedded-1.0/include/buf0buf.ic M /branches/embedded-1.0/include/dict0boot.h M /branches/embedded-1.0/include/fil0fil.h M /branches/embedded-1.0/include/lock0lock.h M /branches/embedded-1.0/include/log0log.h M /branches/embedded-1.0/include/log0log.ic M /branches/embedded-1.0/include/log0recv.h M /branches/embedded-1.0/include/mem0dbg.h M /branches/embedded-1.0/include/mem0dbg.ic M /branches/embedded-1.0/include/mem0mem.h M /branches/embedded-1.0/include/mem0mem.ic M /branches/embedded-1.0/include/os0file.h M /branches/embedded-1.0/include/os0sync.h M /branches/embedded-1.0/include/os0sync.ic M /branches/embedded-1.0/include/os0thread.h M /branches/embedded-1.0/include/que0que.h M /branches/embedded-1.0/include/que0que.ic M /branches/embedded-1.0/include/row0merge.h M /branches/embedded-1.0/include/row0prebuilt.h M /branches/embedded-1.0/include/srv0srv.h M /branches/embedded-1.0/include/sync0sync.h M /branches/embedded-1.0/include/trx0rseg.h M /branches/embedded-1.0/include/trx0sys.h M /branches/embedded-1.0/include/trx0trx.h M /branches/embedded-1.0/include/trx0types.h M /branches/embedded-1.0/include/trx0undo.h M /branches/embedded-1.0/include/trx0xa.h M /branches/embedded-1.0/include/univ.i M /branches/embedded-1.0/include/ut0vec.h M /branches/embedded-1.0/include/ut0vec.ic M /branches/embedded-1.0/lock/lock0lock.c M /branches/embedded-1.0/log/log0log.c M /branches/embedded-1.0/log/log0recv.c M /branches/embedded-1.0/mem/mem0mem.c M /branches/embedded-1.0/os/os0file.c M /branches/embedded-1.0/os/os0thread.c M /branches/embedded-1.0/page/page0page.c M /branches/embedded-1.0/rem/rem0rec.c M /branches/embedded-1.0/row/row0ins.c M /branches/embedded-1.0/row/row0merge.c M /branches/embedded-1.0/row/row0prebuilt.c M /branches/embedded-1.0/row/row0sel.c M /branches/embedded-1.0/row/row0umod.c M /branches/embedded-1.0/row/row0undo.c M /branches/embedded-1.0/row/row0upd.c M /branches/embedded-1.0/srv/srv0srv.c M /branches/embedded-1.0/srv/srv0start.c M /branches/embedded-1.0/sync/sync0sync.c M /branches/embedded-1.0/trx/trx0sys.c M /branches/embedded-1.0/trx/trx0trx.c M /branches/embedded-1.0/trx/trx0undo.c M /branches/embedded-1.0/ut/ut0mem.c M /branches/innodb+/btr/btr0btr.c M /branches/innodb+/btr/btr0cur.c M /branches/innodb+/btr/btr0pcur.c M /branches/innodb+/buf/buf0buf.c M /branches/innodb+/buf/buf0lru.c M /branches/innodb+/dict/dict0crea.c M /branches/innodb+/dict/dict0dict.c M /branches/innodb+/dict/dict0load.c M /branches/innodb+/handler/ha_innodb.cc M /branches/innodb+/handler/ha_innodb.h M /branches/innodb+/handler/handler0alter.cc M /branches/innodb+/include/btr0btr.h M /branches/innodb+/include/btr0cur.h M /branches/innodb+/include/btr0pcur.h M /branches/innodb+/include/btr0pcur.ic M /branches/innodb+/include/buf0buf.h M /branches/innodb+/include/log0log.h M /branches/innodb+/include/mem0dbg.h M /branches/innodb+/include/mem0dbg.ic M /branches/innodb+/include/os0file.h M /branches/innodb+/include/row0mysql.h M /branches/innodb+/include/srv0srv.h M /branches/innodb+/include/sync0sync.h M /branches/innodb+/include/trx0trx.h M /branches/innodb+/lock/lock0lock.c M /branches/innodb+/log/log0log.c M /branches/innodb+/log/log0recv.c M /branches/innodb+/mem/mem0dbg.c M /branches/innodb+/os/os0file.c M /branches/innodb+/page/page0page.c M /branches/innodb+/row/row0ins.c M /branches/innodb+/row/row0mysql.c M /branches/innodb+/row/row0sel.c M /branches/innodb+/srv/srv0srv.c M /branches/innodb+/srv/srv0start.c M /branches/innodb+/sync/sync0sync.c M /branches/innodb+_metrics_table/btr/btr0btr.c M /branches/innodb+_metrics_table/buf/buf0buf.c M /branches/innodb+_metrics_table/buf/buf0flu.c M /branches/innodb+_metrics_table/dict/dict0crea.c M /branches/innodb+_metrics_table/dict/dict0dict.c M /branches/innodb+_metrics_table/dict/dict0load.c M /branches/innodb+_metrics_table/handler/ha_innodb.cc M /branches/innodb+_metrics_table/handler/ha_innodb.h M /branches/innodb+_metrics_table/handler/handler0alter.cc M /branches/innodb+_metrics_table/handler/i_s.cc M /branches/innodb+_metrics_table/handler/i_s.h M /branches/innodb+_metrics_table/include/mem0dbg.h M /branches/innodb+_metrics_table/include/mem0dbg.ic M /branches/innodb+_metrics_table/include/srv0mon.h M /branches/innodb+_metrics_table/include/srv0mon.ic M /branches/innodb+_metrics_table/include/srv0srv.h M /branches/innodb+_metrics_table/lock/lock0lock.c M /branches/innodb+_metrics_table/log/log0log.c M /branches/innodb+_metrics_table/mem/mem0dbg.c M /branches/innodb+_metrics_table/os/os0file.c M /branches/innodb+_metrics_table/page/page0zip.c M /branches/innodb+_metrics_table/row/row0mysql.c M /branches/innodb+_metrics_table/row/row0purge.c M /branches/innodb+_metrics_table/row/row0sel.c M /branches/innodb+_metrics_table/srv/srv0mon.c M /branches/innodb+_metrics_table/srv/srv0srv.c M /branches/innodb+_metrics_table/sync/sync0sync.c M /branches/innodb+_metrics_table/trx/trx0roll.c M /branches/innodb+_metrics_table/trx/trx0trx.c M /branches/innodb+_persistent_stats/btr/btr0btr.c M /branches/innodb+_persistent_stats/buf/buf0buf.c M /branches/innodb+_persistent_stats/data/data0type.c M /branches/innodb+_persistent_stats/dict/dict0boot.c M /branches/innodb+_persistent_stats/dict/dict0crea.c M /branches/innodb+_persistent_stats/dict/dict0dict.c M /branches/innodb+_persistent_stats/dict/dict0load.c M /branches/innodb+_persistent_stats/dict/dict0mem.c M /branches/innodb+_persistent_stats/fil/fil0fil.c M /branches/innodb+_persistent_stats/fsp/fsp0fsp.c M /branches/innodb+_persistent_stats/handler/ha_innodb.cc M /branches/innodb+_persistent_stats/handler/ha_innodb.h M /branches/innodb+_persistent_stats/handler/handler0alter.cc M /branches/innodb+_persistent_stats/ibuf/ibuf0ibuf.c M /branches/innodb+_persistent_stats/include/btr0pcur.h M /branches/innodb+_persistent_stats/include/btr0pcur.ic M /branches/innodb+_persistent_stats/include/db0err.h M /branches/innodb+_persistent_stats/include/dict0dict.h M /branches/innodb+_persistent_stats/include/dict0mem.h M /branches/innodb+_persistent_stats/include/ha_prototypes.h M /branches/innodb+_persistent_stats/include/lock0lock.h M /branches/innodb+_persistent_stats/include/log0log.h M /branches/innodb+_persistent_stats/include/log0recv.h M /branches/innodb+_persistent_stats/include/mem0dbg.h M /branches/innodb+_persistent_stats/include/mem0dbg.ic M /branches/innodb+_persistent_stats/include/os0file.h M /branches/innodb+_persistent_stats/include/pars0pars.h M /branches/innodb+_persistent_stats/include/srv0srv.h M /branches/innodb+_persistent_stats/include/sync0sync.h M /branches/innodb+_persistent_stats/include/trx0sys.h M /branches/innodb+_persistent_stats/include/trx0trx.h M /branches/innodb+_persistent_stats/include/ut0lst.h M /branches/innodb+_persistent_stats/include/ut0ut.h M /branches/innodb+_persistent_stats/lock/lock0lock.c M /branches/innodb+_persistent_stats/log/log0log.c M /branches/innodb+_persistent_stats/log/log0recv.c M /branches/innodb+_persistent_stats/mem/mem0dbg.c M /branches/innodb+_persistent_stats/os/os0file.c M /branches/innodb+_persistent_stats/page/page0page.c M /branches/innodb+_persistent_stats/pars/pars0pars.c M /branches/innodb+_persistent_stats/row/row0merge.c M /branches/innodb+_persistent_stats/row/row0mysql.c M /branches/innodb+_persistent_stats/row/row0sel.c M /branches/innodb+_persistent_stats/row/row0umod.c M /branches/innodb+_persistent_stats/row/row0upd.c M /branches/innodb+_persistent_stats/srv/srv0srv.c M /branches/innodb+_persistent_stats/srv/srv0start.c M /branches/innodb+_persistent_stats/sync/sync0sync.c M /branches/innodb+_persistent_stats/trx/trx0i_s.c M /branches/innodb+_persistent_stats/trx/trx0sys.c M /branches/innodb+_persistent_stats/trx/trx0trx.c M /branches/innodb+_persistent_stats/ut/ut0ut.c M /branches/innofts+/handler/ha_innodb.cc M /branches/innofts+/handler/i_s.cc M /branches/innofts+/handler/i_s.h M /branches/innofts+/include/fut0fut.h M /branches/performance_schema/btr/btr0sea.c M /branches/performance_schema/buf/buf0buf.c M /branches/performance_schema/dict/dict0dict.c M /branches/performance_schema/fil/fil0fil.c M /branches/performance_schema/handler/ha_innodb.cc M /branches/performance_schema/include/srv0srv.h M /branches/performance_schema/include/sync0rw.h M /branches/performance_schema/include/sync0rw.ic M /branches/performance_schema/include/sync0sync.h M /branches/performance_schema/include/sync0sync.ic M /branches/performance_schema/include/sync0types.h M /branches/performance_schema/log/log0log.c M /branches/performance_schema/srv/srv0srv.c M /branches/performance_schema/sync/sync0rw.c M /branches/performance_schema/trx/trx0i_s.c M /branches/performance_schema/trx/trx0purge.c M /branches/plugin-2.0/buf/buf0buf.c M /branches/plugin-2.0/buf/buf0lru.c M /branches/plugin-2.0/dict/dict0boot.c M /branches/plugin-2.0/dict/dict0crea.c M /branches/plugin-2.0/dict/dict0dict.c M /branches/plugin-2.0/dict/dict0load.c M /branches/plugin-2.0/dict/dict0mem.c M /branches/plugin-2.0/fil/fil0fil.c M /branches/plugin-2.0/fsp/fsp0fsp.c M /branches/plugin-2.0/handler/ha_innodb.cc M /branches/plugin-2.0/handler/ha_innodb.h M /branches/plugin-2.0/handler/handler0alter.cc M /branches/plugin-2.0/ibuf/ibuf0ibuf.c M /branches/plugin-2.0/include/dict0mem.h M /branches/plugin-2.0/include/ha_prototypes.h M /branches/plugin-2.0/include/lock0lock.h M /branches/plugin-2.0/include/log0log.h M /branches/plugin-2.0/include/log0recv.h M /branches/plugin-2.0/include/mem0dbg.h M /branches/plugin-2.0/include/mem0dbg.ic M /branches/plugin-2.0/include/os0file.h M /branches/plugin-2.0/include/row0mysql.h M /branches/plugin-2.0/include/srv0srv.h M /branches/plugin-2.0/include/sync0sync.h M /branches/plugin-2.0/include/trx0sys.h M /branches/plugin-2.0/include/trx0trx.h M /branches/plugin-2.0/lock/lock0lock.c M /branches/plugin-2.0/log/log0log.c M /branches/plugin-2.0/log/log0recv.c M /branches/plugin-2.0/mem/mem0dbg.c M /branches/plugin-2.0/os/os0file.c M /branches/plugin-2.0/page/page0page.c M /branches/plugin-2.0/row/row0merge.c M /branches/plugin-2.0/row/row0mysql.c M /branches/plugin-2.0/row/row0sel.c M /branches/plugin-2.0/row/row0umod.c M /branches/plugin-2.0/row/row0upd.c M /branches/plugin-2.0/srv/srv0srv.c M /branches/plugin-2.0/srv/srv0start.c M /branches/plugin-2.0/sync/sync0sync.c M /branches/plugin-2.0/trx/trx0i_s.c M /branches/plugin-2.0/trx/trx0sys.c M /branches/plugin-2.0/trx/trx0trx.c M /branches/zip/btr/btr0btr.c M /branches/zip/btr/btr0cur.c M /branches/zip/btr/btr0pcur.c M /branches/zip/buf/buf0buf.c M /branches/zip/buf/buf0lru.c M /branches/zip/dict/dict0boot.c M /branches/zip/dict/dict0crea.c M /branches/zip/dict/dict0dict.c M /branches/zip/dict/dict0load.c M /branches/zip/fsp/fsp0fsp.c M /branches/zip/handler/ha_innodb.cc M /branches/zip/handler/ha_innodb.h M /branches/zip/handler/handler0alter.cc M /branches/zip/include/btr0btr.h M /branches/zip/include/btr0cur.h M /branches/zip/include/btr0pcur.h M /branches/zip/include/btr0pcur.ic M /branches/zip/include/buf0buf.h M /branches/zip/include/dict0boot.h M /branches/zip/include/fil0fil.h M /branches/zip/include/log0log.h M /branches/zip/include/log0log.ic M /branches/zip/include/log0recv.h M /branches/zip/include/mem0dbg.h M /branches/zip/include/mem0dbg.ic M /branches/zip/include/mem0mem.h M /branches/zip/include/mem0mem.ic M /branches/zip/include/os0file.h M /branches/zip/include/que0que.h M /branches/zip/include/que0que.ic M /branches/zip/include/row0mysql.h M /branches/zip/include/srv0srv.h M /branches/zip/include/sync0sync.h M /branches/zip/include/trx0rseg.h M /branches/zip/include/trx0trx.h M /branches/zip/include/trx0types.h M /branches/zip/include/univ.i M /branches/zip/lock/lock0lock.c M /branches/zip/log/log0log.c M /branches/zip/log/log0recv.c M /branches/zip/mem/mem0dbg.c M /branches/zip/mem/mem0mem.c M /branches/zip/os/os0file.c M /branches/zip/page/page0page.c M /branches/zip/rem/rem0rec.c M /branches/zip/row/row0ins.c M /branches/zip/row/row0merge.c M /branches/zip/row/row0mysql.c M /branches/zip/row/row0sel.c M /branches/zip/row/row0umod.c M /branches/zip/srv/srv0srv.c M /branches/zip/srv/srv0start.c M /branches/zip/sync/sync0sync.c M /branches/zip/trx/trx0rseg.c M /branches/zip/trx/trx0trx.c Non-functional change: update copyright year to 2010 of the files that have been modified after 2010-01-01 according to svn. for f in $(svn log -v -r{2010-01-01}:HEAD |grep "^ M " |cut -b 16- |sort -u) ; do sed -i "" -E 's/(Copyright \(c\) [0-9]{4},) [0-9]{4}, (.*Innobase Oy.+All Rights Reserved)/\1 2010, \2/' $f ; done ------------------------------------------------------------------------ r6795 | calvin | 2010-03-11 06:29:35 +0200 (Thu, 11 Mar 2010) | 4 lines Changed paths: M /branches/plugin-2.0/CMakeLists.txt branches/plugin-2.0: take the CMake file from MySQL. The CMake files are significantly changed in MySQL 5.5 to have cross-platform support. ------------------------------------------------------------------------ r6796 | calvin | 2010-03-11 06:38:24 +0200 (Thu, 11 Mar 2010) | 4 lines Changed paths: A /branches/plugin-1.1 (from /branches/plugin-2.0:6795) D /branches/plugin-2.0 branches/plugin-1.1: Rename the branch from plugin-2.0 to plugin-1.1, to be used with MySQL 5.5. ------------------------------------------------------------------------ r6797 | calvin | 2010-03-11 06:45:29 +0200 (Thu, 11 Mar 2010) | 4 lines Changed paths: M /branches/plugin-1.1/include/univ.i branches/plugin-1.1: change the version number to 1.1.0. ------------------------------------------------------------------------ |
||
jyang
|
2c6522503d |
Undo create perfschema branch under innodb+.
Created the actual perfschema branch at https://svn.innodb.com/svn/innodb/branches/perfschema |
||
jyang
|
024216da04 | Implement Performance Schema in InnoDB. | ||
marko
|
c158c47a4c |
branches/innodb+: btr_cur_search_to_nth_level(): Treat BTR_DELETE in
the same way as BTR_INSERT and BTR_DELETE_MARK: only perform (buffer) the operation when the page is not in the buffer pool. BTR_INSERT, BTR_DELETE_MARK, BTR_DELETE: Make the documentation say that these flags are ignored when the page is in the buffer pool. enum row_search_result: Remove ROW_NOT_DELETED, which BTR_CUR_DELETE_FAILED was mapped to. enum btr_cur_method: Remove BTR_CUR_DELETE_FAILED. The btr_cur_search_to_nth_level() will no longer attempt to execute the BTR_DELETE when the page is in the buffer pool. row_search_index_entry(): Remove the mapping from BTR_CUR_DELETE_FAILED to ROW_NOT_DELETED. The caller will have to attempt purge when the record is in the buffer pool. row_purge_remove_sec_if_poss_leaf(): Attempt to purge the record if it was found in the buffer pool. This addresses Issue #466. rb://268 |
||
vasil
|
95567a7534 |
branches/innodb+:
Say "InnoDB" instead of "InnoDB+" at startup, this is going to be the builtin InnoDB in MySQL 5.5. |
||
inaam
|
a85f3fcec1 |
branches/innodb+
Fix compiler warning |
||
calvin
|
cd9fddd8e1 |
branches/innodb+: Merge revisions 6238:6293 from branches/plugin-1.1
which was cloned from branches/zip revision 6237 as branches/plugin-2.0, in order to work with MySQL 5.5. Skip revision 6240: update the version number to 2.0.0 ------------------------------------------------------------------------ r6290 | calvin | 2009-12-10 02:26:45 -0600 (Thu, 10 Dec 2009) | 26 lines branches/plugin-2.0: merge of r2877 from MySQL This is r2877 in mysql-next-mr tree, backported from 6.0. ------------------------------------------------------------- Bug#24509 - 2048 file descriptor limit on windows needs increasing, also WL#3049 - improved Windows I/O The patch replaces the use of the POSIX I/O interfaces in mysys on Windows with the Win32 API calls (CreateFile, WriteFile, etc). The Windows HANDLE for the open file is stored in the my_file_info struct, along with a flag for append mode because the Windows API does not support opening files in append mode in all cases) The default max open files has been increased to 16384 and can be increased further by setting --max-open-files=<value> during the server start. Another major change in this patch that almost all Windows specific file IO code has been moved to a new file my_winfile.c, greatly reducing the amount of code in #ifdef blocks within mysys, thus improving readability. Minor enhancements: - my_(f)stat() is changed to use __stati64 structure with 64 file size and timestamps. It will return correct file size now (C runtime implementation used to report outdated information) - my_lock on Windows is prepared to handle additional timeout parameter - after review : changed __WIN__ to _WIN32 in the new and changed code. ------------------------------------------------------------------------ r6291 | calvin | 2009-12-10 02:31:27 -0600 (Thu, 10 Dec 2009) | 14 lines branches/plugin-2.0: merge of r2887.3.31 from MySQL This is r2887.3.31 in mysql-next-mr tree, backported from 6.0. Backport of: ---------------------------------------------------------- revno: 2630.22.8 committer: Konstantin Osipov <konstantin@mysql.com> branch nick: mysql-6.0-runtime timestamp: Sun 2008-08-10 18:49:52 +0400 message: Get rid of typedef struct for the most commonly used types: TABLE, TABLE_SHARE, LEX. This simplifies use of tags and forward declarations. ------------------------------------------------------------------------ r6292 | calvin | 2009-12-10 02:40:55 -0600 (Thu, 10 Dec 2009) | 41 lines branches/plugin-2.0: merge of r2936 from MySQL This is r2936 in mysql-next-mr tree, backported from 6.0. Backport of: ------------------------------------------------------------- revno: 2877 committer: Davi Arnaut <Davi.Arnaut@Sun.COM> branch nick: 35164-6.0 timestamp: Wed 2008-10-15 19:53:18 -0300 message: Bug#35164: Large number of invalid pthread_attr_setschedparam calls Bug#37536: Thread scheduling causes performance degradation at low thread count Bug#12702: Long queries take 100% of CPU and freeze other applications under Windows The problem is that although having threads with different priorities yields marginal improvements [1] in some platforms [2], relying on some statically defined priorities (QUERY_PRIOR and WAIT_PRIOR) to play well (or to work at all) with different scheduling practices and disciplines is, at best, a shot in the dark as the meaning of priority values may change depending on the scheduling policy set for the process. Another problem is that increasing priorities can hurt other concurrent (running on the same hardware) applications (such as AMP) by causing starvation problems as MySQL threads will successively preempt lower priority processes. This can be evidenced by Bug#12702. The solution is to not change the threads priorities and rely on the system scheduler to perform its job. This also enables a system admin to increase or decrease the scheduling priority of the MySQL process, if intended. Furthermore, the internal wrappers and code for changing the priority of threads is being removed as they are now unused and ancient. 1. Due to unintentional side effects. On Solaris this could artificially help benchmarks as calling the priority changing syscall millions of times is more beneficial than the actual setting of the priority. 2. Where it actually works. It has never worked on Linux as the default scheduling policy SCHED_OTHER only accepts the static priority 0. ------------------------------------------------------------------------ r6293 | calvin | 2009-12-10 02:45:27 -0600 (Thu, 10 Dec 2009) | 13 lines branches/plugin-2.0: merge of r2938 from MySQL This is r2938 in mysql-next-mr tree, backported from 6.0. Backport of: ---------------------------------------------------------------------- ChangeSet@1.2571, 2008-04-08 12:30:06+02:00, vvaintroub@wva. +122 -0 Bug#32082 : definition of VOID in my_global.h conflicts with Windows SDK headers VOID macro is now removed. Its usage is replaced with void cast. In some cases, where cast does not make much sense (pthread_*, printf, hash_delete, my_seek), cast is ommited. ------------------------------------------------------------------------ |
||
calvin
|
4a8e2c1496 | branches/innodb+: change the version number to 1.1.0. | ||
calvin
|
5c8d7e1948 |
branches/innodb+: merge the CMake file changes from MySQL.
The CMake files are significantly changed in MySQL 5.5 to have cross-platform support. |
||
marko
|
83d2cd7a62 |
branches/innodb+: Merge revisions 6773:6801 from branches/zip:
------------------------------------------------------------------------ r6777 | marko | 2010-03-04 13:01:25 +0200 (Thu, 04 Mar 2010) | 2 lines Changed paths: M /branches/zip/trx/trx0rec.c branches/zip: trx_undo_update_rec_get_update(): Silence a bogus GCC warning about a possibly uninitialized variable. ------------------------------------------------------------------------ r6779 | marko | 2010-03-08 14:35:42 +0200 (Mon, 08 Mar 2010) | 6 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/fil/fil0fil.c branches/zip: Fix IMPORT TABLESPACE of compressed tables. Previously, a wrong parameter was passed to buf_flush_init_for_writing(). fil_reset_too_high_lsns(): Set up page_zip and use it if needed. rb://264, Issue #352 ------------------------------------------------------------------------ r6781 | marko | 2010-03-09 09:41:08 +0200 (Tue, 09 Mar 2010) | 4 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc branches/zip: Make SHOW ENGINE INNODB MUTEX display SUM(os_waits) for block mutexes and blocks. Designed by Michael and Marko. rb://188, Issue #358 ------------------------------------------------------------------------ r6782 | marko | 2010-03-09 14:09:26 +0200 (Tue, 09 Mar 2010) | 1 line Changed paths: M /branches/zip/fil/fil0fil.c branches/zip: fil0fil.c: Update comments on table->flags as of r6252. ------------------------------------------------------------------------ r6786 | vasil | 2010-03-10 09:16:50 +0200 (Wed, 10 Mar 2010) | 4 lines Changed paths: M /branches/zip/mysql-test/innodb-consistent.test branches/zip: Fix typo in comment ------------------------------------------------------------------------ r6787 | marko | 2010-03-10 10:35:06 +0200 (Wed, 10 Mar 2010) | 10 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/log/log0recv.c branches/zip: recv_parse_log_rec(): Remove a bogus assertion about page_no. TODO: We might also consider removing recv_max_parsed_page_no, because it does not make much sense with *.ibd files. recv_report_corrupt_log(), recv_scan_log_recs(): Abort when a corrupted log record has been found, unless innodb_force_recovery has been set. This fixes Issue #464. rb://265 approved by Heikki Tuuri ------------------------------------------------------------------------ r6789 | jyang | 2010-03-10 11:18:18 +0200 (Wed, 10 Mar 2010) | 10 lines Changed paths: M /branches/zip/handler/ha_innodb.cc M /branches/zip/handler/handler0alter.cc A /branches/zip/mysql-test/innodb_bug51378.result A /branches/zip/mysql-test/innodb_bug51378.test branches/zip: If a unique index is on a column prefix, such unique index cannot be upgrade to primary index even if there is no primary index already defined. Also fix possible corruption when initialize "ref_length" value in case there is a mismatch between MySQL and InnoDB primary key. Fix bug #51378: "Init 'ref_length' to correct value, in case an out of bound MySQL primary_key". rb://262 approved by Marko. ------------------------------------------------------------------------ r6790 | jyang | 2010-03-10 13:09:41 +0200 (Wed, 10 Mar 2010) | 7 lines Changed paths: M /branches/zip/handler/ha_innodb.cc branches/zip: Fix bug #51356: "many valgrind errors in error messages with concurrent ddl". Null terminate the name string returned from innobase_convert_identifier() call when reporting DB_DUPLICATE_KEY error in create_table_def(). rb://266 approved by Marko ------------------------------------------------------------------------ r6791 | marko | 2010-03-10 13:39:06 +0200 (Wed, 10 Mar 2010) | 1 line Changed paths: M /branches/zip/ChangeLog branches/zip: Add ChangeLog entries for r6789, r6790. ------------------------------------------------------------------------ r6792 | marko | 2010-03-10 13:56:41 +0200 (Wed, 10 Mar 2010) | 1 line Changed paths: A /branches/zip/mysql-test/innodb_bug38231.result (from /branches/5.1/mysql-test/innodb_bug38231.result:6791) A /branches/zip/mysql-test/innodb_bug38231.test (from /branches/5.1/mysql-test/innodb_bug38231.test:6791) A /branches/zip/mysql-test/innodb_bug39438-master.opt (from /branches/5.1/mysql-test/innodb_bug39438-master.opt:6791) A /branches/zip/mysql-test/innodb_bug39438.result (from /branches/5.1/mysql-test/innodb_bug39438.result:6791) A /branches/zip/mysql-test/innodb_bug39438.test (from /branches/5.1/mysql-test/innodb_bug39438.test:6791) branches/zip: Copy tests from branches/5.1 that were lost in some merge. ------------------------------------------------------------------------ r6793 | marko | 2010-03-10 14:02:19 +0200 (Wed, 10 Mar 2010) | 60 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug21704.result A /branches/zip/mysql-test/innodb_bug47621.result (from /branches/5.1/mysql-test/innodb_bug47621.result:6788) A /branches/zip/mysql-test/innodb_bug47621.test (from /branches/5.1/mysql-test/innodb_bug47621.test:6788) M /branches/zip/plug.in M /branches/zip/trx/trx0sys.c branches/zip: Merge revisions 6669:6788 from branches/5.1: ------------------------------------------------------------------------ r6774 | calvin | 2010-03-03 23:56:10 +0200 (Wed, 03 Mar 2010) | 2 lines Changed paths: M /branches/5.1/trx/trx0sys.c branches/5.1: fix bug#51653: outdated reference to set-variable Non functional change. ------------------------------------------------------------------------ r6780 | vasil | 2010-03-08 19:13:20 +0200 (Mon, 08 Mar 2010) | 4 lines Changed paths: M /branches/5.1/plug.in branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r6783 | jyang | 2010-03-09 17:54:14 +0200 (Tue, 09 Mar 2010) | 9 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug47621.result A /branches/5.1/mysql-test/innodb_bug47621.test branches/5.1: Fix bug #47621 "MySQL and InnoDB data dictionaries will become out of sync when renaming columns". MySQL does not provide new column name information to storage engine to update the system table. To avoid column name mismatch, we shall just request a table copy for now. rb://246 approved by Marko. ------------------------------------------------------------------------ r6785 | vasil | 2010-03-10 09:04:38 +0200 (Wed, 10 Mar 2010) | 11 lines Changed paths: M /branches/5.1/mysql-test/innodb_bug38231.test branches/5.1: Add the missing --reap statements in innodb_bug38231.test. Probably MySQL enforced the presence of those recently and the test started failing like: main.innodb_bug38231 [ fail ] Test ended at 2010-03-10 08:48:32 CURRENT_TEST: main.innodb_bug38231 mysqltest: At line 49: Cannot run query on connection between send and reap ------------------------------------------------------------------------ r6788 | vasil | 2010-03-10 10:53:21 +0200 (Wed, 10 Mar 2010) | 8 lines Changed paths: M /branches/5.1/mysql-test/innodb_bug38231.test branches/5.1: In innodb_bug38231.test: replace the fragile sleep 0.2 that depends on timing with a more robust condition which waits for the TRUNCATE and LOCK commands to appear in information_schema.processlist. This could also break if there are other sessions executing the same SQL commands, but there are none during the execution of the mysql test. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r6798 | marko | 2010-03-11 09:53:01 +0200 (Thu, 11 Mar 2010) | 14 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/include/buf0buf.h M /branches/zip/include/buf0buf.ic branches/zip: Fix and clarify the latching of some buf_block_t members. buf_block_t::check_index_page_at_flush: Note that this field is not protected by any mutex. Make it a separate field, not a bitfield that could share the machine word with other fields. buf_block_t::lock_hash_val: Note that this field is protected by buf_block_t::lock (or during block creation, by buf_pool_mutex and buf_block_t::mutex). buf_block_get_lock_hash_val(): Assert that block->lock is held by the current thread. Issue #465, rb://267 approved by Inaam Rana ------------------------------------------------------------------------ r6799 | jyang | 2010-03-11 09:59:42 +0200 (Thu, 11 Mar 2010) | 5 lines Changed paths: M /branches/zip/mysql-test/innodb_bug44571.result M /branches/zip/mysql-test/innodb_bug44571.test branches/zip: Once change in bug #47621 merges into zip branch, zip only test innodb_bug44571 needs to be updated to reflect the column name change would be successful be done in InnoDB as well. ------------------------------------------------------------------------ r6800 | marko | 2010-03-11 12:02:57 +0200 (Thu, 11 Mar 2010) | 1 line Changed paths: M /branches/zip/btr/btr0pcur.c M /branches/zip/buf/buf0buf.c M /branches/zip/include/mtr0mtr.ic branches/zip: Add ut_ad(mtr->state == MTR_ACTIVE) to various places. ------------------------------------------------------------------------ r6801 | marko | 2010-03-11 13:34:28 +0200 (Thu, 11 Mar 2010) | 2 lines Changed paths: M /branches/zip/include/mtr0mtr.ic branches/zip: mtr_memo_contains(): Relax the assertion of r6800, allowing mtr->state == MTR_COMMITTING. ------------------------------------------------------------------------ |
||
marko
|
6429bcd555 |
ibuf_merge_or_delete_for_page(): Fix inappropriate latching of pages
when merging a purge (IBUF_OP_DELETE). This bug was introduced in r6772. |
||
marko
|
b1143bcda9 |
branches/innodb+: buf_page_init(): Fix a bug in r6794
that caused a SIGSEGV on compressed pages (block==NULL dereferenced). |
||
marko
|
3d9f3eed61 |
branches/innodb+: Implement the buf_pool_watch for DeleteBuffering in
the page hash table. This serves two purposes. It allows multiple watches to be set at the same time (by multiple purge threads) and it removes a race condition when the read of a block completes about the time the buffer pool watch is being set. buf_pool_watch_clear(): Rename to buf_pool_watch_unset(). Add parameters space, offset. buf_pool_watch_remove(): A helper function for removing the watch. buf_pool_watch_is(): A predicate for testing if a block descriptor is a sentinel for the buffer pool watch. buf_pool_watch[BUF_POOL_WATCH_SIZE]: An array of sentinel block descriptors. buf_pool_watch_set(): Add a parameter for the fold value, and return the block if the block is in the buffer pool. Allocate the sentinel from buf_pool_watch[] if needed. Use buf_fix_count for reference-counting. enum buf_block_state: Add BUF_BLOCK_POOL_WATCH as a state alias that is shared with BUF_BLOCK_ZIP_FREE. buf_page_hash_get_low(): A low-level variant of buf_page_hash_get() that takes the fold value as a parameter and may return a watch sentinel block. In callers, test the return value for buf_pool_watch_is() [impossible cases with ut_ad(), possible ones with if]. When needed, invoke buf_pool_watch_remove() but preserve the buf_fix_count. buf_page_hash_get(), buf_block_hash_get(): Return NULL for watch sentinel blocks, to keep existing behaviour. buf_page_init(): Add a parameter for the fold value. ibuf_insert(): If a buffer pool watch exists for the block, refuse to buffer subsequent operations, so that the purge that is being buffered will not "overtake" later requests. Previously, we would notify the watch in this case. Either way, the block would be read to the buffer pool. In the current design, we can only notify the watch by actually setting up a real block in buf_pool->page_hash. rb://263 approved by Inaam Rana |
||
marko
|
227df33ed6 |
branches/innodb+: Merge revisions 6560:6773 from branches/zip:
------------------------------------------------------------------------ r6560 | sunny | 2010-02-04 16:11:23 +0200 (Thu, 04 Feb 2010) | 7 lines Changed paths: M /branches/zip/lock/lock0lock.c branches/zip: Remove the additional check introduced in r6534 which tries to check if the joining transaction has any other transactions waiting on its locks. This optimization results in excessive deadlocks when running Sysbench with a large number of threads. The function seems to return FALSE positives. rb://250 ------------------------------------------------------------------------ r6591 | marko | 2010-02-08 10:06:39 +0200 (Mon, 08 Feb 2010) | 3 lines Changed paths: M /branches/zip/row/row0merge.c branches/zip: row_merge_drop_index(): Remove redundant condition on SYS_INDEXES.TABLE_ID. INDEX_ID must be instance-widely unique, because SYS_FIELDS is not indexed by TABLE_ID. ------------------------------------------------------------------------ r6594 | marko | 2010-02-08 12:55:04 +0200 (Mon, 08 Feb 2010) | 2 lines Changed paths: M /branches/zip/rem/rem0rec.c branches/zip: rec_get_nth_field_offs_old(): Replace if (!cond) ut_error; tests with ut_a(cond). ------------------------------------------------------------------------ r6595 | marko | 2010-02-08 13:53:02 +0200 (Mon, 08 Feb 2010) | 1 line Changed paths: M /branches/zip/include/btr0pcur.h M /branches/zip/include/btr0pcur.ic branches/zip: btr_pcur_commit(): Unused function, remove. ------------------------------------------------------------------------ r6608 | marko | 2010-02-09 11:02:37 +0200 (Tue, 09 Feb 2010) | 1 line Changed paths: M /branches/zip/handler/handler0alter.cc branches/zip: ha_innobase::add_index(): Check for !innodb_table. ------------------------------------------------------------------------ r6609 | marko | 2010-02-09 13:45:40 +0200 (Tue, 09 Feb 2010) | 1 line Changed paths: M /branches/zip/dict/dict0dict.c branches/zip: dict_field_print_low(): Add const qualifier. ------------------------------------------------------------------------ r6610 | marko | 2010-02-09 13:53:59 +0200 (Tue, 09 Feb 2010) | 17 lines Changed paths: M /branches/zip/dict/dict0boot.c M /branches/zip/include/dict0boot.h M /branches/zip/row/row0merge.c M /branches/zip/row/row0mysql.c branches/zip: When dropping temporary indexes and tables at startup, first load them to the data dictionary cache and use the normal routines for dropping tables or indexes. This should reduce the risk of bugs and also make the code compatible with the upcoming TablespaceDictionary implementation. DICT_SYS_INDEXES_NAME_FIELD: The clustered index position of SYS_INDEXES.NAME. row_merge_drop_temp_indexes(): Scan SYS_INDEXES for tables containing temporary indexes, and load the tables as needed. Invoke row_merge_drop_index() to drop the indexes. row_mysql_drop_temp_tables(): Scan SYS_TABLES for temporary tables, load them with dict_load_table() and drop them with row_drop_table_for_mysql(). rb://251, not yet reviewed ------------------------------------------------------------------------ r6611 | marko | 2010-02-09 14:28:25 +0200 (Tue, 09 Feb 2010) | 11 lines Changed paths: M /branches/zip/include/log0recv.h M /branches/zip/log/log0recv.c M /branches/zip/srv/srv0start.c branches/zip: Roll back dictionary transaction(s) before scanning *.ibd files innobase_start_or_create_for_mysql(): Roll back data dictionary transactions before scanning the *.ibd files. Then, data dictionary records can be loaded to the cache before opening the *.ibd files. recv_recovery_rollback_active(): Refactored from recv_recovery_from_checkpoint_finish(). rb://235, committing without review, because this is needed for TablespaceDictionary. ------------------------------------------------------------------------ r6612 | marko | 2010-02-09 14:32:39 +0200 (Tue, 09 Feb 2010) | 3 lines Changed paths: M /branches/zip/log/log0recv.c branches/zip: recv_recovery_rollback_active(): Drop the temporary tables and indexes after enabling sync order checks. This should not make any difference. This could have been done in r6611. ------------------------------------------------------------------------ r6614 | inaam | 2010-02-09 20:26:23 +0200 (Tue, 09 Feb 2010) | 7 lines Changed paths: M /branches/zip/srv/srv0srv.c branches/plugin rb://242 Let the master thread sleep if the amount of work to be done is calibrated as taking less than a second. Approved by: Heikki ------------------------------------------------------------------------ r6631 | marko | 2010-02-10 09:19:52 +0200 (Wed, 10 Feb 2010) | 1 line Changed paths: M /branches/zip/ChangeLog branches/zip: Document r6614 in ChangeLog. ------------------------------------------------------------------------ r6633 | marko | 2010-02-10 10:40:55 +0200 (Wed, 10 Feb 2010) | 31 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/buf/buf0buf.c M /branches/zip/lock/lock0lock.c branches/zip: Merge revisions 6538:6613 from branches/5.1: ------------------------------------------------------------------------ r6545 | jyang | 2010-02-03 03:57:32 +0200 (Wed, 03 Feb 2010) | 8 lines Changed paths: M /branches/5.1/lock/lock0lock.c branches/5.1: Fix bug #49001, "SHOW INNODB STATUS deadlock info incorrect when deadlock detection aborts". Print the correct lock owner when recursive function lock_deadlock_recursive() exceeds its maximum depth LOCK_MAX_DEPTH_IN_DEADLOCK_CHECK. rb://217, approved by Marko. ------------------------------------------------------------------------ r6613 | inaam | 2010-02-09 20:23:09 +0200 (Tue, 09 Feb 2010) | 11 lines Changed paths: M /branches/5.1/buf/buf0buf.c M /branches/5.1/buf/buf0rea.c M /branches/5.1/include/buf0rea.h branches/5.1: Fix Bug #38901 InnoDB logs error repeatedly when trying to load page into buffer pool In buf_page_get_gen() if we are unable to read a page (because of corruption or some other reason) we keep on retrying. This fills up error log with millions of entries in no time and we'd eventually run out of disk space. This patch limits the number of attempts that we make (currently set to 100) and after that we abort with a message. rb://241 Approved by: Heikki ------------------------------------------------------------------------ ------------------------------------------------------------------------ r6635 | marko | 2010-02-10 11:07:05 +0200 (Wed, 10 Feb 2010) | 4 lines Changed paths: M /branches/zip/row/row0sel.c branches/zip: Clean up after r6559. Now that btr_pcur_open_with_no_init() is a macro, do not mix preprocessor directives in the macro invocation, because it is implementation-defined whether that is going to work. ------------------------------------------------------------------------ r6639 | marko | 2010-02-10 13:11:04 +0200 (Wed, 10 Feb 2010) | 1 line Changed paths: M /branches/zip/include/trx0rseg.h M /branches/zip/trx/trx0rseg.c branches/zip: trx_rseg_create(): Unused function, remove. ------------------------------------------------------------------------ r6660 | marko | 2010-02-11 11:21:11 +0200 (Thu, 11 Feb 2010) | 7 lines Changed paths: M /branches/zip/row/row0umod.c branches/zip: Clarify the rollback of INSERT by UPDATE of delete-marked rec. row_undo_mod_remove_clust_low(): Augment the function comment. row_undo_mod_remove_clust_low(), row_undo_mod_del_mark_or_remove_sec_low(), row_undo_mod_del_mark_or_remove_sec(), row_undo_mod_upd_del_sec(): Add ut_ad(node->rec_type == TRX_UNDO_UPD_DEL_REC); ------------------------------------------------------------------------ r6672 | marko | 2010-02-11 13:01:18 +0200 (Thu, 11 Feb 2010) | 1 line Changed paths: M /branches/zip/include/que0que.h M /branches/zip/include/que0que.ic M /branches/zip/row/row0umod.c branches/zip: Introduce thr_is_recv(). ------------------------------------------------------------------------ r6673 | marko | 2010-02-11 13:09:48 +0200 (Thu, 11 Feb 2010) | 9 lines Changed paths: M /branches/zip/btr/btr0cur.c M /branches/zip/include/trx0types.h M /branches/zip/row/row0umod.c branches/zip: Relax a debug assertion about a missing BLOB. (Issue #452) When rolling back an incomplete transaction in purge, tolerate missing BLOBs also in update undo, when undoing an INSERT by updating a delete-marked record, and the delete-marked record is no longer needed. Previously, we only tolerated missing BLOBs in insert undo. This merely fixes a debug assertion; the code performed correctly without UNIV_DEBUG. rb://249 approved by Sunny Bains. ------------------------------------------------------------------------ r6674 | inaam | 2010-02-11 17:54:44 +0200 (Thu, 11 Feb 2010) | 16 lines Changed paths: M /branches/zip/include/mem0mem.h M /branches/zip/include/mem0mem.ic M /branches/zip/mem/mem0mem.c branches/zip bug# 49535 This is a backport of r4924. mem_heap_get_size() scans all allocated blocks to calculate the total size of the heap. This patch introduces a new, total_size, field in mem_block_info_struct. This field is valid only for base block (i.e.: the first block allocated for the heap) and is set to ULINT_UNDEFINED in other blocks. This considerably improves the performance of redo scan during recovery. rb://108 issue#216 Approved by: Heikki ------------------------------------------------------------------------ r6675 | marko | 2010-02-11 22:41:11 +0200 (Thu, 11 Feb 2010) | 1 line Changed paths: M /branches/zip/row/row0umod.c branches/zip: Remove bogus debug assertions introduced in r6660. ------------------------------------------------------------------------ r6707 | inaam | 2010-02-12 19:22:35 +0200 (Fri, 12 Feb 2010) | 4 lines Changed paths: M /branches/zip/ChangeLog branches/zip ChangeLog entry for r6674. ------------------------------------------------------------------------ r6712 | marko | 2010-02-16 10:05:36 +0200 (Tue, 16 Feb 2010) | 2 lines Changed paths: M /branches/zip/trx/trx0trx.c branches/zip: trx_lists_init_at_db_start(): Assert that the kernel_mutex is held by the caller. ------------------------------------------------------------------------ r6713 | sunny | 2010-02-16 10:12:17 +0200 (Tue, 16 Feb 2010) | 7 lines Changed paths: M /branches/zip/include/trx0trx.h branches/zip: Change the bit fields back to ulint. Bit fields were causing problems with concurrency on SMP systems because of word packing issues. The number of trx_t's in a system is not sufficient enough to require that we try and save a few bytes in the data structure. See rb://255 for details. ------------------------------------------------------------------------ r6714 | sunny | 2010-02-16 10:12:25 +0200 (Tue, 16 Feb 2010) | 2 lines Changed paths: M /branches/zip/include/trx0trx.h branches/zip: Update the comments and fix the whitespace issues. See rb://255 Approved by: Marko ------------------------------------------------------------------------ r6715 | sunny | 2010-02-16 10:14:21 +0200 (Tue, 16 Feb 2010) | 1 line Changed paths: M /branches/zip/include/trx0trx.h branches/zip: Fix comment. Non functional change. ------------------------------------------------------------------------ r6717 | marko | 2010-02-16 14:53:20 +0200 (Tue, 16 Feb 2010) | 2 lines Changed paths: M /branches/zip/include/log0log.ic branches/zip: log_reserve_and_write_fast(): Correct a race condition in UNIV_LOG_LSN_DEBUG. This could have caused Issue #440. ------------------------------------------------------------------------ r6718 | marko | 2010-02-16 15:06:16 +0200 (Tue, 16 Feb 2010) | 1 line Changed paths: M /branches/zip/include/trx0trx.h branches/zip: Fix a comment. ------------------------------------------------------------------------ r6723 | marko | 2010-02-17 11:48:34 +0200 (Wed, 17 Feb 2010) | 3 lines Changed paths: M /branches/zip/lock/lock0lock.c branches/zip: lock_table_other_has_incompatible(): Return an incompatible lock or NULL instead of TRUE or FALSE. Approved by Sunny over IM. ------------------------------------------------------------------------ r6724 | marko | 2010-02-17 15:52:05 +0200 (Wed, 17 Feb 2010) | 11 lines Changed paths: M /branches/zip/os/os0file.c branches/zip: Merge revisions 6613:6669 from branches/5.1: ------------------------------------------------------------------------ r6669 | jyang | 2010-02-11 12:24:19 +0200 (Thu, 11 Feb 2010) | 7 lines branches/5.1: Fix bug #50691, AIX implementation of readdir_r causes InnoDB errors. readdir_r() returns an non-NULL value in the case of reaching the end of a directory. It should not be treated as an error return. rb://238 approved by Marko ------------------------------------------------------------------------ ------------------------------------------------------------------------ r6726 | marko | 2010-02-17 18:49:21 +0200 (Wed, 17 Feb 2010) | 3 lines Changed paths: M /branches/zip/include/fil0fil.h branches/zip: FIL_PAGE_FILE_FLUSH_LSN: Note that the field is only valid for the first page of each ibdata* file, not *.ibd files. Suggested by Heikki, in connection with the LSN warning noted in Issue #341. ------------------------------------------------------------------------ r6727 | marko | 2010-02-17 18:50:20 +0200 (Wed, 17 Feb 2010) | 2 lines Changed paths: M /branches/zip/fsp/fsp0fsp.c branches/zip: fsp_init_file_page_low(): Declare the page uninitialized for Valgrind. ------------------------------------------------------------------------ r6728 | marko | 2010-02-17 18:54:04 +0200 (Wed, 17 Feb 2010) | 3 lines Changed paths: M /branches/zip/fsp/fsp0fsp.c M /branches/zip/include/univ.i branches/zip: Remove UNIV_BASIC_LOG_DEBUG. This fixes the FILE_FLUSH_LSN printouts mentioned in Issue #341. Suggested by Heikki. ------------------------------------------------------------------------ r6740 | sunny | 2010-02-18 13:44:31 +0200 (Thu, 18 Feb 2010) | 6 lines Changed paths: M /branches/zip/lock/lock0lock.c branches/zip: Don't print the entire lock bit set if the block was not found in the buffer pool. Only print the bits that are set and that information is in the lock and not in the block. See rb://256 approved by Marko. ------------------------------------------------------------------------ r6749 | vasil | 2010-02-20 18:45:41 +0200 (Sat, 20 Feb 2010) | 5 lines Changed paths: M /branches/embedded-1.0/btr/btr0btr.c M /branches/embedded-1.0/btr/btr0cur.c M /branches/embedded-1.0/btr/btr0pcur.c M /branches/embedded-1.0/buf/buf0buf.c M /branches/embedded-1.0/buf/buf0flu.c M /branches/embedded-1.0/buf/buf0lru.c M /branches/embedded-1.0/dict/dict0boot.c M /branches/embedded-1.0/dict/dict0crea.c M /branches/embedded-1.0/dict/dict0dict.c M /branches/embedded-1.0/dict/dict0load.c M /branches/embedded-1.0/fil/fil0fil.c M /branches/embedded-1.0/fsp/fsp0fsp.c M /branches/embedded-1.0/ibuf/ibuf0ibuf.c M /branches/embedded-1.0/include/btr0btr.h M /branches/embedded-1.0/include/btr0cur.h M /branches/embedded-1.0/include/btr0pcur.h M /branches/embedded-1.0/include/btr0pcur.ic M /branches/embedded-1.0/include/buf0buf.h M /branches/embedded-1.0/include/buf0buf.ic M /branches/embedded-1.0/include/dict0boot.h M /branches/embedded-1.0/include/fil0fil.h M /branches/embedded-1.0/include/lock0lock.h M /branches/embedded-1.0/include/log0log.h M /branches/embedded-1.0/include/log0log.ic M /branches/embedded-1.0/include/log0recv.h M /branches/embedded-1.0/include/mem0dbg.h M /branches/embedded-1.0/include/mem0dbg.ic M /branches/embedded-1.0/include/mem0mem.h M /branches/embedded-1.0/include/mem0mem.ic M /branches/embedded-1.0/include/os0file.h M /branches/embedded-1.0/include/os0sync.h M /branches/embedded-1.0/include/os0sync.ic M /branches/embedded-1.0/include/os0thread.h M /branches/embedded-1.0/include/que0que.h M /branches/embedded-1.0/include/que0que.ic M /branches/embedded-1.0/include/row0merge.h M /branches/embedded-1.0/include/row0prebuilt.h M /branches/embedded-1.0/include/srv0srv.h M /branches/embedded-1.0/include/sync0sync.h M /branches/embedded-1.0/include/trx0rseg.h M /branches/embedded-1.0/include/trx0sys.h M /branches/embedded-1.0/include/trx0trx.h M /branches/embedded-1.0/include/trx0types.h M /branches/embedded-1.0/include/trx0undo.h M /branches/embedded-1.0/include/trx0xa.h M /branches/embedded-1.0/include/univ.i M /branches/embedded-1.0/include/ut0vec.h M /branches/embedded-1.0/include/ut0vec.ic M /branches/embedded-1.0/lock/lock0lock.c M /branches/embedded-1.0/log/log0log.c M /branches/embedded-1.0/log/log0recv.c M /branches/embedded-1.0/mem/mem0mem.c M /branches/embedded-1.0/os/os0file.c M /branches/embedded-1.0/os/os0thread.c M /branches/embedded-1.0/page/page0page.c M /branches/embedded-1.0/rem/rem0rec.c M /branches/embedded-1.0/row/row0ins.c M /branches/embedded-1.0/row/row0merge.c M /branches/embedded-1.0/row/row0prebuilt.c M /branches/embedded-1.0/row/row0sel.c M /branches/embedded-1.0/row/row0umod.c M /branches/embedded-1.0/row/row0undo.c M /branches/embedded-1.0/row/row0upd.c M /branches/embedded-1.0/srv/srv0srv.c M /branches/embedded-1.0/srv/srv0start.c M /branches/embedded-1.0/sync/sync0sync.c M /branches/embedded-1.0/trx/trx0sys.c M /branches/embedded-1.0/trx/trx0trx.c M /branches/embedded-1.0/trx/trx0undo.c M /branches/embedded-1.0/ut/ut0mem.c M /branches/innodb+/btr/btr0btr.c M /branches/innodb+/btr/btr0cur.c M /branches/innodb+/btr/btr0pcur.c M /branches/innodb+/buf/buf0buf.c M /branches/innodb+/buf/buf0lru.c M /branches/innodb+/dict/dict0crea.c M /branches/innodb+/dict/dict0dict.c M /branches/innodb+/dict/dict0load.c M /branches/innodb+/handler/ha_innodb.cc M /branches/innodb+/handler/ha_innodb.h M /branches/innodb+/handler/handler0alter.cc M /branches/innodb+/include/btr0btr.h M /branches/innodb+/include/btr0cur.h M /branches/innodb+/include/btr0pcur.h M /branches/innodb+/include/btr0pcur.ic M /branches/innodb+/include/buf0buf.h M /branches/innodb+/include/log0log.h M /branches/innodb+/include/mem0dbg.h M /branches/innodb+/include/mem0dbg.ic M /branches/innodb+/include/os0file.h M /branches/innodb+/include/row0mysql.h M /branches/innodb+/include/srv0srv.h M /branches/innodb+/include/sync0sync.h M /branches/innodb+/include/trx0trx.h M /branches/innodb+/lock/lock0lock.c M /branches/innodb+/log/log0log.c M /branches/innodb+/log/log0recv.c M /branches/innodb+/mem/mem0dbg.c M /branches/innodb+/os/os0file.c M /branches/innodb+/page/page0page.c M /branches/innodb+/row/row0ins.c M /branches/innodb+/row/row0mysql.c M /branches/innodb+/row/row0sel.c M /branches/innodb+/srv/srv0srv.c M /branches/innodb+/srv/srv0start.c M /branches/innodb+/sync/sync0sync.c M /branches/innodb+_metrics_table/btr/btr0btr.c M /branches/innodb+_metrics_table/buf/buf0buf.c M /branches/innodb+_metrics_table/buf/buf0flu.c M /branches/innodb+_metrics_table/dict/dict0crea.c M /branches/innodb+_metrics_table/dict/dict0dict.c M /branches/innodb+_metrics_table/dict/dict0load.c M /branches/innodb+_metrics_table/handler/ha_innodb.cc M /branches/innodb+_metrics_table/handler/ha_innodb.h M /branches/innodb+_metrics_table/handler/handler0alter.cc M /branches/innodb+_metrics_table/handler/i_s.cc M /branches/innodb+_metrics_table/handler/i_s.h M /branches/innodb+_metrics_table/include/mem0dbg.h M /branches/innodb+_metrics_table/include/mem0dbg.ic M /branches/innodb+_metrics_table/include/srv0mon.h M /branches/innodb+_metrics_table/include/srv0mon.ic M /branches/innodb+_metrics_table/include/srv0srv.h M /branches/innodb+_metrics_table/lock/lock0lock.c M /branches/innodb+_metrics_table/log/log0log.c M /branches/innodb+_metrics_table/mem/mem0dbg.c M /branches/innodb+_metrics_table/os/os0file.c M /branches/innodb+_metrics_table/page/page0zip.c M /branches/innodb+_metrics_table/row/row0mysql.c M /branches/innodb+_metrics_table/row/row0purge.c M /branches/innodb+_metrics_table/row/row0sel.c M /branches/innodb+_metrics_table/srv/srv0mon.c M /branches/innodb+_metrics_table/srv/srv0srv.c M /branches/innodb+_metrics_table/sync/sync0sync.c M /branches/innodb+_metrics_table/trx/trx0roll.c M /branches/innodb+_metrics_table/trx/trx0trx.c M /branches/innodb+_persistent_stats/btr/btr0btr.c M /branches/innodb+_persistent_stats/buf/buf0buf.c M /branches/innodb+_persistent_stats/data/data0type.c M /branches/innodb+_persistent_stats/dict/dict0boot.c M /branches/innodb+_persistent_stats/dict/dict0crea.c M /branches/innodb+_persistent_stats/dict/dict0dict.c M /branches/innodb+_persistent_stats/dict/dict0load.c M /branches/innodb+_persistent_stats/dict/dict0mem.c M /branches/innodb+_persistent_stats/fil/fil0fil.c M /branches/innodb+_persistent_stats/fsp/fsp0fsp.c M /branches/innodb+_persistent_stats/handler/ha_innodb.cc M /branches/innodb+_persistent_stats/handler/ha_innodb.h M /branches/innodb+_persistent_stats/handler/handler0alter.cc M /branches/innodb+_persistent_stats/ibuf/ibuf0ibuf.c M /branches/innodb+_persistent_stats/include/btr0pcur.h M /branches/innodb+_persistent_stats/include/btr0pcur.ic M /branches/innodb+_persistent_stats/include/db0err.h M /branches/innodb+_persistent_stats/include/dict0dict.h M /branches/innodb+_persistent_stats/include/dict0mem.h M /branches/innodb+_persistent_stats/include/ha_prototypes.h M /branches/innodb+_persistent_stats/include/lock0lock.h M /branches/innodb+_persistent_stats/include/log0log.h M /branches/innodb+_persistent_stats/include/log0recv.h M /branches/innodb+_persistent_stats/include/mem0dbg.h M /branches/innodb+_persistent_stats/include/mem0dbg.ic M /branches/innodb+_persistent_stats/include/os0file.h M /branches/innodb+_persistent_stats/include/pars0pars.h M /branches/innodb+_persistent_stats/include/srv0srv.h M /branches/innodb+_persistent_stats/include/sync0sync.h M /branches/innodb+_persistent_stats/include/trx0sys.h M /branches/innodb+_persistent_stats/include/trx0trx.h M /branches/innodb+_persistent_stats/include/ut0lst.h M /branches/innodb+_persistent_stats/include/ut0ut.h M /branches/innodb+_persistent_stats/lock/lock0lock.c M /branches/innodb+_persistent_stats/log/log0log.c M /branches/innodb+_persistent_stats/log/log0recv.c M /branches/innodb+_persistent_stats/mem/mem0dbg.c M /branches/innodb+_persistent_stats/os/os0file.c M /branches/innodb+_persistent_stats/page/page0page.c M /branches/innodb+_persistent_stats/pars/pars0pars.c M /branches/innodb+_persistent_stats/row/row0merge.c M /branches/innodb+_persistent_stats/row/row0mysql.c M /branches/innodb+_persistent_stats/row/row0sel.c M /branches/innodb+_persistent_stats/row/row0umod.c M /branches/innodb+_persistent_stats/row/row0upd.c M /branches/innodb+_persistent_stats/srv/srv0srv.c M /branches/innodb+_persistent_stats/srv/srv0start.c M /branches/innodb+_persistent_stats/sync/sync0sync.c M /branches/innodb+_persistent_stats/trx/trx0i_s.c M /branches/innodb+_persistent_stats/trx/trx0sys.c M /branches/innodb+_persistent_stats/trx/trx0trx.c M /branches/innodb+_persistent_stats/ut/ut0ut.c M /branches/innofts+/handler/ha_innodb.cc M /branches/innofts+/handler/i_s.cc M /branches/innofts+/handler/i_s.h M /branches/innofts+/include/fut0fut.h M /branches/performance_schema/btr/btr0sea.c M /branches/performance_schema/buf/buf0buf.c M /branches/performance_schema/dict/dict0dict.c M /branches/performance_schema/fil/fil0fil.c M /branches/performance_schema/handler/ha_innodb.cc M /branches/performance_schema/include/srv0srv.h M /branches/performance_schema/include/sync0rw.h M /branches/performance_schema/include/sync0rw.ic M /branches/performance_schema/include/sync0sync.h M /branches/performance_schema/include/sync0sync.ic M /branches/performance_schema/include/sync0types.h M /branches/performance_schema/log/log0log.c M /branches/performance_schema/srv/srv0srv.c M /branches/performance_schema/sync/sync0rw.c M /branches/performance_schema/trx/trx0i_s.c M /branches/performance_schema/trx/trx0purge.c M /branches/plugin-2.0/buf/buf0buf.c M /branches/plugin-2.0/buf/buf0lru.c M /branches/plugin-2.0/dict/dict0boot.c M /branches/plugin-2.0/dict/dict0crea.c M /branches/plugin-2.0/dict/dict0dict.c M /branches/plugin-2.0/dict/dict0load.c M /branches/plugin-2.0/dict/dict0mem.c M /branches/plugin-2.0/fil/fil0fil.c M /branches/plugin-2.0/fsp/fsp0fsp.c M /branches/plugin-2.0/handler/ha_innodb.cc M /branches/plugin-2.0/handler/ha_innodb.h M /branches/plugin-2.0/handler/handler0alter.cc M /branches/plugin-2.0/ibuf/ibuf0ibuf.c M /branches/plugin-2.0/include/dict0mem.h M /branches/plugin-2.0/include/ha_prototypes.h M /branches/plugin-2.0/include/lock0lock.h M /branches/plugin-2.0/include/log0log.h M /branches/plugin-2.0/include/log0recv.h M /branches/plugin-2.0/include/mem0dbg.h M /branches/plugin-2.0/include/mem0dbg.ic M /branches/plugin-2.0/include/os0file.h M /branches/plugin-2.0/include/row0mysql.h M /branches/plugin-2.0/include/srv0srv.h M /branches/plugin-2.0/include/sync0sync.h M /branches/plugin-2.0/include/trx0sys.h M /branches/plugin-2.0/include/trx0trx.h M /branches/plugin-2.0/lock/lock0lock.c M /branches/plugin-2.0/log/log0log.c M /branches/plugin-2.0/log/log0recv.c M /branches/plugin-2.0/mem/mem0dbg.c M /branches/plugin-2.0/os/os0file.c M /branches/plugin-2.0/page/page0page.c M /branches/plugin-2.0/row/row0merge.c M /branches/plugin-2.0/row/row0mysql.c M /branches/plugin-2.0/row/row0sel.c M /branches/plugin-2.0/row/row0umod.c M /branches/plugin-2.0/row/row0upd.c M /branches/plugin-2.0/srv/srv0srv.c M /branches/plugin-2.0/srv/srv0start.c M /branches/plugin-2.0/sync/sync0sync.c M /branches/plugin-2.0/trx/trx0i_s.c M /branches/plugin-2.0/trx/trx0sys.c M /branches/plugin-2.0/trx/trx0trx.c M /branches/zip/btr/btr0btr.c M /branches/zip/btr/btr0cur.c M /branches/zip/btr/btr0pcur.c M /branches/zip/buf/buf0buf.c M /branches/zip/buf/buf0lru.c M /branches/zip/dict/dict0boot.c M /branches/zip/dict/dict0crea.c M /branches/zip/dict/dict0dict.c M /branches/zip/dict/dict0load.c M /branches/zip/fsp/fsp0fsp.c M /branches/zip/handler/ha_innodb.cc M /branches/zip/handler/ha_innodb.h M /branches/zip/handler/handler0alter.cc M /branches/zip/include/btr0btr.h M /branches/zip/include/btr0cur.h M /branches/zip/include/btr0pcur.h M /branches/zip/include/btr0pcur.ic M /branches/zip/include/buf0buf.h M /branches/zip/include/dict0boot.h M /branches/zip/include/fil0fil.h M /branches/zip/include/log0log.h M /branches/zip/include/log0log.ic M /branches/zip/include/log0recv.h M /branches/zip/include/mem0dbg.h M /branches/zip/include/mem0dbg.ic M /branches/zip/include/mem0mem.h M /branches/zip/include/mem0mem.ic M /branches/zip/include/os0file.h M /branches/zip/include/que0que.h M /branches/zip/include/que0que.ic M /branches/zip/include/row0mysql.h M /branches/zip/include/srv0srv.h M /branches/zip/include/sync0sync.h M /branches/zip/include/trx0rseg.h M /branches/zip/include/trx0trx.h M /branches/zip/include/trx0types.h M /branches/zip/include/univ.i M /branches/zip/lock/lock0lock.c M /branches/zip/log/log0log.c M /branches/zip/log/log0recv.c M /branches/zip/mem/mem0dbg.c M /branches/zip/mem/mem0mem.c M /branches/zip/os/os0file.c M /branches/zip/page/page0page.c M /branches/zip/rem/rem0rec.c M /branches/zip/row/row0ins.c M /branches/zip/row/row0merge.c M /branches/zip/row/row0mysql.c M /branches/zip/row/row0sel.c M /branches/zip/row/row0umod.c M /branches/zip/srv/srv0srv.c M /branches/zip/srv/srv0start.c M /branches/zip/sync/sync0sync.c M /branches/zip/trx/trx0rseg.c M /branches/zip/trx/trx0trx.c Non-functional change: update copyright year to 2010 of the files that have been modified after 2010-01-01 according to svn. for f in $(svn log -v -r{2010-01-01}:HEAD |grep "^ M " |cut -b 16- |sort -u) ; do sed -i "" -E 's/(Copyright \(c\) [0-9]{4},) [0-9]{4}, (.*Innobase Oy.+All Rights Reserved)/\1 2010, \2/' $f ; done ------------------------------------------------------------------------ r6750 | marko | 2010-02-22 08:57:23 +0200 (Mon, 22 Feb 2010) | 2 lines Changed paths: M /branches/zip/include/row0sel.h M /branches/zip/row/row0sel.c branches/zip: row_fetch_store_uint4(): Remove unused function. This was added to trunk in r435. ------------------------------------------------------------------------ r6754 | marko | 2010-02-24 10:56:43 +0200 (Wed, 24 Feb 2010) | 17 lines Changed paths: M /branches/zip/row/row0merge.c branches/zip: Allocate the merge sort buffers from a heap, not stack. The merge sort can use up to 48KiB of buffers when merging blocks. That can cause a stack overflow, especially on 64-bit systems when not building with inlined functions. This was reported as Issue #462. row_merge_dup_report(): Allocate buf and offsets from a heap. row_merge_heap_create(): Allocate space for buf[3] too. Fix bogus sizeof arithmetics that happened to work, because sizeof(ulint)==sizeof(void*). row_merge_blocks(), row_merge_blocks_copy(): Allocate buf[3] from heap. row_merge_insert_index_tuples(): Allocate buf from graph_heap. rb://258 approved and tested by Sunny Bains ------------------------------------------------------------------------ r6767 | calvin | 2010-03-01 18:16:10 +0200 (Mon, 01 Mar 2010) | 3 lines Changed paths: M /branches/zip/srv/srv0srv.c branches/zip: fix bug#51587 Non-functional change. ------------------------------------------------------------------------ r6768 | vasil | 2010-03-02 18:20:48 +0200 (Tue, 02 Mar 2010) | 5 lines Changed paths: M /branches/zip/include/btr0btr.h M /branches/zip/include/btr0btr.ic branches/zip: Add a NOTE to the comment of btr_node_ptr_get_child_page_no() to prevent mysterious bugs. ------------------------------------------------------------------------ r6770 | marko | 2010-03-03 12:52:55 +0200 (Wed, 03 Mar 2010) | 12 lines Changed paths: M /branches/zip/handler/handler0alter.cc M /branches/zip/mysql-test/innodb-index.result M /branches/zip/mysql-test/innodb-index.test M /branches/zip/mysql-test/innodb.result M /branches/zip/mysql-test/innodb.test branches/zip: Disallow duplicate index name when creating an index. This should fix Mantis Issue #461. innodb.test, innodb.result, innodb-index.test, innodb-index.result: Adjust the test result and mention that the introduced restriction has been reported as MySQL Bug #51451. innobase_check_index_keys(): Add a parameter for the InnoDB table and check that no duplicate index name is added. Report errors by my_error() instead of sql_print_error(). rb://260 approved by Sunny Bains ------------------------------------------------------------------------ r6771 | marko | 2010-03-03 14:52:43 +0200 (Wed, 03 Mar 2010) | 1 line Changed paths: M /branches/zip/ChangeLog Document r6770. ------------------------------------------------------------------------ r6773 | marko | 2010-03-03 15:31:54 +0200 (Wed, 03 Mar 2010) | 2 lines Changed paths: M /branches/zip/row/row0row.c branches/zip: row_raw_format(): Silence a GCC 4.4.2 warning of possibly uninitialized variable format_in_hex. ------------------------------------------------------------------------ |
||
marko
|
4b77470fe1 |
branches/innodb+: Commit the mini-transaction after merging a purge operation.
ibuf_delete(): Note that the mtr must be committed before latching any further pages. ibuf_restore_pos(): New function, refactored from ibuf_delete_rec(). ibuf_merge_or_delete_for_page(): Commit the mini-transaction after calling ibuf_delete(). If ibuf_restore_pos() fails, restart the loop. rb://222 approved by Sunny Bains. This should fix Issue #135. |