------------------------------------------------------------
revno: 3444 tags: clone-5.1.46-build committer: Georgi Kodinov <joro@sun.com> branch nick: merge-5.1-bugteam timestamp: Tue 2010-04-06 10:56:11 +0300 message: merge ------------------------------------------------------------ revno: 1810.3987.10 committer: Georgi Kodinov <joro@sun.com> branch nick: merge-5.0-bugteam timestamp: Tue 2010-04-06 10:51:52 +0300 message: merge ------------------------------------------------------------ revno: 3443 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.1-bugteam timestamp: Mon 2010-04-05 16:10:26 +0500 message: Bug#52336 Segfault / crash in 5.1 copy_fields (param=0x9872980) at sql_select.cc:15355 The problem is that we can not use make_cond_for_table(). This function relies on used_tables() condition which is not set properly for subqueries. As result subquery is not filtered out. The fix is to use remove_eq_conds() function instead of make_cond_for_table() func. 'remove_eq_conds()' algorithm relies on const_item() value and it allows to handle subqueries in right way. ------------------------------------------------------------ revno: 3442 committer: Gleb Shchepa <gshchepa@mysql.com> branch nick: mysql-5.1-bugteam timestamp: Sat 2010-04-03 00:30:22 +0400 message: Bug #40625: Concat fails on DOUBLE values in a Stored Procedure, while DECIMAL works Selecting of the CONCAT(...<SP variable>...) result into a user variable may return wrong data. Item_func_concat::val_str contains a number of memory allocation-saving tricks. One of them concatenates strings inplace inserting the value of one string at the beginning of the other string. However, this trick didn't care about strings those points to the same data buffer: this is possible when a CONCAT() parameter is a stored procedure variable - Item_sp_variable::val_str() uses the intermediate Item_sp_variable::str_value field, where it may store a reference to an external buffer. The Item_func_concat::val_str function has been modified to take into account val_str functions (such as Item_sp_variable::val_str) that return a pointer to an internal Item member variable that may reference to a buffer provided. ------------------------------------------------------------ revno: 3441 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam timestamp: Fri 2010-04-02 01:35:36 +0530 message: Bug #47904 Incorrect results w/ table subquery, derived SQs, and LEFT JOIN on index 'my_decimal' class has two members which can be used to access the value. The member variable buf (inherited from parent class decimal_t) is set to member variable buffer so that both are pointing to same value. Item_copy_decimal::copy() uses memcpy to clone 'my_decimal'. The member buffer is declared as an array and memcpy results in copying the values of the array, but the inherited member buf, which should be pointing at the begining of the array 'buffer' starts pointing to the begining of buffer in original object (which is being cloned). Further updates on 'my_decimal' updates only the inherited member 'buf' but leaves buffer unchanged. Later when the new object (which now holds a inconsistent value) is cloned again using proper cloning function 'my_decimal2decimal' the buf pointer is fixed resulting in loss of the current value. Using my_decimal2decimal instead of memcpy in Item_copy_decimal::copy() fixed this problem. ------------------------------------------------------------ revno: 3440 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 22:17:34 +0400 message: Merge fix for BUG40980 to mysql-5.1-bugteam. ------------------------------------------------------------ revno: 3430.1.1 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-bug40980 timestamp: Thu 2010-04-01 18:49:02 +0400 message: BUG#40980 - Drop table can remove another MyISAM table's data and index files It was possible if DATA/INDEX DIRECTORY is pointing to symlinked MySQL data home directory. Do not allow to drop data/index files implicitly symlinked to data home directory. For such tables remove symlink only. ------------------------------------------------------------ revno: 3439 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 19:10:05 +0400 message: Merge innodb-zip-ss6900 to mysql-5.1-bugteam. ------------------------------------------------------------ revno: 3435.1.117 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 17:02:01 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6900 | mmakela | 2010-03-29 13:54:57 +0300 (Mon, 29 Mar 2010) | 5 lines branches/zip: Merge c6899 from 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. ------------------------------------------------------------ revno: 3435.1.116 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 17:01:43 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6897 | mmakela | 2010-03-29 11:36:19 +0300 (Mon, 29 Mar 2010) | 3 lines 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. ------------------------------------------------------------ revno: 3435.1.115 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 17:01:22 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6891 | vdimov | 2010-03-26 16:19:01 +0200 (Fri, 26 Mar 2010) | 5 lines 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 ------------------------------------------------------------ revno: 3435.1.114 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 17:00:43 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6875 | vdimov | 2010-03-25 18:18:15 +0200 (Thu, 25 Mar 2010) | 4 lines branches/zip: Wrap line at 78 column in ChangeLog. ------------------------------------------------------------ revno: 3435.1.113 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 17:00:23 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6874 | vdimov | 2010-03-25 17:17:52 +0200 (Thu, 25 Mar 2010) | 4 lines branches/zip: Wrap ChangeLog at 78th column ------------------------------------------------------------ revno: 3435.1.112 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 17:00:03 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6873 | vdimov | 2010-03-25 17:06:56 +0200 (Thu, 25 Mar 2010) | 4 lines branches/zip: Use Bug#N instead of Bug #N to be consistent with the rest of the fil. ------------------------------------------------------------ revno: 3435.1.111 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:59:41 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6872 | vdimov | 2010-03-25 17:03:17 +0200 (Thu, 25 Mar 2010) | 4 lines branches/zip: Fix ChangeLog - write only the bug title in bugs.mysql.com-related entires. ------------------------------------------------------------ revno: 3435.1.110 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:58:34 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6871 | vdimov | 2010-03-25 16:39:44 +0200 (Thu, 25 Mar 2010) | 4 lines branches/zip: Whitespace fixup to be consistent with the rest of the file. ------------------------------------------------------------ revno: 3435.1.109 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:58:02 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6868 | mmakela | 2010-03-25 13:03:08 +0200 (Thu, 25 Mar 2010) | 1 line branches/zip: page_validate(): Check the buf[] bounds. ------------------------------------------------------------ revno: 3435.1.108 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:57:39 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6864 | mmakela | 2010-03-24 14:05:53 +0200 (Wed, 24 Mar 2010) | 1 line branches/zip: dtype_new_store_for_order_and_null_size(): Add ut_ad() on mtype. ------------------------------------------------------------ revno: 3435.1.107 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:57:08 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6861 | vdimov | 2010-03-23 19:31:02 +0200 (Tue, 23 Mar 2010) | 36 lines 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:100: 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 > > ^ ------------------------------------------------------------ revno: 3435.1.106 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:56:22 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6860 | jyang | 2010-03-23 18:20:36 +0200 (Tue, 23 Mar 2010) | 5 lines branches/zip: This is patch from Inaam that uses red-black tree to speed up insertions into the flush_list and thus the recovery process. The patch has been tested by Nokia. ------------------------------------------------------------ revno: 3435.1.105 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:55:08 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6858 | mmakela | 2010-03-23 14:09:24 +0200 (Tue, 23 Mar 2010) | 1 line branches/zip: innodb_read_ahead_threshold: Add missing space to help string. ------------------------------------------------------------ revno: 3435.1.104 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:54:42 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6857 | mmakela | 2010-03-23 14:07:53 +0200 (Tue, 23 Mar 2010) | 1 line branches/zip: innodb_change_buffering: Correct the documentation. ------------------------------------------------------------ revno: 3435.1.103 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:54:22 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6853 | marko | 2010-03-22 13:35:29 +0200 (Mon, 22 Mar 2010) | 1 line branches/zip: mutex_own(), rw_lock_own(): Add attribute((warn_unused_result)). ------------------------------------------------------------ revno: 3435.1.102 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:53:56 +0400 message: Applying InnoDB snapshot, fixes BUG#52102. Detailed revision comments: r6840 | calvin | 2010-03-19 00:32:23 +0200 (Fri, 19 Mar 2010) | 6 lines branches/zip: Fix Bug #52102 InnoDB Plugin shows performance drop comparing to builtin InnoDB (Windows only). Disable Windows atomics by default. Approved by: Inaam ------------------------------------------------------------ revno: 3435.1.101 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:52:37 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6830 | marko | 2010-03-18 09:48:18 +0200 (Thu, 18 Mar 2010) | 3 lines 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. ------------------------------------------------------------ revno: 3435.1.100 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:52:14 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6828 | calvin | 2010-03-17 17:16:38 +0200 (Wed, 17 Mar 2010) | 7 lines 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. ------------------------------------------------------------ revno: 3435.1.99 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:27:53 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6805 | inaam | 2010-03-11 23:15:17 +0200 (Thu, 11 Mar 2010) | 6 lines branches/zip issue#463 Fixed compiler warning about uninitialized variable. Non-functional change. ------------------------------------------------------------ revno: 3435.1.98 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:27:34 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6801 | marko | 2010-03-11 13:34:28 +0200 (Thu, 11 Mar 2010) | 2 lines branches/zip: mtr_memo_contains(): Relax the assertion of r6800, allowing mtr->state == MTR_COMMITTING. ------------------------------------------------------------ revno: 3435.1.97 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:27:13 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6800 | marko | 2010-03-11 12:02:57 +0200 (Thu, 11 Mar 2010) | 1 line branches/zip: Add ut_ad(mtr->state == MTR_ACTIVE) to various places. ------------------------------------------------------------ revno: 3435.1.96 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:22:36 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6799 | jyang | 2010-03-11 09:59:42 +0200 (Thu, 11 Mar 2010) | 5 lines 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. ------------------------------------------------------------ revno: 3435.1.95 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:21:00 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6798 | marko | 2010-03-11 09:53:01 +0200 (Thu, 11 Mar 2010) | 14 lines 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 ------------------------------------------------------------ revno: 3435.1.94 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:20:37 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6792 | marko | 2010-03-10 13:56:41 +0200 (Wed, 10 Mar 2010) | 1 line 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 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. ------------------------------------------------------------------------ ------------------------------------------------------------ revno: 3435.1.93 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:15:15 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6791 | marko | 2010-03-10 13:39:06 +0200 (Wed, 10 Mar 2010) | 1 line branches/zip: Add ChangeLog entries for r6789, r6790. ------------------------------------------------------------ revno: 3435.1.92 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:14:51 +0400 message: Applying InnoDB snapshot, fixes BUG#51356. Detailed revision comments: r6790 | jyang | 2010-03-10 13:09:41 +0200 (Wed, 10 Mar 2010) | 7 lines 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 ------------------------------------------------------------ revno: 3435.1.91 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:12:44 +0400 message: Applying InnoDB snapshot, fixes BUG#51378. Detailed revision comments: r6789 | jyang | 2010-03-10 11:18:18 +0200 (Wed, 10 Mar 2010) | 10 lines 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. ------------------------------------------------------------ revno: 3435.1.90 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:07:58 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6787 | marko | 2010-03-10 10:35:06 +0200 (Wed, 10 Mar 2010) | 10 lines 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 ------------------------------------------------------------ revno: 3435.1.89 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:07:40 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6786 | vasil | 2010-03-10 09:16:50 +0200 (Wed, 10 Mar 2010) | 4 lines branches/zip: Fix typo in comment ------------------------------------------------------------ revno: 3435.1.88 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:07:16 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6782 | marko | 2010-03-09 14:09:26 +0200 (Tue, 09 Mar 2010) | 1 line branches/zip: fil0fil.c: Update comments on table->flags as of r6252. ------------------------------------------------------------ revno: 3435.1.87 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:06:59 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6781 | marko | 2010-03-09 09:41:08 +0200 (Tue, 09 Mar 2010) | 4 lines 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 ------------------------------------------------------------ revno: 3435.1.86 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:06:36 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6779 | marko | 2010-03-08 14:35:42 +0200 (Mon, 08 Mar 2010) | 6 lines 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 ------------------------------------------------------------ revno: 3435.1.85 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:06:16 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6777 | marko | 2010-03-04 13:01:25 +0200 (Thu, 04 Mar 2010) | 2 lines branches/zip: trx_undo_update_rec_get_update(): Silence a bogus GCC warning about a possibly uninitialized variable. ------------------------------------------------------------ revno: 3435.1.84 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:05:52 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6773 | marko | 2010-03-03 15:31:54 +0200 (Wed, 03 Mar 2010) | 2 lines branches/zip: row_raw_format(): Silence a GCC 4.4.2 warning of possibly uninitialized variable format_in_hex. ------------------------------------------------------------ revno: 3435.1.83 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:05:25 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6771 | marko | 2010-03-03 14:52:43 +0200 (Wed, 03 Mar 2010) | 1 line Document r6770. ------------------------------------------------------------ revno: 3435.1.82 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:04:43 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6770 | marko | 2010-03-03 12:52:55 +0200 (Wed, 03 Mar 2010) | 12 lines 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 ------------------------------------------------------------ revno: 3435.1.81 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:02:34 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6768 | vasil | 2010-03-02 18:20:48 +0200 (Tue, 02 Mar 2010) | 5 lines branches/zip: Add a NOTE to the comment of btr_node_ptr_get_child_page_no() to prevent mysterious bugs. ------------------------------------------------------------ revno: 3435.1.80 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:01:33 +0400 message: Applying InnoDB snashot, fixes BUG#51587. Detailed revision comments: r6767 | calvin | 2010-03-01 18:16:10 +0200 (Mon, 01 Mar 2010) | 3 lines branches/zip: fix bug#51587 Non-functional change. ------------------------------------------------------------ revno: 3435.1.79 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:01:10 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6754 | marko | 2010-02-24 10:56:43 +0200 (Wed, 24 Feb 2010) | 17 lines 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 ------------------------------------------------------------ revno: 3435.1.78 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 16:00:18 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6750 | marko | 2010-02-22 08:57:23 +0200 (Mon, 22 Feb 2010) | 2 lines branches/zip: row_fetch_store_uint4(): Remove unused function. This was added to trunk in r435. ------------------------------------------------------------ revno: 3435.1.77 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:59:25 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6749 | vasil | 2010-02-20 18:45:41 +0200 (Sat, 20 Feb 2010) | 5 lines 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 ------------------------------------------------------------ revno: 3435.1.76 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:58:48 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6740 | sunny | 2010-02-18 13:44:31 +0200 (Thu, 18 Feb 2010) | 6 lines 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. ------------------------------------------------------------ revno: 3435.1.75 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:58:26 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6728 | marko | 2010-02-17 18:54:04 +0200 (Wed, 17 Feb 2010) | 3 lines branches/zip: Remove UNIV_BASIC_LOG_DEBUG. This fixes the FILE_FLUSH_LSN printouts mentioned in Issue #341. Suggested by Heikki. ------------------------------------------------------------ revno: 3435.1.74 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:58:03 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6727 | marko | 2010-02-17 18:50:20 +0200 (Wed, 17 Feb 2010) | 2 lines branches/zip: fsp_init_file_page_low(): Declare the page uninitialized for Valgrind. ------------------------------------------------------------ revno: 3435.1.73 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:57:40 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6726 | marko | 2010-02-17 18:49:21 +0200 (Wed, 17 Feb 2010) | 3 lines 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. ------------------------------------------------------------ revno: 3435.1.72 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:57:04 +0400 message: Applying InnoDB snapshot, fixes BUG#50691. Detailed revision comments: r6724 | marko | 2010-02-17 15:52:05 +0200 (Wed, 17 Feb 2010) | 11 lines 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 ------------------------------------------------------------------------ ------------------------------------------------------------ revno: 3435.1.71 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:56:38 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6723 | marko | 2010-02-17 11:48:34 +0200 (Wed, 17 Feb 2010) | 3 lines branches/zip: lock_table_other_has_incompatible(): Return an incompatible lock or NULL instead of TRUE or FALSE. Approved by Sunny over IM. ------------------------------------------------------------ revno: 3435.1.70 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:56:02 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6718 | marko | 2010-02-16 15:06:16 +0200 (Tue, 16 Feb 2010) | 1 line branches/zip: Fix a comment. ------------------------------------------------------------ revno: 3435.1.69 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:55:42 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6717 | marko | 2010-02-16 14:53:20 +0200 (Tue, 16 Feb 2010) | 2 lines branches/zip: log_reserve_and_write_fast(): Correct a race condition in UNIV_LOG_LSN_DEBUG. This could have caused Issue #440. ------------------------------------------------------------ revno: 3435.1.68 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:55:20 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6715 | sunny | 2010-02-16 10:14:21 +0200 (Tue, 16 Feb 2010) | 1 line branches/zip: Fix comment. Non functional change. ------------------------------------------------------------ revno: 3435.1.67 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:55:01 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6714 | sunny | 2010-02-16 10:12:25 +0200 (Tue, 16 Feb 2010) | 2 lines branches/zip: Update the comments and fix the whitespace issues. See rb://255 Approved by: Marko ------------------------------------------------------------ revno: 3435.1.66 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:54:41 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6713 | sunny | 2010-02-16 10:12:17 +0200 (Tue, 16 Feb 2010) | 7 lines 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. ------------------------------------------------------------ revno: 3435.1.65 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:54:23 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6712 | marko | 2010-02-16 10:05:36 +0200 (Tue, 16 Feb 2010) | 2 lines branches/zip: trx_lists_init_at_db_start(): Assert that the kernel_mutex is held by the caller. ------------------------------------------------------------ revno: 3435.1.64 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:54:01 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6707 | inaam | 2010-02-12 19:22:35 +0200 (Fri, 12 Feb 2010) | 4 lines branches/zip ChangeLog entry for r6674. ------------------------------------------------------------ revno: 3435.1.63 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:53:41 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6675 | marko | 2010-02-11 22:41:11 +0200 (Thu, 11 Feb 2010) | 1 line branches/zip: Remove bogus debug assertions introduced in r6660. ------------------------------------------------------------ revno: 3435.1.62 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:52:35 +0400 message: Applying InnoDB snapshot, fixes BUG#49535. Detailed revision comments: r6674 | inaam | 2010-02-11 17:54:44 +0200 (Thu, 11 Feb 2010) | 16 lines 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 ------------------------------------------------------------ revno: 3435.1.61 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:52:08 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6673 | marko | 2010-02-11 13:09:48 +0200 (Thu, 11 Feb 2010) | 9 lines 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. ------------------------------------------------------------ revno: 3435.1.60 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:51:48 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6672 | marko | 2010-02-11 13:01:18 +0200 (Thu, 11 Feb 2010) | 1 line branches/zip: Introduce thr_is_recv(). ------------------------------------------------------------ revno: 3435.1.59 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:51:26 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6660 | marko | 2010-02-11 11:21:11 +0200 (Thu, 11 Feb 2010) | 7 lines 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); ------------------------------------------------------------ revno: 3435.1.58 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:51:08 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6639 | marko | 2010-02-10 13:11:04 +0200 (Wed, 10 Feb 2010) | 1 line branches/zip: trx_rseg_create(): Unused function, remove. ------------------------------------------------------------ revno: 3435.1.57 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:42:55 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6635 | marko | 2010-02-10 11:07:05 +0200 (Wed, 10 Feb 2010) | 4 lines 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. ------------------------------------------------------------ revno: 3435.1.56 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:42:24 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6633 | marko | 2010-02-10 10:40:55 +0200 (Wed, 10 Feb 2010) | 31 lines 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 ------------------------------------------------------------------------ ------------------------------------------------------------ revno: 3435.1.55 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:42:04 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6631 | marko | 2010-02-10 09:19:52 +0200 (Wed, 10 Feb 2010) | 1 line branches/zip: Document r6614 in ChangeLog. ------------------------------------------------------------ revno: 3435.1.54 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:41:47 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6614 | inaam | 2010-02-09 20:26:23 +0200 (Tue, 09 Feb 2010) | 7 lines 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 ------------------------------------------------------------ revno: 3435.1.53 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:41:23 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6612 | marko | 2010-02-09 14:32:39 +0200 (Tue, 09 Feb 2010) | 3 lines 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. ------------------------------------------------------------ revno: 3435.1.52 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:41:04 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6611 | marko | 2010-02-09 14:28:25 +0200 (Tue, 09 Feb 2010) | 11 lines 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. ------------------------------------------------------------ revno: 3435.1.51 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:40:44 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6610 | marko | 2010-02-09 13:53:59 +0200 (Tue, 09 Feb 2010) | 17 lines 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 ------------------------------------------------------------ revno: 3435.1.50 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:40:13 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6609 | marko | 2010-02-09 13:45:40 +0200 (Tue, 09 Feb 2010) | 1 line branches/zip: dict_field_print_low(): Add const qualifier. ------------------------------------------------------------ revno: 3435.1.49 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:39:56 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6608 | marko | 2010-02-09 11:02:37 +0200 (Tue, 09 Feb 2010) | 1 line branches/zip: ha_innobase::add_index(): Check for !innodb_table. ------------------------------------------------------------ revno: 3435.1.48 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:39:29 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6595 | marko | 2010-02-08 13:53:02 +0200 (Mon, 08 Feb 2010) | 1 line branches/zip: btr_pcur_commit(): Unused function, remove. ------------------------------------------------------------ revno: 3435.1.47 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:39:03 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6594 | marko | 2010-02-08 12:55:04 +0200 (Mon, 08 Feb 2010) | 2 lines branches/zip: rec_get_nth_field_offs_old(): Replace if (!cond) ut_error; tests with ut_a(cond). ------------------------------------------------------------ revno: 3435.1.46 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:38:35 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6591 | marko | 2010-02-08 10:06:39 +0200 (Mon, 08 Feb 2010) | 3 lines 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. ------------------------------------------------------------ revno: 3435.1.45 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:38:11 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6560 | sunny | 2010-02-04 16:11:23 +0200 (Thu, 04 Feb 2010) | 7 lines 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 ------------------------------------------------------------ revno: 3435.1.44 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:37:45 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6559 | marko | 2010-02-04 13:21:18 +0200 (Thu, 04 Feb 2010) | 14 lines branches/zip: Pass the file name and line number of the caller of the b-tree cursor functions to the buffer pool requests, in order to make the latch diagnostics more accurate. buf_page_optimistic_get_func(): Renamed to buf_page_optimistic_get(). btr_page_get_father_node_ptr(), btr_insert_on_non_leaf_level(), btr_pcur_open(), btr_pcur_open_with_no_init(), btr_pcur_open_on_user_rec(), btr_pcur_open_at_rnd_pos(), btr_pcur_restore_position(), btr_cur_open_at_index_side(), btr_cur_open_at_rnd_pos(): Rename the function to _func and add the parameters file, line. Define wrapper macros with __FILE__, __LINE__. btr_cur_search_to_nth_level(): Add the parameters file, line. ------------------------------------------------------------ revno: 3435.1.43 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:36:54 +0400 message: Applying InnoDB snapshot, fixes BUG#35077. Detailed revision comments: r6548 | marko | 2010-02-03 15:01:39 +0200 (Wed, 03 Feb 2010) | 11 lines branches/zip: buf_LRU_invalidate_tablespace(): Ensure that prev_bpage is not relocated when freeing a compressed block. This avoids the costly rescan of the LRU list. (Bug #35077, Issue #449) At most one buffer-fix will be active at a time, affecting two blocks: the buf_page_t and the compressed page frame. This should not block the memory defragmentation in buf0buddy.c too much. In fact, it may avoid unnecessary copying if also prev_bpage belongs to the tablespace that is being invalidated. rb://240 ------------------------------------------------------------ revno: 3435.1.42 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:36:27 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6547 | marko | 2010-02-03 14:43:38 +0200 (Wed, 03 Feb 2010) | 14 lines branches/zip: Clean up CHECK TABLE error handling. (Issue #220) ha_innobase::change_active_index(): Clean up code formatting. ha_innobase::check(): Incorporate the code from row_check_table_for_mysql(). Report errors to the client connection instead of writing them to the error log. row_check_table_for_mysql(): Remove. row_check_index_for_mysql(): Renamed from row_scan_and_check_index(). Let the caller initialize prebuilt, and assume that the index is usable. rb://178 approved by Sunny Bains ------------------------------------------------------------ revno: 3435.1.41 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:36:02 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6546 | jyang | 2010-02-03 11:05:24 +0200 (Wed, 03 Feb 2010) | 9 lines branches/zip: Relax assertion on the number of index defined in InnoDB must be comparable with that of MySQL to tolerate possible dictionary inconsistency. Fix Mantis issue #455, "UNIV_DEBUG+ assert ha_innodb.cc:3152 ib_num_index >= mysql_num_index". rb://248 Approved by Marko. ------------------------------------------------------------ revno: 3435.1.40 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:35:30 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6540 | marko | 2010-02-01 11:35:13 +0200 (Mon, 01 Feb 2010) | 1 line branches/zip: ChangeLog: Document the merge of 6471:6538 from branches/5.1. ------------------------------------------------------------ revno: 3435.1.39 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:34:53 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6539 | marko | 2010-02-01 11:31:12 +0200 (Mon, 01 Feb 2010) | 75 lines branches/zip: Merge revisions 6471:6538 from branches/5.1: ------------------------------------------------------------------------ r6488 | sunny | 2010-01-21 02:55:08 +0200 (Thu, 21 Jan 2010) | 2 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Factor out test for bug#44030 from innodb-autoinc.test into a separate test/result files. ------------------------------------------------------------------------ r6489 | sunny | 2010-01-21 02:57:50 +0200 (Thu, 21 Jan 2010) | 2 lines Changed paths: A /branches/5.1/mysql-test/innodb-autoinc-44030.result A /branches/5.1/mysql-test/innodb-autoinc-44030.test branches/5.1: Factor out test for bug#44030 from innodb-autoinc.test into a separate test/result files. ------------------------------------------------------------------------ r6492 | sunny | 2010-01-21 09:38:35 +0200 (Thu, 21 Jan 2010) | 1 line Changed paths: M /branches/5.1/mysql-test/innodb-autoinc-44030.test branches/5.1: Add reference to bug#47621 in the comment. ------------------------------------------------------------------------ r6535 | sunny | 2010-01-30 00:08:40 +0200 (Sat, 30 Jan 2010) | 11 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Undo the change from r6424. We need to return DB_SUCCESS even if we were unable to initialize the tabe autoinc value. This is required for the open to succeed. The only condition we currently treat as a hard error is if the autoinc field instance passed in by MySQL is NULL. Previously if the table autoinc value was 0 and the next value was requested we had an assertion that would fail. Change that assertion and treat a value of 0 to mean that the autoinc system is unavailable. Generation of next value will now return failure. rb://237 ------------------------------------------------------------------------ r6536 | sunny | 2010-01-30 00:13:42 +0200 (Sat, 30 Jan 2010) | 6 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Check *first_value everytime against the column max value and set *first_value to next autoinc if it's > col max value. ie. not rely on what is passed in from MySQL. [49497] Error 1467 (ER_AUTOINC_READ_FAILED) on inserting a negative value rb://236 ------------------------------------------------------------------------ r6537 | sunny | 2010-01-30 00:35:00 +0200 (Sat, 30 Jan 2010) | 2 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Undo r6536. ------------------------------------------------------------------------ r6538 | sunny | 2010-01-30 00:43:06 +0200 (Sat, 30 Jan 2010) | 6 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Check *first_value every time against the column max value and set *first_value to next autoinc if it's > col max value. ie. not rely on what is passed in from MySQL. [49497] Error 1467 (ER_AUTOINC_READ_FAILED) on inserting a negative value rb://236 ------------------------------------------------------------------------ ------------------------------------------------------------ revno: 3435.1.38 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:32:13 +0400 message: Applying InnoDB snapshot, fixes BUG#49047. Detailed revision comments: r6534 | sunny | 2010-01-29 23:42:49 +0200 (Fri, 29 Jan 2010) | 15 lines branches/zip: Two changes to fix the problem: 1. First scan the joining transaction's locks and check if no other transaction is waiting for a lock held by the joining transaction. If no other transaction is waiting then no deadlock an occur and we avoid doing an exhaustive search. 2. Change the direction of the lock traversal from backward to forward. Previously we traversed backward from the lock that has to wait, the function to that fetched the previous node was very inefficient resulting in O(n^2) access to the rec lock list. Fix Bug #49047 InnoDB deadlock detection is CPU intensive with many locks on a single row. rb://218 ------------------------------------------------------------ revno: 3435.1.37 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:31:37 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6533 | calvin | 2010-01-29 23:31:59 +0200 (Fri, 29 Jan 2010) | 4 lines branches/zip: remove duplicated copyright and license info. ------------------------------------------------------------ revno: 3435.1.36 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:31:17 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6527 | vasil | 2010-01-29 14:39:48 +0200 (Fri, 29 Jan 2010) | 6 lines branches/zip: Extend the comment about row_mysql_handle_errors(). Suggested by: Heikki ------------------------------------------------------------ revno: 3435.1.35 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:30:11 +0400 message: Applying InnoDB snapshot, fixes BUG#47622. Detailed revision comments: r6526 | jyang | 2010-01-28 18:12:40 +0200 (Thu, 28 Jan 2010) | 8 lines branches/zip: Add index translation table to map mysql index number to InnoDB index structure directly. Fix Bug #47622: "the new index is added before the existing ones in MySQL, but after one in SE". rb://215, approved by Marko ------------------------------------------------------------ revno: 3435.1.34 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:27:18 +0400 message: Applying InnoDB snapshot, fixes BUG#35077. Detailed revision comments: r6525 | marko | 2010-01-28 16:23:15 +0200 (Thu, 28 Jan 2010) | 11 lines branches/zip: buf_LRU_invalidate_tablespace(): Do not unnecessarily acquire the block_mutex for every block in the LRU list. Only acquire it when holding buf_pool_mutex is not sufficient. This should speed up the function and considerably reduce traffic on the memory bus and caches. I noticed this deficiency when working on Issue #157. This deficiency popped up again in Issue #449 (Bug #35077), which this fix does not fully address. rb://78 revision 1 approved by Heikki Tuuri. ------------------------------------------------------------ revno: 3435.1.33 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:26:39 +0400 message: Applying InnoDB snapshot, fixes BUG#41609. Detailed revision comments: r6521 | marko | 2010-01-27 10:49:01 +0200 (Wed, 27 Jan 2010) | 17 lines branches/zip: Drop temporary tables at startup. This addresses the third aspect of Bug #41609. row_mysql_drop_temp_tables(): New function, to drop all temporary tables. These can be distinguished by the least significant bit of MIX_LEN. However, we will skip ROW_FORMAT=REDUNDANT tables, because in the records for those tables, that bit may be garbage. recv_recovery_from_checkpoint_finish(): Invoke row_mysql_drop_temp_tables(). Normally, if the .frm files for the temporary tables exist at startup, MySQL will ask InnoDB to drop the temporary tables. However, if the files are deleted, for instance, by the boot scripts of the operating system, the tables would remain in the InnoDB data dictionary unless someone digs them up by innodb_table_monitor and creates .frm files for dropping the tables. rb://221 approved by Sunny Bains. ------------------------------------------------------------ revno: 3435.1.32 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:25:39 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6498 | marko | 2010-01-21 11:22:52 +0200 (Thu, 21 Jan 2010) | 15 lines branches/zip: buf_page_get_gen(): Obey recv_no_ibuf_operations and do not call ibuf_merge_or_delete_for_page() in crash recovery, before the redo log has been applied. This could cure some hard-to-repeat, hard-to-explain bugs related to secondary indexes. A possible recipe to repeat the bug: 1. update a secondary index leaf page on a compressed table 2. evict the page from the buffer pool while it is still dirty 3. ibuf_insert() something for the page 4. crash 5. crash recovery; ibuf merge would be done too early, before applying redo log to the sec index page or the ibuf pages ------------------------------------------------------------ revno: 3435.1.31 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:25:06 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6472 | calvin | 2010-01-16 01:53:47 +0200 (Sat, 16 Jan 2010) | 12 lines branches/zip: Merge revisions 6425:6471 from branches/5.1 to pick up the first part fix of bug49396. ------------------------------------------------------------------------ r6471 | calvin | 2010-01-15 17:43:27 -0600 (Fri, 15 Jan 2010) | 4 lines branches/5.1: fix bug#49396: main.innodb test fails in embedded mode Change replace_result by using $MYSQLD_DATADIR. Tested in both embedded mode and normal server mode. ------------------------------------------------------------------------ r6473 | calvin | 2010-01-16 01:58:16 +0200 (Sat, 16 Jan 2010) | 6 lines branches/zip: fix bug#49396: innodb.innodb-index test fails in embedded mode This is 2nd part of the fix for bug#49396. The 1st part is innodb.test. Tested in both embedded mode and normal server mode. ------------------------------------------------------------ revno: 3435.1.30 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:23:04 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6467 | inaam | 2010-01-14 20:46:00 +0200 (Thu, 14 Jan 2010) | 10 lines branches/zip rb://226 log_sys->written_to_all_lsn does not accurately represent the LSN upto which write and flush has taken place. Under a race condition it can fall behind log_sys->flushed_to_disk_lsn which is accurate. Besides written_to_all_lsn is redundant as currently InnoDB supports only one log group. Approved by: Heikki ------------------------------------------------------------ revno: 3435.1.29 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:22:39 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6463 | marko | 2010-01-14 15:43:37 +0200 (Thu, 14 Jan 2010) | 5 lines branches/zip: page_copy_rec_list_end(), page_copy_rec_list_start(): Update PAGE_MAX_TRX_ID before attempting to compress the page. This fixes Issue #382 (a debug assertion failure in page_zip_reorganize()) and reduces the generated redo log. There was no bug or crash in non-debug builds. ------------------------------------------------------------ revno: 3435.1.28 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:22:07 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6449 | marko | 2010-01-13 22:38:53 +0200 (Wed, 13 Jan 2010) | 18 lines branches/zip: lock_rec_validate_page(): Only validate the record queues when the thread is not holding a space->latch. When UNIV_DEBUG is defined while UNIV_SYNC_DEBUG is not, latching order violations will still occur and deadlocks will be possible. sync_thread_levels_nonempty_gen(): Renamed from sync_thread_levels_empty_gen(). Return the violating latch or NULL instead of FALSE or TRUE, except that there will be a ut_error before the non-NULL return. sync_thread_levels_empty_gen(): A macro that negates the return value of sync_thread_levels_nonempty_gen(). sync_thread_levels_contains(): New function, based on sync_thread_levels_nonempty_gen(). This should fix Issue #441. ------------------------------------------------------------ revno: 3435.1.27 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:21:36 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6447 | marko | 2010-01-13 17:43:44 +0200 (Wed, 13 Jan 2010) | 5 lines branches/zip: row_sel_get_clust_rec_for_mysql(): On the READ UNCOMMITTED isolation level, do not attempt to access a clustered index record that has been marked for deletion. This fixes Issue #433. Approved by Heikki over the IM. ------------------------------------------------------------ revno: 3435.1.26 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:21:13 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6446 | marko | 2010-01-13 17:20:10 +0200 (Wed, 13 Jan 2010) | 3 lines branches/zip: Treat mem_hash_mutex specially in mutex_free(), and explicitly free mem_hash_mutex in mem_close(). This fixes the breakage of UNIV_MEM_DEBUG that was filed as Issue #434. ------------------------------------------------------------ revno: 3435.1.25 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:20:54 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6445 | marko | 2010-01-13 17:15:29 +0200 (Wed, 13 Jan 2010) | 3 lines branches/zip: buf_pool_drop_hash_index(): Check block->page.state before checking block->is_hashed, because the latter may be uninitialized right after server startup. ------------------------------------------------------------ revno: 3435.1.24 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:20:36 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6433 | marko | 2010-01-13 13:19:00 +0200 (Wed, 13 Jan 2010) | 2 lines branches/zip: dict_sys_tables_get_flags(), dict_create_sys_*_tuple(): Add some const qualifiers and comments. ------------------------------------------------------------ revno: 3435.1.23 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:20:10 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6426 | marko | 2010-01-12 15:36:14 +0200 (Tue, 12 Jan 2010) | 2 lines branches/zip: row_sel_sec_rec_is_for_clust_rec(): Document the return value more accurately. ------------------------------------------------------------ revno: 3435.1.22 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:19:38 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6425 | marko | 2010-01-12 13:47:11 +0200 (Tue, 12 Jan 2010) | 45 lines branches/zip: Merge revisions 6350:6424 from branches/5.1: ------------------------------------------------------------------------ r6421 | jyang | 2010-01-12 07:59:16 +0200 (Tue, 12 Jan 2010) | 8 lines Changed paths: M /branches/5.1/row/row0mysql.c branches/5.1: Fix bug #49238: Creating/Dropping a temporary table while at 1023 transactions will cause assert. Handle possible DB_TOO_MANY_CONCURRENT_TRXS when deleting metadata in row_drop_table_for_mysql(). rb://220, approved by Marko ------------------------------------------------------------------------ r6422 | marko | 2010-01-12 11:34:27 +0200 (Tue, 12 Jan 2010) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/handler/ha_innodb.h branches/5.1: Non-functional change: Make innobase_get_int_col_max_value() a static function. It does not access any fields of class ha_innobase. ------------------------------------------------------------------------ r6424 | marko | 2010-01-12 12:22:19 +0200 (Tue, 12 Jan 2010) | 16 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/handler/ha_innodb.h branches/5.1: In innobase_initialize_autoinc(), do not attempt to read the maximum auto-increment value from the table if innodb_force_recovery is set to at least 4, so that writes are disabled. (Bug #46193) innobase_get_int_col_max_value(): Move the function definition before ha_innobase::innobase_initialize_autoinc(), because that function now calls this function. ha_innobase::innobase_initialize_autoinc(): Change the return type to void. Do not attempt to read the maximum auto-increment value from the table if innodb_force_recovery is set to at least 4. Issue ER_AUTOINC_READ_FAILED to the client when the auto-increment value cannot be read. rb://144 by Sunny, revised by Marko ------------------------------------------------------------------------ ------------------------------------------------------------ revno: 3435.1.21 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:19:18 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6367 | marko | 2009-12-28 15:39:19 +0200 (Mon, 28 Dec 2009) | 2 lines branches/zip: dict_index_add_to_cache(): Always free the index object, also when returning DB_CORRUPTION. ------------------------------------------------------------ revno: 3435.1.20 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:17:10 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6348 | marko | 2009-12-22 11:04:34 +0200 (Tue, 22 Dec 2009) | 37 lines branches/zip: Merge a change from MySQL: r6351 | marko | 2009-12-22 11:11:18 +0200 (Tue, 22 Dec 2009) | 1 line branches/zip: Remove an obsolete declaration of LOCK_thread_count. r6352 | marko | 2009-12-22 12:33:01 +0200 (Tue, 22 Dec 2009) | 104 lines branches/zip: Merge revisions 6206:6350 from branches/5.1, except r6347, r6349, r6350 which were committed separately to both branches, and r6310, which was backported from zip to 5.1. ------------------------------------------------------------------------ r6206 | jyang | 2009-11-20 09:38:43 +0200 (Fri, 20 Nov 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Non-functional change, fix formatting. ------------------------------------------------------------------------ r6230 | sunny | 2009-11-24 23:52:43 +0200 (Tue, 24 Nov 2009) | 3 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result branches/5.1: Fix autoinc failing test results. (this should be skipped when merging 5.1 into zip) ------------------------------------------------------------------------ r6231 | sunny | 2009-11-25 10:26:27 +0200 (Wed, 25 Nov 2009) | 7 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test M /branches/5.1/row/row0sel.c branches/5.1: Fix BUG#49032 - auto_increment field does not initialize to last value in InnoDB Storage Engine. We use the appropriate function to read the column value for non-integer autoinc column types, namely float and double. rb://208. Approved by Marko. ------------------------------------------------------------------------ r6232 | sunny | 2009-11-25 10:27:39 +0200 (Wed, 25 Nov 2009) | 2 lines Changed paths: M /branches/5.1/row/row0sel.c branches/5.1: This is an interim fix, fix white space errors. ------------------------------------------------------------------------ r6233 | sunny | 2009-11-25 10:28:35 +0200 (Wed, 25 Nov 2009) | 2 lines Changed paths: M /branches/5.1/include/mach0data.h M /branches/5.1/include/mach0data.ic M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test M /branches/5.1/row/row0sel.c branches/5.1: This is an interim fix, fix tests and make read float/double arg const. ------------------------------------------------------------------------ r6234 | sunny | 2009-11-25 10:29:03 +0200 (Wed, 25 Nov 2009) | 2 lines Changed paths: M /branches/5.1/row/row0sel.c branches/5.1: This is an interim fix, fix whitepsace issues. ------------------------------------------------------------------------ r6235 | sunny | 2009-11-26 01:14:42 +0200 (Thu, 26 Nov 2009) | 9 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Fix Bug#47720 - REPLACE INTO Autoincrement column with negative values. This bug is similiar to the negative autoinc filter patch from earlier, with the additional handling of filtering out the negative column values set explicitly by the user. rb://184 Approved by Heikki. ------------------------------------------------------------------------ r6242 | vasil | 2009-11-27 22:07:12 +0200 (Fri, 27 Nov 2009) | 4 lines Changed paths: M /branches/5.1/export.sh branches/5.1: Minor changes to support plugin snapshots. ------------------------------------------------------------------------ r6306 | calvin | 2009-12-14 15:12:46 +0200 (Mon, 14 Dec 2009) | 5 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: fix bug#49267: innodb-autoinc.test fails on windows because of different case mode There is no change to the InnoDB code, only to fix test case by changing "T1" to "t1". ------------------------------------------------------------------------ r6324 | jyang | 2009-12-17 06:54:24 +0200 (Thu, 17 Dec 2009) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/lock0lock.h M /branches/5.1/include/srv0srv.h M /branches/5.1/lock/lock0lock.c M /branches/5.1/log/log0log.c M /branches/5.1/srv/srv0srv.c M /branches/5.1/srv/srv0start.c branches/5.1: Fix bug #47814 - Diagnostics are frequently not printed after a long lock wait in InnoDB. Separate out the lock wait timeout check thread from monitor information printing thread. rb://200 Approved by Marko. ------------------------------------------------------------------------ r6364 | marko | 2009-12-26 21:06:31 +0200 (Sat, 26 Dec 2009) | 4 lines branches/zip: ibuf_bitmap_get_map_page(): Define a wrapper macro that passes __FILE__, __LINE__ of the caller to buf_page_get_gen(). This will ease the diagnosis of the likes of Issue #135. ------------------------------------------------------------ revno: 3435.1.19 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:10:01 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6346 | marko | 2009-12-21 12:03:25 +0200 (Mon, 21 Dec 2009) | 2 lines branches/zip: recv_recovery_from_checkpoint_finish(): Revert a change that was accidentally committed in r6345. ------------------------------------------------------------ revno: 3435.1.18 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:09:37 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6345 | marko | 2009-12-21 10:46:14 +0200 (Mon, 21 Dec 2009) | 7 lines branches/zip: recv_scan_log_recs(): Non-functional change: Replace a debug assertion ut_ad(len > 0) with ut_ad(len >= OS_FILE_LOG_BLOCK_SIZE). This change is only for readability, for Issue #428. Another assertion on len being an integer multiple of OS_FILE_LOG_BLOCK_SIZE already ensured together with the old ut_ad(len > 0) that actually len must be at least OS_FILE_LOG_BLOCK_SIZE. ------------------------------------------------------------ revno: 3435.1.17 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:09:15 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6321 | marko | 2009-12-16 16:16:33 +0200 (Wed, 16 Dec 2009) | 4 lines branches/zip: row_merge_drop_temp_indexes(): Revert a hack to transaction isolation level that was made unnecessary by r5826 (Issue #337). When this function is called, any active data dictionary transaction should have been rolled back. ------------------------------------------------------------ revno: 3435.1.16 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:08:47 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6312 | marko | 2009-12-16 10:10:36 +0200 (Wed, 16 Dec 2009) | 6 lines branches/zip: fil_close(): Add #ifndef UNIV_HOTBACKUP around a debug assertion on mutex.magic_n. InnoDB Hot Backup is a single-threaded program and does not contain mutexes. This change allows InnoDB Hot Backup to be compiled with UNIV_DEBUG. Suggested by Michael Izioumtchenko. ------------------------------------------------------------ revno: 3435.1.15 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:08:06 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6309 | marko | 2009-12-15 14:05:50 +0200 (Tue, 15 Dec 2009) | 3 lines branches/zip: lock_rec_insert_check_and_lock(): Avoid casting away constness. Use page_rec_get_next_const() instead. This silences a gcc 4.2.4 warning. Reported by Sunny Bains. ------------------------------------------------------------ revno: 3435.1.14 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:07:37 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6305 | marko | 2009-12-14 13:03:57 +0200 (Mon, 14 Dec 2009) | 2 lines branches/zip: row_undo_mod_del_unmark_sec_and_undo_update(): Add a missing const qualifier. ------------------------------------------------------------ revno: 3435.1.13 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:03:27 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6285 | marko | 2009-12-09 09:24:50 +0200 (Wed, 09 Dec 2009) | 13 lines branches/zip: row_sel_fetch_columns(): Remove redundant code that was accidentally added in r1591, which introduced dfield_t::ext in order to make the merge sort of fast index creation support externally stored columns, Initially, I tried to allocate the bit for dfield_t::ext from dfield_t::len by making the length 31 bits and mapping UNIV_SQL_NULL to something that would fit in it. Then I decided that it would be too risky. The redundant check was part of the mapping. The condition may have been dfield_is_null() initially. This redundant code was noticed by Sergey Petrunya on the MySQL internals list. r6288 | marko | 2009-12-09 09:51:00 +0200 (Wed, 09 Dec 2009) | 15 lines branches/zip: row_upd_copy_columns(): Remove redundant code that was accidentally added in r1591, which introduced dfield_t::ext in order to make the merge sort of fast index creation support externally stored columns. Initially, I tried to allocate the bit for dfield_t::ext from dfield_t::len by making the length 31 bits and mapping UNIV_SQL_NULL to something that would fit in it. Then I decided that it would be too risky. The redundant check was part of the mapping. The condition may have been dfield_is_null() initially. This is similar to the redundant code in row_sel_fetch_columns() that was noticed by Sergey Petrunya on the MySQL internals list and removed in r6285. As far as I can tell, there are no redundant UNIV_SQL_NULL assignments remaining after this change. ------------------------------------------------------------ revno: 3435.1.12 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:01:56 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6277 | marko | 2009-12-08 11:13:36 +0200 (Tue, 08 Dec 2009) | 1 line branches/zip: fsp0fsp.c: Add some missing in/out and const qualifiers. ------------------------------------------------------------ revno: 3435.1.11 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:01:13 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6275 | pekka | 2009-12-03 18:32:47 +0200 (Thu, 03 Dec 2009) | 10 lines branches/zip: Minor changes which allow build with UNIV_HOTBACKUP defined to succeed: include/trx0sys.h: Allow Hot Backup build to see some TRX_SYS_DOUBLEWRITE_... macros. trx/trx0sys.c: Exclude trx_sys_close() function from Hot Backup build. log/log0recv.[ch]: Exclude recv_sys_var_init() function from Hot Backup build. This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------ revno: 3435.1.10 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:00:30 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6274 | marko | 2009-12-03 14:47:12 +0200 (Thu, 03 Dec 2009) | 6 lines branches/zip: dict_table_check_for_dup_indexes(): Assert that the data dictionary mutex is being held while table->indexes is accessed. This is already the case. Currently, only dict_table_get_next_index() and dict_table_get_first_index() are being invoked without holding dict_sys->mutex. ------------------------------------------------------------ revno: 3435.1.9 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 15:00:09 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6272 | marko | 2009-12-02 11:46:05 +0200 (Wed, 02 Dec 2009) | 1 line branches/zip: Revert changes that were accidentally committed in r6271. ------------------------------------------------------------ revno: 3435.1.8 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 14:58:37 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6271 | marko | 2009-12-02 11:43:49 +0200 (Wed, 02 Dec 2009) | 2 lines branches/zip: ChangeLog: Document that since r6270, the zlib version number will be displayed at start-up. ------------------------------------------------------------ revno: 3435.1.7 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 14:53:07 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6270 | marko | 2009-12-02 11:36:47 +0200 (Wed, 02 Dec 2009) | 1 line branches/zip: innobase_start_or_create_for_mysql(): Log the zlib version. ------------------------------------------------------------ revno: 3435.1.6 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 14:52:21 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6269 | marko | 2009-12-02 11:35:22 +0200 (Wed, 02 Dec 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): UNIV_IBUF_DEBUG should not break crash recovery, but UNIV_IBUF_COUNT_DEBUG will. ------------------------------------------------------------ revno: 3435.1.5 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 14:51:49 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6264 | vasil | 2009-12-01 16:19:44 +0200 (Tue, 01 Dec 2009) | 1 line branches/zip: Add ChangeLog entry for the release of 1.0.6. ------------------------------------------------------------ revno: 3435.1.4 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 14:50:16 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6263 | vasil | 2009-12-01 14:49:05 +0200 (Tue, 01 Dec 2009) | 4 lines branches/zip: Increment version number from 1.0.6 to 1.0.7 1.0.6 has been released ------------------------------------------------------------ revno: 3435.1.3 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 14:45:58 +0400 message: Applying InnoDB snapshot, fixes BUG#41609. Detailed revision comments: r6252 | marko | 2009-11-30 12:50:11 +0200 (Mon, 30 Nov 2009) | 23 lines branches/zip: Suppress errors about non-found temporary tables. Write the is_temp flag to SYS_TABLES.MIX_LEN. dict_table_t::flags: Add a flag for is_temporary, DICT_TF2_TEMPORARY. Unlike other flags, this will not be written to the tablespace flags or SYS_TABLES.TYPE, but only to SYS_TABLES.MIX_LEN. dict_build_table_def_step(): Only pass DICT_TF_BITS to tablespaces. dict_check_tablespaces_and_store_max_id(), dict_load_table(): Suppress errors about temporary tables not being found. dict_create_sys_tables_tuple(): Write the DICT_TF2_TEMPORARY flag to SYS_TABLES.MIX_LEN. fil_space_create(), fil_create_new_single_table_tablespace(): Add assertions about space->flags. row_drop_table_for_mysql(): Do not complain about non-found temporary tables. rb://160 approved by Heikki Tuuri. This addresses the second part of Bug #41609 Crash recovery does not work for InnoDB temporary tables. ------------------------------------------------------------ revno: 3435.1.2 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-04-01 14:44:32 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6248 | marko | 2009-11-30 12:19:50 +0200 (Mon, 30 Nov 2009) | 1 line branches/zip: ChangeLog: Document r4922 that was forgotten. ------------------------------------------------------------ revno: 3438 committer: Georgi Kodinov <joro@sun.com> branch nick: merge-5.1-bugteam timestamp: Thu 2010-04-01 14:19:15 +0300 message: merge ------------------------------------------------------------ revno: 3363.1.4 author: hery.ramilison@sun.com committer: MySQL Build Team <build@mysql.com> branch nick: mysql-5.1 timestamp: Wed 2010-03-17 00:26:26 +0100 message: Merge from mysql-5.1.45-release ------------------------------------------------------------ revno: 3363.2.1 tags: mysql-5.1.45 committer: Kent Boortz <kent.boortz@sun.com> branch nick: mysql-5.1.45-release timestamp: Mon 2010-03-01 20:18:09 +0100 message: Revert untested VPATH changes ------------------------------------------------------------ revno: 3437 committer: Georgi Kodinov <joro@sun.com> branch nick: B37168-5.1-bugteam timestamp: Thu 2010-04-01 14:04:45 +0300 message: merge ------------------------------------------------------------ revno: 3435.1.1 committer: Ramil Kalimullin <ramil@mysql.com> branch nick: b52397-5.1-bugteam timestamp: Wed 2010-03-31 17:00:56 +0400 message: Fix for bug#52397: another crash with explain extended and group_concat Problem: EXPLAIN EXTENDED was trying to resolve references to freed temporary table fields for GROUP_CONCAT()'s ORDER BY arguments. Fix: use stored original GROUP_CONCAT()'s arguments in such a case. ------------------------------------------------------------ revno: 3436 committer: Georgi Kodinov <joro@sun.com> branch nick: B37168-5.1-bugteam timestamp: Wed 2010-03-31 16:12:37 +0300 message: Bug #37168: Missing variable - skip_name_resolve Added a read-only global boolean variable skip_name_resolve. ------------------------------------------------------------ revno: 3435 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.1-bugteam timestamp: Mon 2010-03-29 18:42:49 +0500 message: fixed compiler warning ------------------------------------------------------------ revno: 3434 committer: Georgi Kodinov <joro@sun.com> branch nick: B51893-take2-5.1-bugteam timestamp: Tue 2010-03-30 15:10:25 +0300 message: merge ------------------------------------------------------------ revno: 1810.3987.9 committer: Georgi Kodinov <joro@sun.com> branch nick: B51893-take2-5.0-bugteam timestamp: Tue 2010-03-30 15:03:50 +0300 message: Bug #51893: crash with certain characters given to load_file function on windows When making sure that the directory path ends up with a slash/backslash we need to check for the correct length of the buffer and trim at the appropriate location so we don't write past the end of the buffer. ------------------------------------------------------------ revno: 3433 committer: Georgi Kodinov <joro@sun.com> branch nick: B51893-take2-5.1-bugteam timestamp: Tue 2010-03-23 16:54:16 +0200 message: Bug #51893: crash with certain characters given to load_file function on windows When making sure that the directory path ends up with a slash/backslash we need to check for the correct length of the buffer and trim at the appropriate location so we don't write past the end of the buffer. ------------------------------------------------------------ revno: 3432 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.1-bugteam timestamp: Fri 2010-03-26 11:46:18 +0400 message: 5.0-bugteam->5.1-bugteam merge ------------------------------------------------------------ revno: 1810.3987.8 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Fri 2010-03-26 11:44:24 +0400 message: Bug#52177 crash with explain, row comparison, join, text field The crash is the result of an attempt made by JOIN::optimize to evaluate the WHERE condition when no records have been actually read. The fix is to remove erroneous 'outer_join' variable check. ------------------------------------------------------------ revno: 3431 committer: Tatiana A. Nurnberg <azundris@mysql.com> branch nick: 51-48525_ timestamp: Mon 2010-03-29 03:32:30 +0100 message: Bug#48525: trigger changes "Column 'id' cannot be null" behaviour CHECK_FIELD_IGNORE was treated as CHECK_FIELD_ERROR_FOR_NULL; UPDATE...SET...NULL on NOT NULL fields behaved differently after a trigger. Now distinguishes between IGNORE and ERROR_FOR_NULL and save/restores check-field options. ------------------------------------------------------------ revno: 3430 committer: <Li-Bing.Song@sun.com> branch nick: mysql-5.1-bugteam timestamp: Sun 2010-03-28 19:57:33 +0800 message: Bug #50407 mysqlbinlog --database=X produces bad output for SAVEPOINTs When mysqlbinlog was given the --database=X flag, it always printed 'ROLLBACK TO', but the corresponding 'SAVEPOINT' statement was not printed. The replicated filter(replicated-do/ignore-db) and binlog filter (binlog-do/ignore-db) has the same problem. They are solved in this patch together. After this patch, We always check whether the query is 'SAVEPOINT' statement or not. Because this is a literal check, 'SAVEPOINT' and 'ROLLBACK TO' statements are also binlogged in uppercase with no any comments. The binlog before this patch can be handled correctly except one case that any comments are in front of the keywords. for example: /* bla bla */ SAVEPOINT a; /* bla bla */ ROLLBACK TO a; ------------------------------------------------------------ revno: 3429 committer: <Li-Bing.Song@sun.com> branch nick: mysql-5.1-bugteam timestamp: Sun 2010-03-28 16:37:47 +0800 message: Bug #50095 Multi statement including CREATE EVENT causes rotten binlog entry The log event of 'CREATE EVENT' was being binlogged with garbage at the end of the query if 'CREATE EVENT' is followed by another SQL statement and they were executed as one command. for example: DELIMITER |; CREATE EVENT e1 ON EVERY DAY DO SELECT 1; SELECT 'a'; DELIMITER ;| When binlogging 'CREATE EVENT', we always create a new statement with definer and write it into the log event. The new statement is made from cpp_buf(preprocessed buffer). which is not a c string(end with '\0'), but it is copied as a c string. In this patch, cpp_buf is copied with its length. ------------------------------------------------------------ revno: 3428 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-push timestamp: Fri 2010-03-26 15:20:11 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6884 | vdimov | 2010-03-26 13:05:03 +0200 (Fri, 26 Mar 2010) | 6 lines branches/5.1: Fix a non-determinism in innodb_bug38231. Reported by: Sergey Vojtovich <svoj@Sun.COM> r6884 | vdimov | 2010-03-26 13:05:03 +0200 (Fri, 26 Mar 2010) | 6 lines branches/5.1: Fix a non-determinism in innodb_bug38231. Reported by: Sergey Vojtovich <svoj@Sun.COM> ------------------------------------------------------------ revno: 3427 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-push timestamp: Fri 2010-03-26 14:21:10 +0400 message: Merge fix for BUG51868 to mysql-5.1-bugteam. ------------------------------------------------------------ revno: 3407.3.1 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-bug51868 timestamp: Mon 2010-03-22 16:30:27 +0400 message: BUG#51868 - crash with myisam_use_mmap and partitioned myisam tables Queries following TRUNCATE of partitioned MyISAM table may crash server if myisam_use_mmap is true. Internally this is MyISAM bug, but limited to partitioned tables, because MyISAM doesn't use ::delete_all_rows() method for TRUNCATE, but goes via table recreate instead. MyISAM didn't properly fall back to non-mmaped I/O after mmap() failure. Was not repeatable on linux before, likely because (quote from man mmap): SUSv3 specifies that mmap() should fail if length is 0. However, in kernels before 2.6.12, mmap() succeeded in this case: no mapping was created and the call returned addr. Since kernel 2.6.12, mmap() fails with the error EINVAL for this case. ------------------------------------------------------------ revno: 3426 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-push timestamp: Fri 2010-03-26 14:20:10 +0400 message: Merge fix for BUG46565 to mysql-5.1-bugteam. ------------------------------------------------------------ revno: 3407.2.1 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-bug46565 timestamp: Thu 2010-03-25 23:57:06 +0400 message: BUG#46565 - repair of partition fail for archive engine There was no way to repair corrupt ARCHIVE data file, when unrecoverable data loss is inevitable. With this fix REPAIR ... EXTENDED attempts to restore as much rows as possible, ignoring unrecoverable data. Normal REPAIR is still able to repair meta-data file only. ------------------------------------------------------------ revno: 3425 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.1-bugteam timestamp: Fri 2010-03-26 09:49:35 +0400 message: Bug#52164 Assertion failed: param.sort_length, file .\filesort.cc, line 149 The crash happens because of incorrect max_length calculation in QUOTE function(due to overflow). max_length is set to 0 and it leads to assert failure. The fix is to cast expression result to ulonglong variable and adjust it if the result exceeds MAX_BLOB_WIDTH. ------------------------------------------------------------ revno: 3424 committer: Ramil Kalimullin <ramil@mysql.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-03-25 20:35:07 +0400 message: An addition to fix for BUG#51866 - crash with repair by sort and fulltext keys. Min value for myisam_sort_buffer_size is 4096. ------------------------------------------------------------ revno: 3423 committer: Andrei Elkin <aelkin@mysql.com> branch nick: 5.1-bt timestamp: Thu 2010-03-25 18:13:23 +0200 message: merge from 5.1-bt rep ------------------------------------------------------------ revno: 3421.1.1 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-03-25 19:59:54 +0400 message: Merge fixes for BUG51877, BUG51866, BUG47598 to mysql-5.1-bugteam. ------------------------------------------------------------ revno: 3419.2.3 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-push timestamp: Thu 2010-03-25 16:11:16 +0400 message: Merge fix for BUG51866 to mysql-5.1-bugteam. ------------------------------------------------------------ revno: 3400.1.4 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-bug51866 timestamp: Thu 2010-03-25 16:08:21 +0400 message: BUG#51866 - crash with repair by sort and fulltext keys Repairing MyISAM table with fulltext indexes and low myisam_sort_buffer_size may crash the server. Estimation of number of index entries was done incorrectly, causing further assertion failure or server crash. Docs note: min value for myisam_sort_buffer_size has been changed from 4 to 4096. ------------------------------------------------------------ revno: 3419.2.2 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-push timestamp: Thu 2010-03-25 15:50:36 +0400 message: Merge fix for BUG51877 to mysql-5.1-bugteam. ------------------------------------------------------------ revno: 3403.1.1 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-bug51877 timestamp: Thu 2010-03-25 15:49:01 +0400 message: BUG#51877 - HANDLER interface causes invalid memory read Invalid memory read if HANDLER ... READ NEXT is executed after failed (e.g. empty table) HANDLER ... READ FIRST. The problem was that we attempted to perform READ NEXT, whereas there is no pivot available from failed READ FIRST. With this fix READ NEXT after failed READ FIRST equals to READ FIRST. This bug affects MyISAM tables only. ------------------------------------------------------------ revno: 3419.2.1 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-push timestamp: Thu 2010-03-25 15:20:35 +0400 message: Merge fix for BUG47598 to mysql-5.1-bugteam. ------------------------------------------------------------ revno: 3400.3.1 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-bug47598 timestamp: Thu 2010-03-25 15:18:14 +0400 message: BUG#47598 - MyISAM may write uninitialized data to disk When MyISAM writes newly created index page it may be initialized partially. In other words some bytes of sensible data and uninitialized tail of the page may go into index file. Under certain rare circumstances these hunks of memory may contain data that would be otherwise inaccessible to user, like passwords or data from other tables. Fixed by initializing memory for temporary MyISAM key buffer to '\0'. No test case for this fix as it is heavily covered by existing tests. ------------------------------------------------------------ revno: 3422 committer: Andrei Elkin <aelkin@mysql.com> branch nick: 5.1-bt timestamp: Thu 2010-03-25 14:49:24 +0200 message: merging bug#52304 to 5.1-bt,pe ------------------------------------------------------------ revno: 3411.1.1 committer: Andrei Elkin <aelkin@mysql.com> branch nick: 5.1-bt-bug_rpl_show_slave_running timestamp: Tue 2010-03-23 17:00:50 +0200 message: Bug #52304 valgrind does not like to print un-inited string in Protocol_text::store() The reason of the failure was apparent flaw in that a pointer to an uninitialized buffer was passed to DBUG_PRINT of Protocol_text::store(). Fixed with splitting the print-out into two branches: one with length zero of the problematic arg and the rest. ------------------------------------------------------------ revno: 3421 committer: Alexey Botchkov <holyfoot@mysql.com> branch nick: 51mrg timestamp: Wed 2010-03-24 16:14:47 +0400 message: merging. ------------------------------------------------------------ revno: 3419.1.1 committer: Kristofer Pettersson <kristofer.pettersson@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-03-25 13:26:48 +0100 message: Automerge ------------------------------------------------------------ revno: 3367.1.1 committer: Kristofer Pettersson <kristofer.pettersson@sun.com> branch nick: 51-bug46615 timestamp: Wed 2010-03-24 17:37:41 +0100 message: Bug#46615 Assertion in Query_cache::invalidate in INSERT in a VIEW of a MERGE table If the listed columns in the view definition of the table used in a 'INSERT .. SELECT ..' statement mismatched, a debug assertion would trigger in the cache invalidation code following the failing statement. Although the find_field_in_view() function correctly generated ER_BAD_FIELD_ERROR during setup_fields(), the error failed to propagate further than handle_select(). This patch fixes the issue by adding a check for the return value. ------------------------------------------------------------ revno: 3420 committer: Alexey Botchkov <holyfoot@mysql.com> branch nick: 51mrg timestamp: Wed 2010-03-24 16:03:29 +0400 message: merging. ------------------------------------------------------------ revno: 3384.1.1 committer: Alexey Botchkov <holyfoot@mysql.com> branch nick: 51377 timestamp: Tue 2010-03-09 14:19:10 +0400 message: Bug#51377 Crash in information_schema / processlist on concurrent DDL workload the fill_schema_processlist function accesses THD::query() without proper protection so the parallel thread killing can lead to access to the freed meemory. per-file comments: sql/sql_load.cc Bug#51377 Crash in information_schema / processlist on concurrent DDL workload the THD::set_query_inner() call needs to be protected. But here we don't need to change the original thd->query() at all. sql/sql_show.cc Bug#51377 Crash in information_schema / processlist on concurrent DDL workload protect the THD::query() access with the THD::LOCK_thd_data mutex. ------------------------------------------------------------ revno: 3419 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2010-03-24 23:09:23 +0400 message: More exceptions for InnoDB plugin tests. ------------------------------------------------------------ revno: 3418 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2010-03-24 18:52:28 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6822 | vasil | 2010-03-15 10:17:31 +0200 (Mon, 15 Mar 2010) | 12 lines 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> ------------------------------------------------------------ revno: 3417 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2010-03-24 18:51:57 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6785 | vasil | 2010-03-10 09:04:38 +0200 (Wed, 10 Mar 2010) | 11 lines 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 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. ------------------------------------------------------------ revno: 3416 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2010-03-24 18:39:23 +0400 message: Applying InnoDB snapshot, fixes BUG#47621. Detailed revision comments: r6783 | jyang | 2010-03-09 17:54:14 +0200 (Tue, 09 Mar 2010) | 9 lines 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. ------------------------------------------------------------ revno: 3415 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2010-03-24 18:37:23 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6780 | vasil | 2010-03-08 19:13:20 +0200 (Mon, 08 Mar 2010) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------ revno: 3414 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2010-03-24 18:36:05 +0400 message: Applying InnoDB snapshot, fixes BUG#51653 Detailed revision comments: r6774 | calvin | 2010-03-03 23:56:10 +0200 (Wed, 03 Mar 2010) | 2 lines branches/5.1: fix bug#51653: outdated reference to set-variable Non functional change. ------------------------------------------------------------ revno: 3413 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2010-03-24 14:45:09 +0400 message: 5.0-bugteam->5.1-bugteam merge ------------------------------------------------------------ revno: 1810.3987.7 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Wed 2010-03-24 14:37:28 +0400 message: Bug#48483 crash in get_best_combination() The crash happens because greedy_serach can not determine best plan due to wrong inner table dependences. These dependences affects join table sorting which performs before greedy_search starting. In our case table which has real 'no dependences' should be put on top of the list but it does not happen as inner tables have no dependences as well. The fix is to exclude RAND_TABLE_BIT mask from condition which checks if table dependences should be updated. ------------------------------------------------------------ revno: 3412 committer: Georgi Kodinov <joro@sun.com> branch nick: B51850-5.1-bugteam timestamp: Tue 2010-03-23 17:07:00 +0200 message: Bug #51850: crash/memory overlap when using load data infile and set col equal to itself! There's no need to copy the value of a field into itself. While generally harmless (except for some performance penalties) it may be dangerous when the copy code doesn't expect this. Fixed by checking if the source field is the same as the destination field before copying the data. Note that we must preserve the order of assignment of the null flags (hence the null_value assignment addition). ------------------------------------------------------------ revno: 3411 committer: Alexander Barkov <bar@mysql.com> branch nick: mysql-5.1-bugteam.b51976 timestamp: Mon 2010-03-22 16:29:53 +0400 message: Merging the latest changes ------------------------------------------------------------ revno: 3407.1.9 committer: Mats Kindahl <mats@sun.com> branch nick: b49618-mysql-5.1-bugteam timestamp: Mon 2010-03-22 13:12:57 +0100 message: Merging with mysql-5.1-bugfixing. ------------------------------------------------------------ revno: 3407.1.8 committer: Mats Kindahl <mats@sun.com> branch nick: b49618-mysql-5.1-bugteam timestamp: Mon 2010-03-22 13:10:18 +0100 message: BUG#49618: Field length stored incorrectly in binary log for InnoDB Patch to fix result files for the binlog suite under row- based replication. ------------------------------------------------------------ revno: 3410 committer: Alexander Barkov <bar@mysql.com> branch nick: mysql-5.1-bugteam.b51976 timestamp: Mon 2010-03-22 16:27:59 +0400 message: Bug #51976 LDML collations issue Problem: caseup_multiply and casedn_multiply members were not initialized for a dynamic collation, so UPPER() and LOWER() functions returned empty strings. Fix: initializing the members properly. Adding tests: mysql-test/r/ctype_ldml.result mysql-test/t/ctype_ldml.test Applying the fix: mysys/charset.c ------------------------------------------------------------ revno: 3409 committer: John H. Embretsen <john.embretsen@sun.com> branch nick: mysql-5.1-bugteam timestamp: Mon 2010-03-22 10:06:56 +0100 message: Merge fix for bug 52060 into tip of 5.1-bugteam. ------------------------------------------------------------ revno: 3407.1.7 committer: Gleb Shchepa <gshchepa@mysql.com> branch nick: mysql-5.1-bugteam timestamp: Mon 2010-03-22 12:33:25 +0400 message: Bug #49910: Behavioural change in SELECT/WHERE on YEAR(4) data type (Original patch by Sinisa Milivojevic) The YEAR(4) value of 2000 was equal to the "bad" YEAR(4) value of 0000. The get_year_value() function has been modified to not adjust bad YEAR(4) value to 2000. ------------------------------------------------------------ revno: 3407.1.6 committer: Andrei Elkin <aelkin@mysql.com> branch nick: 5.1-bt timestamp: Mon 2010-03-22 07:50:19 +0200 message: bug#51648 comments to rpl_show_slave_running test are added to ease merging ------------------------------------------------------------ revno: 3407.1.5 committer: Andrei Elkin <aelkin@mysql.com> branch nick: 5.1-bt timestamp: Sun 2010-03-21 21:30:49 +0200 message: merging bug@51648 to 5.1-bt, pe from local bugfixing branch ------------------------------------------------------------ revno: 3399.1.1 committer: Andrei Elkin <aelkin@mysql.com> branch nick: 5.1-bt-bug_rpl_show_slave_running timestamp: Fri 2010-03-19 11:06:40 +0200 message: Bug #51648 DBUG_SYNC_POINT is not defined on all platforms and mtr cant pre-check that DBUG_SYNC_POINT has at least one strong limitation that it's not defined on all platforms. It has issues cooperating with @@debug. All in all its functionality is superseded by DEBUG_SYNC facility and there is no reason to maintain the old less flexible one. Fixed with adding debug_sync_set_action() function as a facility to set up a sync-action in the server sources code and re-writing existing simulations (found 3) to use it. Couple of tests have been reworked as well. The patch offers a pattern for setting sync-points in replication threads where the standard DEBUG_SYNC does not suffice to reach goals. ------------------------------------------------------------ revno: 3407.1.4 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.1-bugteam timestamp: Fri 2010-03-19 13:09:22 +0400 message: Bug#51242 HAVING clause on table join produce incorrect results The problem is that when we make conditon for grouped result const part of condition is cut off. It happens because some parts of 'having' condition which refer to outer join become const after make_join_statistics. These parts may be lost during further having condition transformation in JOIN::exec. The fix is adding 'having' condition check for const tables after make_join_statistics is performed. ------------------------------------------------------------ revno: 3407.1.3 committer: Martin Hansson <martin.hansson@sun.com> branch nick: 5.1bt-post_push timestamp: Fri 2010-03-19 09:23:44 +0100 message: Post-push fix to disable a subset of the test case for Bug#47762. This has been back-ported from 6.0 as the problems proved to afflict 5.1 as well. The fix exposed two new bugs. They were reported as follows. Bug no 52174: Sometimes wrong plan when reading a MAX value from non-NULL index Bug no 52173: Reading NULL value from non-NULL index gives wrong result in embedded server Both bugs taken together affect a much smaller class of queries than #47762, so the fix stays for now. ------------------------------------------------------------ revno: 3407.1.2 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.1-bugteam timestamp: Fri 2010-03-19 10:21:37 +0400 message: Bug#51598 Inconsistent behaviour with a COALESCE statement inside an IN comparison Optimizer erroneously translated LEFT JOIN into INNER JOIN. It leads to cutting rows with NULL right side. It happens because Item_row uses not_null_tables() method form the base(Item) class and does not calculate 'null tables' properly. The fix is adding calculation of 'not null tables' to Item_row. ------------------------------------------------------------ revno: 3407.1.1 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.1-bugteam timestamp: Fri 2010-03-19 10:01:02 +0400 message: Bug#51494 crash with join, explain and 'sounds like' operator The crash happens because of discrepancy between values of conts_tables and join->const_table_map(make_join_statisctics). Calculation of conts_tables used condition with HA_STATS_RECORDS_IS_EXACT flag check. Calculation of join->const_table_map does not use this flag check. In case of MERGE table without union with index the table does not become const table and thus join_read_const_table() is not called for the table. join->const_table_map supposes this table is const and later in make_join_select this table is used for making&calculation const condition. As table record buffer is not populated it leads to crash. The fix is adding a check if an engine supports HA_STATS_RECORDS_IS_EXACT flag before updating join->const_table_map. ------------------------------------------------------------ revno: 3408 committer: John H. Embretsen <john.embretsen@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-03-18 11:26:27 +0100 message: Bug#52060 - test udf fails on Snow Leopard reverse DNS lookup of "localhost" returns "broadcasthost" on Snow Leopard, and NULL on most others. Simply ignore the output, as this is not an essential part of UDF testing. ------------------------------------------------------------ revno: 3407 committer: Omer BarNir <omer@mysql.com> branch nick: v2_bug-5.1 timestamp: Wed 2010-03-17 23:42:07 -0700 message: Test suites for engine testing, moved from test-extra so will be available for general use. ------------------------------------------------------------ revno: 3406 committer: Mats Kindahl <mats@sun.com> branch nick: b49618-mysql-5.1-bugteam timestamp: Wed 2010-03-17 19:15:41 +0100 message: Merging with mysql-5.1-bugteam ------------------------------------------------------------ revno: 3188.4.2 committer: Mats Kindahl <mats@sun.com> branch nick: b49618-mysql-5.1 timestamp: Wed 2010-03-17 15:28:49 +0100 message: BUG#49618: Field length stored incorrectly in binary log for InnoDB The class Field_bit_as_char stores the metadata for the field incorrecly because bytes_in_rec and bit_len are set to (field_length + 7 ) / 8 and 0 respectively, while Field_bit has the correct values field_length / 8 and field_length % 8. Solved the problem by re-computing the values for the metadata based on the field_length instead of using the bytes_in_rec and bit_len variables. To handle compatibility with old server, a table map flag was added to indicate that the bit computation is exact. If the flag is clear, the slave computes the number of bytes required to store the bit field and compares that instead, effectively allowing replication *without conversion* from any field length that require the same number of bytes to store. ------------------------------------------------------------ revno: 3405 committer: Georgi Kodinov <joro@sun.com> branch nick: B49838-5.1-bugteam timestamp: Wed 2010-03-17 16:18:46 +0200 message: Bug #49838: DROP INDEX and ADD UNIQUE INDEX for same index may corrupt definition at engine If a single ALTER TABLE contains both DROP INDEX and ADD INDEX using the same index name (a.k.a. index modification) we need to disable in-place alter table because we can't ask the storage engine to have two copies of the index with the same name even temporarily (if we first do the ADD INDEX and then DROP INDEX) and we can't modify indexes that are needed by e.g. foreign keys if we first do DROP INDEX and then ADD INDEX. Fixed the problem by disabling in-place ALTER TABLE for these cases. ------------------------------------------------------------ revno: 3404 committer: Davi Arnaut <Davi.Arnaut@Sun.COM> branch nick: 47761-5.1 timestamp: Tue 2010-03-09 09:51:56 -0300 message: Bug#47761: crash when killing a query during subquery execution... The problem was that killing a query during the optimization phase of a subselect would lead to crashes. The root of the problem is that the subselect execution engine ignores failures (eg: killed) during the optimization phase (JOIN::optimize), leading to a crash once the subquery is executed due to partially initialized structures (in this case a join tab). The optimal solution would be to cleanup certain optimizer structures if the optimization phase fails, but currently there is no infrastructure to properly to track and cleanup the structures. To workaround the whole problem one somewhat good solution is to avoid executing a subselect if the query has been killed. Cutting short any problems caused by failures during the optimization phase. ------------------------------------------------------------ revno: 3403 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam timestamp: Tue 2010-03-16 21:33:56 +0400 message: Merge fix for BUG47444 to mysql-5.1-bugteam. ------------------------------------------------------------ revno: 3400.2.1 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-push timestamp: Tue 2010-03-16 18:06:03 +0400 message: Merge fix for BUG47444 to mysql-5.1-bugteam. ------------------------------------------------------------ revno: 3394.1.2 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-bug47444 timestamp: Tue 2010-03-16 17:15:19 +0400 message: Plugin author, description and version are available via I_S.PLUGINS, not via SHOW PLUGINS. ------------------------------------------------------------ revno: 3394.1.1 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-bug47444 timestamp: Fri 2010-03-12 14:43:30 +0400 message: BUG#47444 - --myisam_repair_threads>1can result in all index cardinalities=1 Parallel repair didn't poroperly update index cardinality in certain cases. When myisam_sort_buffer_size is not enough to store all keys, index cardinality was updated before index was actually written, when no index statistic is available. ------------------------------------------------------------ revno: 3402 committer: Martin Hansson <martin.hansson@sun.com> branch nick: 5.1bt timestamp: Tue 2010-03-16 17:21:38 +0100 message: Merge of fix for Bug#47762. ------------------------------------------------------------ revno: 3400.1.3 committer: Mattias Jonsson <mattias.jonsson@sun.com> branch nick: topush-51-bugteam_2 timestamp: Tue 2010-03-16 15:09:58 +0100 message: merge ------------------------------------------------------------ revno: 3392.1.5 committer: Mattias Jonsson <mattias.jonsson@sun.com> branch nick: topush-51-bugteam timestamp: Fri 2010-03-12 11:52:38 +0100 message: merge ------------------------------------------------------------ revno: 3374.1.1 committer: Mattias Jonsson <mattias.jonsson@sun.com> branch nick: b51830-51-bugteam timestamp: Wed 2010-03-10 12:56:05 +0100 message: Bug#51830: Incorrect partition pruning on range partition (regression) Problem was that partition pruning did not exclude the last partition if the range was beyond it (i.e. not using MAXVALUE) Fix was to not include the last partition if the partitioning function value was not within the partition range. ------------------------------------------------------------ revno: 3392.1.4 committer: Mattias Jonsson <mattias.jonsson@sun.com> branch nick: topush-51-bugteam timestamp: Fri 2010-03-12 11:41:29 +0100 message: merge ------------------------------------------------------------ revno: 3318.1.2 committer: Mattias Jonsson <mattias.jonsson@sun.com> branch nick: b48229-51-bugteam timestamp: Fri 2010-03-12 11:14:04 +0100 message: Bug#48229: group by performance issue of partitioned table Additional result file update ------------------------------------------------------------ revno: 3392.1.3 committer: Mattias Jonsson <mattias.jonsson@sun.com> branch nick: topush-51-bugteam timestamp: Fri 2010-03-12 11:14:40 +0100 message: merged ------------------------------------------------------------ revno: 3368.3.1 committer: Mattias Jonsson <mattias.jonsson@sun.com> branch nick: b50392-51-bugteam timestamp: Thu 2010-03-04 18:16:10 +0100 message: Bug#50392: insert_id is not reset for partitioned tables auto_increment on duplicate entry The bug was that when INSERT_ID was used and the storage engine was told to release any reserved but not used auto_increment values, it set the highest auto_increment value to INSERT_ID. The fix was to check if the auto_increment value was forced by user (INSERT_ID) or by slave-thread, i.e. not auto- generated. So that it is only allowed to release generated values. ------------------------------------------------------------ revno: 3392.1.2 committer: Mattias Jonsson <mattias.jonsson@sun.com> branch nick: topush-51-bugteam timestamp: Thu 2010-03-11 14:25:33 +0100 message: merge ------------------------------------------------------------ revno: 3368.2.1 committer: Mattias Jonsson <mattias.jonsson@sun.com> branch nick: b50104-51-bugteam_2 timestamp: Thu 2010-03-04 12:29:22 +0100 message: Bug#50104: Partitioned table with just 1 partion works with fk There was no check for foreign keys when altering partitioned tables. Added check for FK when altering partitioned tables. ------------------------------------------------------------ revno: 3392.1.1 committer: Mattias Jonsson <mattias.jonsson@sun.com> branch nick: topush-51-bugteam timestamp: Thu 2010-03-11 14:18:44 +0100 message: merge ------------------------------------------------------------ revno: 3318.1.1 committer: Mattias Jonsson <mattias.jonsson@sun.com> branch nick: b48229-51-bugteam timestamp: Thu 2010-03-04 12:09:09 +0100 message: Bug#48229: group by performance issue of partitioned table Problem was block_size on partitioned tables was not set, resulting in keys_per_block was not correct which affects the cost calculation for read time of indexes (including cost for group min/max).Which resulted in a bad optimizer decision. Fixed by setting stats.block_size correctly. ------------------------------------------------------------ revno: 3400.1.2 committer: Luis Soares <luis.soares@sun.com> branch nick: mysql-5.1-bugteam-push timestamp: Tue 2010-03-16 11:47:15 +0000 message: Automerge: mysql-5.1-bugteam bug branch --> mysql-5.1-bugteam latest. ------------------------------------------------------------ revno: 3351.1.1 committer: Luis Soares <luis.soares@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-03-04 10:18:06 +0000 message: BUG#51055: Replication failure on duplicate key + traditional SQL mode When the master was executing in sql_mode='traditional' (which implies that really_abort_on_warning returns TRUE - because of MODE_STRICT_ALL_TABLES), the error code (ER_DUP_ENTRY in the reported case) was not being set in the Query_log_event. Therefore, even if a failure was to be expected when replaying the statement on the slave, a failure would occur, because the Query_log_event was not transporting the expected error code, but 0 instead. This was because when the master was getting the error code to set it in the Query_log_event, the executing thread would be assumed to have been killed: THD::killed==THD::KILL_BAD_DATA. This would make the error code fetch routine not to check thd->main_da.sql_errno(), but instead the thd->killed value. What's more, is that the server would thd->killed value if thd->killed == THD::KILL_BAD_DATA and return 0 instead. So this is a double inconsistency, as the we should not even check thd->killed but rather thd->main_da.sql_errno(). We fix this by extending the condition used to choose whether to check the thd->main_da.sql_errno() or thd->killed, so that it takes into consideration the case when: thd->killed==THD::KILL_BAD_DATA. ------------------------------------------------------------ revno: 3400.1.1 committer: Martin Hansson <martin.hansson@sun.com> branch nick: 5.1bt-commit timestamp: Tue 2010-03-16 10:20:07 +0100 message: Bug#50918: Date columns treated differently in Views than in Base Tables The type inferrence of a view column caused the result to be interpreted as the wrong type: DATE colums were interpreted as TIME and TIME as DATETIME. This happened because view columns are represented by Item_ref objects as opposed to Item_field's. Item_ref had no method for retrieving a TIME value and thus was forced to depend on the default implementation for any expression, which caused the expression to be evaluated as a string and then parsed into a TIME/DATETIME value. Fixed by letting Item_ref classes forward the request for a TIME value to the referred Item - which is a field in this case - this reads the TIME value directly without conversion. ------------------------------------------------------------ revno: 3401 committer: Martin Hansson <martin.hansson@sun.com> branch nick: 5.1bt timestamp: Tue 2010-03-16 15:51:00 +0100 message: Bug#47762: Incorrect result from MIN() when WHERE tests NOT NULL column for NULL The optimization to read MIN() and MAX() values from an index did not properly handle comparisons with NULL values. Fixed by giving up the particular optimization step if there are non-NULL safe comparisons with NULL values, as the result is NULL anyway. Also, Oracle copyright notice was added to all files. ------------------------------------------------------------ revno: 3400 committer: Davi Arnaut <Davi.Arnaut@Sun.COM> branch nick: mysql-5.1-bugteam timestamp: Mon 2010-03-15 09:07:16 -0300 message: Bug#51289: double Item_cache_decimal::val_real() is broken Fix up function return value, it must return a double. ------------------------------------------------------------ revno: 3399 committer: Staale Smedseng <staale.smedseng@sun.com> branch nick: 49829-51 timestamp: Sun 2010-03-14 17:01:45 +0100 message: Bug #49829 Many "hides virtual function" warnings with SunStudio SunStudio compilers of late warn about methods that might hide methods in base classes due to the use of overloading combined with overriding. SunStudio also warns about variables defined in local socpe or method arguments that have the same name as a member attribute of the class. This patch renames methods that might hide base class methods, to make it easier both for humans and compilers to see what is actually called. It also renames variables in local scope. ------------------------------------------------------------ revno: 3398 committer: Davi Arnaut <Davi.Arnaut@Sun.COM> branch nick: mysql-5.1-bugteam timestamp: Sun 2010-03-14 08:16:59 -0300 message: Post-merge fix: replace plugin extension output. ------------------------------------------------------------ revno: 3397 committer: Davi Arnaut <Davi.Arnaut@Sun.COM> branch nick: 51770-5.1 timestamp: Sat 2010-03-13 18:32:42 -0300 message: Post-merge fix: remove unnecessary flush privileges. ------------------------------------------------------------ revno: 3396 committer: Davi Arnaut <Davi.Arnaut@Sun.COM> branch nick: 51770-5.1 timestamp: Tue 2010-03-09 09:16:17 -0300 message: Bug#51770: UNINSTALL PLUGIN requires no privileges The problem was that UNINSTALL PLUGIN wasn't performing privilege checks before removing a plugin. Any user (including users without any kind of privileges) could uninstall any plugin. The solution is to verify if the user has the DELETE privilege for the mysql.plugin table before uninstalling a plugin. ------------------------------------------------------------ revno: 3395 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.1-bugteam timestamp: Fri 2010-03-12 10:33:16 +0400 message: Bug#41788 mysql_fetch_field returns org_table == table by a view The problem is that Item_direct_view_ref which is inherited from Item_ident updates orig_table_name and table_name with the same values. The fix is introduction of new constructor into Item_ident and up which updates orig_table_name and table_name separately. ------------------------------------------------------------ revno: 3394 committer: Georgi Kodinov <joro@sun.com> branch nick: B44178-5.1-bugteam timestamp: Thu 2010-03-11 15:16:54 +0200 message: Bug #44178: mysql cli does not comply with GPLv2 clause 2c Applied a path from Jim Winstead : Added a GPL notice. Added the missing '(c)' and 'v2'. ------------------------------------------------------------ revno: 3393 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-push timestamp: Thu 2010-03-11 18:28:39 +0400 message: Merge fix for BUG48265 to mysql-5.1-bugteam. ------------------------------------------------------------ revno: 3333.14.1 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-bug48265 timestamp: Wed 2010-03-03 14:49:03 +0400 message: BUG#48265 - MRG_MYISAM problem (works in 5.0.85, does't work in 5.1.40) MERGE engine fails to open child table from a different database if child table/database name contains characters that are subject for table name to filename encoding (WL1324). Another problem is that MERGE engine didn't properly open child table from the same database if child table name contains characters like '/', '#'. The problem was that table name to file name encoding was applied inconsistently: * On CREATE: encode table name + database name if child table is in different database; do not encode table name if child table is in the same database; * No decoding on open. With this fix child table/database names are always encoded on CREATE and decoded on open. Compatibility with older tables preserved. Along with this patch comes fix for SHOW CREATE TABLE, which used to show child table/database path instead of child table/database names. ------------------------------------------------------------ revno: 3392 committer: Sergey Vojtovich <svoj@sun.com> branch nick: mysql-5.1-bugteam-push timestamp: Thu 2010-03-11 15:19:01 +0400 message: Merge mysql-5.1 to mysql-5.1-bugteam. ------------------------------------------------------------ revno: 3363.1.3 committer: Joerg Bruehe <joerg@mysql.com> branch nick: mysql-5.1 timestamp: Thu 2010-03-04 14:26:27 +0100 message: Use a new version of "COPYING", the GPL text. This is *no* change in contents, the differences are formatting only and an address update of the FSF. It continues to be Version 2, June 1991. ------------------------------------------------------------ revno: 3363.1.2 author: hery.ramilison@sun.com committer: MySQL Build Team <build@mysql.com> branch nick: mysql-5.1 timestamp: Mon 2010-03-01 11:58:26 +0100 message: Raise version number after cloning 5.1.45 |