------------------------------------------------------------
revno: 3167 committer: Jon Olav Hauglid <jon.hauglid@oracle.com> branch nick: mysql-5.5.10-release timestamp: Wed 2011-03-09 16:06:13 +0100 message: Bug#11815600 [ERROR] INNODB COULD NOT FIND INDEX PRIMARY KEY NO 0 FOR TABLE IN ERROR LOG With the changes made by the patches for Bug#11751388 and Bug#11784056, concurrent reads are allowed while secondary indexes are created in InnoDB. This means that the metadata lock on the affected table is not upgraded to exclusive until the .FRM is updated at the end of ALTER TABLE processing. The problem was that if this lock upgrade failed for some reason (e.g. timeout), the index information in the server and inside InnoDB would be out of sync. This would happen since the add index operation already was committed inside InnoDB but the table metadata inside the server had not been updated yet. This patch fixes the problem by (for now) reverting the effects of the patches for Bug#11751388 and Bug#11784056. Concurrent reads will now again be blocked during creation of secondary indexes in InnoDB. Test case added to innodb_mysql_lock.test. ------------------------------------------------------------ revno: 3166 committer: Kent Boortz <kent.boortz@oracle.com> branch nick: mysql-5.5.10-release-tmp timestamp: Thu 2011-02-17 19:36:19 +0100 message: The client shared library major version was changed to 18, to reflect ABI changes (Bug#60061) Bumping the version from 16 to 18, instead of 17, was done to avoid a library conflict on Mac OS X between MySQL 5.1 and MySQL 5.5. In MySQL 5.1 GNU libtool was used, that made the ABI version used in the file name to be 16, and the one stored inside the binary to be 17. MySQL 5.5 uses CMake as a build tool, that will store the same ABI number in the file name as inside the binary in Mac OS X, and then bumping the ABI number two steps avoids a conflict on Mac OS X. ------------------------------------------------------------ revno: 3165 committer: Jonathan Perkin <jonathan.perkin@oracle.com> branch nick: mysql-5.5.10-release timestamp: Thu 2011-02-17 10:10:37 -0800 message: Merge README update into the 5.5.10 release clone. ------------------------------------------------------------ revno: 3164 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5.10-release timestamp: Thu 2011-02-17 13:57:42 +0100 message: Revert 59685, as we now cache datetimes correctly. See also bug 11775312, all queries listed there now have the same results here, as they have in 5.1 ------------------------------------------------------------ revno: 3163 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5.10-release timestamp: Thu 2011-02-17 13:41:25 +0100 message: Bug #11766860 - 60085: CRASH IN ITEM::SAVE_IN_FIELD() WITH TIME DATA TYPE This assumption in Item_cache_datetime::cache_value_int was wrong: - /* Assume here that the underlying item will do correct conversion.*/ - int_value= example->val_int_result(); ------------------------------------------------------------ revno: 3162 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5.10-release timestamp: Fri 2011-02-11 16:20:27 +0100 message: Bug #59686 crash in String::copy() with time data type The problem was that Item_sum_hybrid::val_xxx() did not propagate null values up the expression tree. ------------------------------------------------------------ revno: 3161 committer: Guilhem Bichot <guilhem.bichot@oracle.com> branch nick: 5.5.10-release2 timestamp: Fri 2011-02-11 15:00:09 +0100 message: Fix for BUG#59894 "set optimizer_switch to e or d causes invalid memory writes/valgrind warnings": due to prefix support, the argument "e" was overwritten with its full value "engine_condition_pushdown", which caused a buffer overrun. This was wrong usage of find_type(); other wrong usages are fixed here too. Please start reading with the comment of typelib.c. ------------------------------------------------------------ revno: 3160 tags: clone-5.5.10-build committer: Sergey Glukhov <sergey.glukhov@oracle.com> branch nick: mysql-5.5-security timestamp: Fri 2011-02-11 12:54:16 +0300 message: Bug#59685 crash in String::length with date types The crash happens because Item_cache which is result holder for Item_subselect can't correctly convert a DATETIME value from string to int representation. The fix is to disable constant item convertion for subselect(partial rollback of bug52157 fix). ------------------------------------------------------------ revno: 3159 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.5-security timestamp: Thu 2011-02-10 15:47:39 +0200 message: merge mysql-5.5->mysql-5.5-security ------------------------------------------------------------ revno: 3097.48.8 committer: Alexander Barkov <alexander.barkov@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2011-02-10 16:38:18 +0300 message: Bug#31384 DATE_ADD() and DATE_SUB() return binary data An after-fix to workaround different metadata in "mtr --ps" output. ------------------------------------------------------------ revno: 3158 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.5-security timestamp: Thu 2011-02-10 15:02:38 +0200 message: merge from mysql-5.5->mysql-5.5-security ------------------------------------------------------------ revno: 3097.48.7 committer: Mattias Jonsson <mattias.jonsson@oracle.com> branch nick: test-5.5 timestamp: Thu 2011-02-10 11:50:53 +0100 message: bug#59085 recommit ------------------------------------------------------------ revno: 3157 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.5-security timestamp: Thu 2011-02-10 12:12:49 +0200 message: empty weave merge mysql-5.1-security->mysql-5.5-security ------------------------------------------------------------ revno: 2661.712.21 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.1-security timestamp: Thu 2011-02-10 12:10:28 +0200 message: null weave merge mysql-5.0-security->mysql-5.1-security ------------------------------------------------------------ revno: 1810.4000.9 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.0-security timestamp: Thu 2011-02-10 12:07:16 +0200 message: merge 5.0->5.0-security ------------------------------------------------------------ revno: 2661.712.20 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.1-security timestamp: Thu 2011-02-10 12:08:54 +0200 message: merge 5.1->5.1-security ------------------------------------------------------------ revno: 3156 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.5-security timestamp: Thu 2011-02-10 12:10:21 +0200 message: merge mysql-5.5->mysql-5.5-security ------------------------------------------------------------ revno: 3097.48.6 committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: B59017-5.5 timestamp: Tue 2011-01-11 16:53:14 +0200 message: Bug #59017: Auth plugin socket_peercred fails to load in 5.5.8 Due to how the server checks for option names the name of the plugin "socket_peercred" collides with the existing server side option "socket". Renamed the plugin from "socket_peercred" to "auth_socket" to avoid the name clash. ------------------------------------------------------------ revno: 3097.48.5 committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: B59884-5.5 timestamp: Thu 2011-02-10 09:34:22 +0200 message: Bug #59884: setting charset to 2048 crashes The retrieval of a charset by number was not doing bounds checking before accessing the internal character sets array. Added checks for valid charset number. Added asserts for valid charset number to some of the internal functions. Removed one superfluous check for charset_number 0 (since the all_charsets_array[0] is set to 0 anyway) for uniformity. Test suite added. ------------------------------------------------------------ revno: 3097.48.4 committer: Alexander Barkov <alexander.barkov@oracle.com> branch nick: mysql-5.5.b31384 timestamp: Thu 2011-02-10 11:18:08 +0300 message: Bug#31384 DATE_ADD() and DATE_SUB() return binary data Problem: DATE_ADD() is a hybrid function and can return DATE, DATETIME or VARCHAR data type depending on arguments. In case of VARCHAR data type, DATE_ADD() reported "binary" character set, which was wrong. Fix: make DATE_ADD() return @character_set_connection in VARCHAR context. @ mysql-test/include/ctype_numconv.inc Adding tests @ mysql-test/r/ctype_binary.result Adding tests @ mysql-test/r/ctype_cp1251.result Adding tests @ mysql-test/r/ctype_latin1.result Adding tests @ mysql-test/r/ctype_ucs.result Adding tests @ mysql-test/r/ctype_utf8.result Adding tests @ sql/item_strfunc.cc - Moving code from Item_str_ascii_func::val_str() to Item_str_func::val_str_from_val_str_ascii(), as this code needs to be shared by Item_date_add_interval. - Adding str2 parameter to be used as a buffer, instead of using private ascii_buf member. @ sql/item_strfunc.h - Moving code from Item_str_ascii_func::val_str() to Item_str_func::val_str_from_val_str_ascii() - Removing "String *val_str_convert_from_ascii(String *str, String *ascii_buf)" prototype as it was neither used nor declared. @ sql/item_timefunc.h - Overwriting parent's charset_for_protocol() method, becase we need to behave differenlty in VARCHAR and DATE/DATETYPE context. - Adding ascii_buf for conversion. - Adding val_str_ascii() prototype. - Adding val_str() which uses newly added Item_str_func::val_str_from_val_str_ascii(), passing ascii_buf as a conversion buffer. ------------------------------------------------------------ revno: 3097.48.3 [merge] committer: Mats Kindahl <mats.kindahl@oracle.com> branch nick: b58455-5.5 timestamp: Wed 2011-02-09 21:15:27 +0100 message: Merging with mysql-5.5 ------------------------------------------------------------ revno: 3097.34.118 committer: Jonathan Perkin <jonathan.perkin@oracle.com> branch nick: mysql-5.5 timestamp: Wed 2011-02-09 19:41:12 +0000 message: Combine test-bt and test-bt-debug into a single default.release collection, utilising the new --debug-server option for the debug run to ensure the correct binaries are used. Remove test-bt-*fast, they are unused. ------------------------------------------------------------ revno: 3097.34.117 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: main-55 timestamp: Wed 2011-02-09 16:25:34 +0100 message: Silly mistake in 59148, forgot .exe on Windows ------------------------------------------------------------ revno: 3097.34.116 [merge] committer: Joerg Bruehe <joerg@mysql.com> branch nick: mysql-5.5 timestamp: Wed 2011-02-09 14:49:40 +0100 message: Empty upmerge. ------------------------------------------------------------ revno: 2661.743.25 [merge] committer: Joerg Bruehe <joerg@mysql.com> branch nick: mysql-5.1 timestamp: Wed 2011-02-09 14:37:27 +0100 message: Merge bugfix 56581 into main. ------------------------------------------------------------ revno: 3097.34.115 [merge] committer: Joerg Bruehe <joerg@mysql.com> branch nick: mysql-5.5 timestamp: Wed 2011-02-09 14:43:22 +0100 message: Merge bugfix 56581 into main. ------------------------------------------------------------ revno: 3097.49.1 [merge] committer: Joerg Bruehe <joerg@mysql.com> branch nick: bug56581-5.5 timestamp: Wed 2011-02-09 14:31:30 +0100 message: Upmerge the fix for bug#56581 from 5.1 to 5.5. ------------------------------------------------------------ revno: 2661.749.1 committer: Joerg Bruehe <joerg@mysql.com> branch nick: bug56581-5.1 timestamp: Thu 2011-02-03 18:16:22 +0100 message: Fix Bug #56581 RPM scripts use hardcoded datadir location When fixing the 27072 bug, the shell snippets running before/after a RPM upgrade got expanded to look at files in the data directory and at the PID file. In this expansion, the standard locations were used. There are users who configure their installations to use non-standard locations for the data directory, the PID file, and other objects. For these users, the fix of 27072 did not work. As a result, the fact that a server was running at upgrade start was not noticed, and the new server was not started after the upgrade. With this patch, the shell snippets now try to get these locations from "my_print_defaults" before falling back to the defaults. Now, the fact that the old server is running is again noticed (even with non-standard locations), and the new server is started. Also, the upgrade log is written to the correct data directory. ------------------------------------------------------------ revno: 3097.34.114 [merge] committer: Dmitry Shulga <Dmitry.Shulga@oracle.com> branch nick: mysql-5.5 timestamp: Wed 2011-02-09 17:16:33 +0600 message: Automerge from mysql-5.1 for follow-up bug#57450. ------------------------------------------------------------ revno: 2661.743.24 committer: Dmitry Shulga <Dmitry.Shulga@oracle.com> branch nick: mysql-5.1-bug57450 timestamp: Wed 2011-02-09 17:13:17 +0600 message: Follow up fix for bug#57450. batch_readline_init() was modified - make check for type of file for input stream unless target platform is WINDOWS since on this platform S_IFBLK is undefined. ------------------------------------------------------------ revno: 3097.34.113 [merge] committer: John H. Embretsen <john.embretsen@oracle.com> branch nick: mysql-5.5-bugfix timestamp: Wed 2011-02-09 11:16:25 +0100 message: Null merge from mysql-5.1 ------------------------------------------------------------ revno: 2661.743.23 [merge] committer: John H. Embretsen <john.embretsen@oracle.com> branch nick: mysql-5.1-bugfix timestamp: Wed 2011-02-09 11:13:23 +0100 message: Null merge from mysql-5.0 ------------------------------------------------------------ revno: 1810.4001.13 committer: John H. Embretsen <john.embretsen@oracle.com> branch nick: mysql-5.0 timestamp: Wed 2011-02-09 10:50:09 +0100 message: Backport to 5.0: Fix for Bug#52060 - test udf fails on Snow Leopard. Reverse DNS lookup of "localhost" returns "broadcasthost" on Snow Leopard (Mac), and NULL on most others. Simply ignore the output, as this is not an essential part of UDF testing. ------------------------------------------------------------ revno: 3097.48.2 [merge] committer: Mats Kindahl <mats.kindahl@oracle.com> branch nick: b58455-5.5 timestamp: Wed 2011-02-09 09:24:19 +0100 message: Merging with mysql-5.5. ------------------------------------------------------------ revno: 3097.48.1 committer: Mats Kindahl <mats.kindahl@oracle.com> branch nick: b58455-5.5 timestamp: Tue 2011-02-08 11:21:14 +0100 message: Bug #58455 Starting mysqld with defaults file without extension cause segmentation fault Bug occurs because fn_expand calls fn_format with NULL as ext. This is a backport of the patch from 5.6. Patch solve this problem by using an empty string as extension, and adding assertions to fn_format that correct arguments are passed. It also add a test tests several variations of using non-existing defaults files. ------------------------------------------------------------ revno: 3155 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.5-security timestamp: Wed 2011-02-09 11:32:31 +0200 message: empty weave merge of 5.1-security -> 5.5-security ------------------------------------------------------------ revno: 2661.712.19 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.1-security timestamp: Wed 2011-02-09 10:52:37 +0200 message: empty weave merge of 5.0-security->5.1-security ------------------------------------------------------------ revno: 1810.4000.8 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.0-security timestamp: Wed 2011-02-09 10:16:32 +0200 message: merge 5.0->5.0-security ------------------------------------------------------------ revno: 2661.712.18 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.1-security timestamp: Wed 2011-02-09 10:30:44 +0200 message: weave merge mysql-5.1->mysql-5.1-security ------------------------------------------------------------ revno: 3154 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.5-security timestamp: Wed 2011-02-09 11:27:31 +0200 message: weave merge mysql-5.5->mysql-5.5-security ------------------------------------------------------------ revno: 3097.34.112 [merge] committer: Dmitry Shulga <Dmitry.Shulga@oracle.com> branch nick: mysql-5.5 timestamp: Wed 2011-02-09 12:50:11 +0600 message: Automerge from mysql-5.1 for follow-up bug#57450. ------------------------------------------------------------ revno: 2661.743.22 committer: Dmitry Shulga <Dmitry.Shulga@oracle.com> branch nick: mysql-5.1-bug57450 timestamp: Wed 2011-02-09 12:46:12 +0600 message: Follow up fix for bug#57450. batch_readline_init() was modified - return an error if the input source is a directory or a block device. This follow-up is necessary because on some platforms, such as Solaris, call to read() from directory may be successful. ------------------------------------------------------------ revno: 3097.34.111 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5 timestamp: Tue 2011-02-08 19:30:46 +0200 message: Merge mysql-5.1 -> mysql-5.5 (empty) ------------------------------------------------------------ revno: 2661.743.21 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.1 timestamp: Tue 2011-02-08 19:26:42 +0200 message: Merge mysql-5.1-innodb -> mysql-5.1 ------------------------------------------------------------ revno: 3097.34.110 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5 timestamp: Tue 2011-02-08 19:28:00 +0200 message: Merge mysql-5.5-innodb -> mysql-5.5 ------------------------------------------------------------ revno: 2995.37.139 committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5-innodb timestamp: Tue 2011-02-08 07:53:37 +0200 message: Adjust a suppression to cover more codepaths. ------------------------------------------------------------ revno: 2995.37.138 committer: Inaam Rana <inaam.rana@oracle.com> branch nick: mysql-5.5-innodb timestamp: Mon 2011-02-07 18:43:00 -0500 message: Bug #59472 increase AIO requests per IO thread limit to 256 from 32 rb://566 approved by: Sunny When using native aio on linux each IO helper thread should be able to handle upto 256 IO requests. The number 256 is the same which is used for simulated aio as well. In case of windows where we also use native aio this limit is 32 because of OS constraints. It seems that we are using the limit of 32 for all the platforms where we are using native aio. The fix is to use 256 on all platforms except windows (when native aio is enabled on windows) ------------------------------------------------------------ revno: 2995.37.137 committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5-innodb timestamp: Mon 2011-02-07 19:54:09 +0200 message: Add one more Valgrind suppression to cover a different codepath ------------------------------------------------------------ revno: 2995.37.136 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5-innodb timestamp: Mon 2011-02-07 16:47:39 +0200 message: Null merge mysql-5.1-innodb -> mysql-5.5-innodb This change was backported from 5.5. ------------------------------------------------------------ revno: 2661.523.358 committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.1-innodb timestamp: Mon 2011-02-07 16:45:37 +0200 message: Backport the fix for Bug#59875 Valgrind warning in buf0buddy.c from 5.5 This warning also happens in 5.1 with a slightly different codepath. ------------------------------------------------------------ revno: 2995.37.135 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5-innodb timestamp: Mon 2011-02-07 11:18:59 +0200 message: Merge mysql-5.1-innodb -> mysql-5.5-innodb ------------------------------------------------------------ revno: 2661.523.357 committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.1-innodb timestamp: Mon 2011-02-07 11:13:54 +0200 message: Use fun:* instead of obj:*/libz.so* because when the bundled zlib is used (--with-zlib-dir=bundled) then there is no libz.so involved. ------------------------------------------------------------ revno: 2995.37.134 committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5-innodb timestamp: Fri 2011-02-04 19:43:34 +0200 message: Fix Bug#59875 Valgrind warning in buf0buddy.c Suppress a bogus valgrind warning. ------------------------------------------------------------ revno: 2995.37.133 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5-innodb timestamp: Fri 2011-02-04 18:30:05 +0200 message: Merge mysql-5.1-innodb -> mysql-5.5-innodb ------------------------------------------------------------ revno: 2661.523.356 committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.1-innodb timestamp: Fri 2011-02-04 12:46:47 +0200 message: Fix Bug#59874 Valgrind warning in InnoDB compression code Add suppressions for a bogus valgrind warnings. ------------------------------------------------------------ revno: 2995.37.132 committer: kevin.lewis@oracle.com branch nick: mysql-5.5-innodb timestamp: Fri 2011-02-04 08:59:30 -0600 message: Bug#59699 - Hidden bug would cause a crash for unknown tablespace flags. The bug would cause a crash of InnoDB if a non-standard or unknown table flags existed in a SYS_TABLES record. This is important because the next file version, Cheetah, will identify itself by expanding this field. So unless this is fixed, an older engine that tries to open a table in a tablespace with a newer file version will crash instead of report an error and refuse to open the table, as it should do. Reviewed at RB://583. Approved by Marko. ------------------------------------------------------------ revno: 2995.37.131 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.5-innodb timestamp: Wed 2011-02-02 15:58:01 +0200 message: Merge mysql-5.1-innodb to mysql-5.5-innodb. ------------------------------------------------------------ revno: 2661.523.355 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Wed 2011-02-02 15:51:08 +0200 message: Bug #55284 diagnostics: Introduce UNIV_BLOB_LIGHT_DEBUG, enabled by UNIV_DEBUG btr_rec_get_field_ref_offs(), btr_rec_get_field_ref(): New functions. Get the pointer to an externally stored field. btr_cur_set_ownership_of_extern_field(): Assert that the BLOB has not already been disowned. btr_store_big_rec_extern_fields(): Rename to btr_store_big_rec_extern_fields_func() and add the debug parameter update_in_place. All pointers to externally stored columns in the record must either be zero or they must be pointers to inherited columns, owned by this record or an earlier record version. For any BLOB that is stored, the BLOB pointer must previously have been zero. When the function completes, all BLOB pointers must be nonzero and owned by the record. rb://549 approved by Jimmy Yang ------------------------------------------------------------ revno: 2661.523.354 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Wed 2011-02-02 14:12:49 +0200 message: Non-functional changes (cleanup) made while narrowing down Bug #55284: row_purge(): Change the return type to void. (The return value always was DB_SUCCESS.) Remove some local variables. row_undo_mod_remove_clust_low(): Remove some local variables. rb://547 approved by Jimmy Yang ------------------------------------------------------------ revno: 2661.523.353 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Wed 2011-02-02 14:10:12 +0200 message: Bug #55284 diagnostics: When UNIV_DEBUG, do not tolerate garbage in Antelope files in btr_check_blob_fil_page_type(). Unfortunately, we must keep the check in production builds, because InnoDB wrote uninitialized garbage to FIL_PAGE_TYPE until fairly recently (5.1.x). rb://546 approved by Jimmy Yang ------------------------------------------------------------ revno: 2661.523.352 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Wed 2011-02-02 14:05:12 +0200 message: Bug #55284 diagnostics: Enable UNIV_DEBUG_FILE_ACCESSES by UNIV_DEBUG It was the enabling of UNIV_DEBUG_FILE_ACCESSES that caught Bug #55284 in the first place. This is a very light piece of of debug code, and there really is no reason why it is not enabled in all debug builds. rb://551 approved by Jimmy Yang ------------------------------------------------------------ revno: 2995.37.130 committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5-innodb timestamp: Tue 2011-02-01 18:28:41 +0200 message: Replay a lost change (fix for Bug#56947 InnoDB leaks memory... in 5.5) This change was originally done in marko.makela@oracle.com-20101011085943-50pskvsbbsujbukg but was later lost during the merge process. ------------------------------------------------------------ revno: 2995.37.129 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.5-innodb timestamp: Mon 2011-01-31 10:23:38 +0200 message: Merge mysql-5.1-innodb to mysql-5.5-innodb. ------------------------------------------------------------ revno: 2661.523.351 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Mon 2011-01-31 09:56:51 +0200 message: Bug#59230 assert 0 row_upd_changes_ord_field_binary() in post-crash trx rollback or purge This patch does not relax the failing debug assertion during purge. That will be revisited once we have managed to repeat the assertion failure. row_upd_changes_ord_field_binary_func(): Renamed from row_upd_changes_ord_field_binary(). Add the parameter que_thr_t* in UNIV_DEBUG builds. When the off-page column cannot be retrieved, assert that the current transaction is a recovered one and that it is the one that is currently being rolled back. row_upd_changes_ord_field_binary(): A wrapper macro for row_upd_changes_ord_field_binary_func() that discards the que_thr_t* parameter unless UNIV_DEBUG is defined. row_purge_upd_exist_or_extern_func(): Renamed from row_purge_upd_exist_or_extern(). Add the parameter que_thr_t* in UNIV_DEBUG builds. row_purge_upd_exist_or_extern(): A wrapper macro for row_purge_upd_exist_or_extern_func() that discards the que_thr_t* parameter unless UNIV_DEBUG is defined. Make trx_roll_crash_recv_trx const. If there were a 'do not dereference' attribute, it would be appropriate as well. rb://588 approved by Jimmy Yang ------------------------------------------------------------ revno: 2995.37.128 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5-innodb timestamp: Sun 2011-01-30 19:17:31 +0200 message: Merge mysql-5.1-innodb -> mysql-5.5-innodb (empty) ------------------------------------------------------------ revno: 2661.523.350 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.1-innodb timestamp: Sun 2011-01-30 19:15:52 +0200 message: Merge mysql-5.1 -> mysql-5.1-innodb ------------------------------------------------------------ revno: 2995.37.127 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5-innodb timestamp: Sun 2011-01-30 19:16:38 +0200 message: Merge mysql-5.5 -> mysql-5.5-innodb ------------------------------------------------------------ revno: 3097.34.109 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.5 timestamp: Tue 2011-02-08 17:47:33 +0200 message: weave merge from mysql-5.1 to mysql-5.5 Resolved an innodb conflict thanks to vasil. ------------------------------------------------------------ revno: 2661.743.20 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.1 timestamp: Tue 2011-02-08 17:02:04 +0200 message: weave merge of mysql-5.0 to mysql-5.1. ------------------------------------------------------------ revno: 1810.4001.12 [merge] committer: Jonathan Perkin <jonathan.perkin@oracle.com> branch nick: mysql-5.0 timestamp: Tue 2011-02-08 14:43:27 +0100 message: Merge from mysql-5.0.92-release ------------------------------------------------------------ revno: 2661.743.19 [merge] author: karen.langford@oracle.com committer: Karen Langford <karen.langford@oracle.com> branch nick: mysql-5.1 timestamp: Tue 2011-02-08 12:52:33 +0100 message: Merge from mysql-5.1.55-release ------------------------------------------------------------ revno: 2661.748.1 tags: mysql-5.1.55 committer: Karen Langford <karen.langford@oracle.com> branch nick: mysql-5.1.55-release timestamp: Tue 2011-01-25 15:42:40 +0100 message: Updating header copyright/README in source for 2011 ------------------------------------------------------------ revno: 3097.34.108 [merge] committer: Jonathan Perkin <jonathan.perkin@oracle.com> branch nick: mysql-5.5 timestamp: Tue 2011-02-08 15:07:36 +0100 message: merge ------------------------------------------------------------ revno: 3097.47.1 committer: Anitha Gopi <anitha.gopi@sun.com> branch nick: mysql-5.5-bug59148 timestamp: Tue 2011-02-08 17:25:42 +0530 message: Bug#59979: Added --debug-server option to collections ------------------------------------------------------------ revno: 3097.34.107 [merge] committer: Jonathan Perkin <jonathan.perkin@oracle.com> branch nick: mysql-5.5 timestamp: Tue 2011-02-08 14:59:03 +0100 message: Merge from mysql-5.5.9-release ------------------------------------------------------------ revno: 3147.1.1 tags: mysql-5.5.9 committer: Hery Ramilison <hery.ramilison@oracle.com> branch nick: mysql-5.5.9-release timestamp: Wed 2011-01-19 23:27:25 +0100 message: Changed current copyright year to 2011 ------------------------------------------------------------ revno: 3097.34.106 [merge] committer: John H. Embretsen <john.embretsen@oracle.com> branch nick: mysql-5.5-bug59837 timestamp: Tue 2011-02-08 10:53:02 +0100 message: Merge fix for bug 59837 from mysql-5.1 to mysql-5.5. ------------------------------------------------------------ revno: 2661.743.18 committer: John H. Embretsen <john.embretsen@oracle.com> branch nick: mysql-5.1-bug59837 timestamp: Tue 2011-02-08 10:51:09 +0100 message: Fix for Bug#59837 - mysqlhotcopy fails with wrong error (11) on specific platforms: Test failed on a certain Linux platform in automated environment. It turns out that this platform has an old version of Perl modules DBI and DBD::mysql installed, as well as the OS itself being relatively old. Allowing error code 11 to be returned from mysqlhotcopy on expected error seems harmless and will make the test pass also with older libraries. ------------------------------------------------------------ revno: 3097.34.105 committer: Anitha Gopi <anitha.gopi@sun.com> branch nick: mysql-5.5 timestamp: Tue 2011-02-08 13:20:32 +0530 message: Added more tests to daily ------------------------------------------------------------ revno: 3097.34.104 [merge] committer: Anitha Gopi <anitha.gopi@sun.com> branch nick: mysql-5.5 timestamp: Tue 2011-02-08 12:19:33 +0530 message: Null merge from 5.1 ------------------------------------------------------------ revno: 2661.743.17 [merge] committer: Anitha Gopi <anitha.gopi@sun.com> branch nick: mysql-5.1-new timestamp: Tue 2011-02-08 12:18:11 +0530 message: Removed the collections for mysql-5.1-bugteam. Removed 1st from weekly. This is part of default suites ------------------------------------------------------------ revno: 3097.34.103 committer: Anitha Gopi <anitha.gopi@sun.com> branch nick: mysql-5.5 timestamp: Tue 2011-02-08 11:47:57 +0530 message: Remove unwanted collections ------------------------------------------------------------ revno: 3097.34.102 [merge] committer: Anitha Gopi <anitha.gopi@sun.com> branch nick: mysql-5.5 timestamp: Tue 2011-02-08 11:41:57 +0530 message: Upmerge 3565 from 5.1 ------------------------------------------------------------ revno: 2661.747.1 committer: Anitha Gopi <anitha.gopi@sun.com> branch nick: mysql-5.1 timestamp: Tue 2011-02-08 11:30:35 +0530 message: Removed the collections for mysql-5.1-bugteam. Removed 1st from weekly. This is part of default suites ------------------------------------------------------------ revno: 3097.34.101 committer: Anitha Gopi <anitha.gopi@sun.com> branch nick: mysql-5.5 timestamp: Tue 2011-02-08 08:56:49 +0530 message: Bug#52208 - Removed main.gis from experimental group ------------------------------------------------------------ revno: 3097.34.100 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: main-55 timestamp: Tue 2011-02-08 00:28:32 +0100 message: null upmerge ------------------------------------------------------------ revno: 2661.743.16 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: upm-51 timestamp: Tue 2011-02-08 00:02:45 +0100 message: merge 47141,59979 ------------------------------------------------------------ revno: 3097.34.99 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: main-55 timestamp: Tue 2011-02-08 00:27:30 +0100 message: merge 47141,59979 ------------------------------------------------------------ revno: 3077.6.82 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Mon 2011-02-07 12:55:34 +0100 message: upmerged and adapted 59979 ------------------------------------------------------------ revno: 2661.717.29 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: dbsrv-51 timestamp: Mon 2011-02-07 12:42:21 +0100 message: Bug #59979 Add mtr option to run debug server, but without turning on debug Added --debug-server and use $opt_debug_server where appropriate Let --debug imply --debug-server When merging to 5.5, must adapt fix for 59148 Oops, set debug => debug-server too late, fixed ------------------------------------------------------------ revno: 3077.6.81 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Fri 2011-02-04 13:20:12 +0100 message: upmerge 47141 ------------------------------------------------------------ revno: 2661.717.28 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: ldbg-51 timestamp: Fri 2011-02-04 12:37:01 +0100 message: merge from 5.1 main ------------------------------------------------------------ revno: 2661.717.27 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: ldbg-51 timestamp: Fri 2011-02-04 12:33:45 +0100 message: Bug #47141 "mysqltest" breaks because it tries to act on a debug option which is disabled Replace --debug with --loose-debug to prevent failure exit Update: added workaround for 50627, skip all debugging of mysqlbinlog ------------------------------------------------------------ revno: 3077.6.80 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Fri 2011-02-04 12:39:35 +0100 message: merge from 5.5 main ------------------------------------------------------------ revno: 3097.34.98 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5-bug59632 timestamp: Mon 2011-02-07 11:17:46 +0100 message: Bug #59632 Assertion failed: arg_length > length The problem was overflow in max_length when we tried to des_decrypt() something which is not the output of des_encrypt() ------------------------------------------------------------ revno: 3097.34.97 [merge] committer: Ole John Aske <ole.john.aske@oracle.com> branch nick: mysql-5.5 timestamp: Mon 2011-02-07 10:40:42 +0100 message: Merge of fix for bug#59308 from mysql-5.1 -> mysql-5.5 ------------------------------------------------------------ revno: 2661.743.15 committer: Ole John Aske <ole.john.aske@oracle.com> branch nick: mysql-5.1 timestamp: Mon 2011-02-07 10:36:21 +0100 message: Fix for bug#59308: Incorrect result for SELECT DISTINCT <col>... ORDER BY <col> DESC. Also fix bug#59110: Memory leak of QUICK_SELECT_I allocated memory. Includes J?rgen L?lands review comments. Root cause of these bugs are that test_if_skip_sort_order() decided to revert the 'skip_sort_order' descision (and use filesort) after the query plan has been updated to reflect a 'skip' of the sort order. This might happen in 'check_reverse_order:' if we have a select->quick which could not be made descending by appending a QUICK_SELECT_DESC. (). The original 'save_quick' was then restored after the QEP has been modified, which caused: - An incorrect 'precomputed_group_by= TRUE' may have been set, and not reverted, as part of the already modifified QEP (Bug#59308) - A 'select->quick' might have been created which we fail to delete (bug#59110). This fix is a refactorication of test_if_skip_sort_order() where all logic related to modification of QEP (controlled by argument 'bool no_changes'), is moved to the end of test_if_skip_sort_order(), and done after *all* 'test_if_skip' checks has been performed - including the 'check_reverse_order:' checks. The refactorication above contains now intentional changes to the logic which has been moved to the end of the function. Furthermore, a smaller part of the fix address the handling of the select->quick objects which may already exists when we call 'test_if_skip_sort_order()' (save_quick) -and new select->quick's created during test_if_skip_sort_order(): - Before new select->quick may be created by calling ::test_quick_select(), we set 'select->quick= 0' to avoid that ::test_quick_select() prematurely delete the save_quick's. (After this call we may have both a 'save_quick' and 'select->quick') - All returns from ::test_if_skip_sort_order() where we may have both a 'save_quick' and a 'select->quick' has been changed to goto's to the exit points 'skiped_sort_order:' or 'need_filesort:' where we decide which of the QUICK_SELECT's to keep, and delete the other. ------------------------------------------------------------ revno: 3097.34.96 [merge] committer: Vinay Fisrekar <vinay.fisrekar@sun.com> branch nick: mysql-5.5 timestamp: Mon 2011-02-07 12:34:43 +0530 message: bzr merger from mysql-5.1 to mysql-5.5 Bug#59955 - engines/funcs/ps_string_not_null test needs better cleanup ------------------------------------------------------------ revno: 2661.743.14 committer: Vinay Fisrekar <vinay.fisrekar@sun.com> branch nick: mysql-5.1 timestamp: Mon 2011-02-07 11:10:35 +0530 message: Bug#59955 - engines/funcs/ps_string_not_null test needs better cleanup Correcting clean up command at the start of test. ------------------------------------------------------------ revno: 3097.34.95 [merge] committer: Dmitry Shulga <Dmitry.Shulga@oracle.com> branch nick: mysql-5.5 timestamp: Sat 2011-02-05 11:04:15 +0600 message: Auto-merge from mysql-5.1 for bug#57450. ------------------------------------------------------------ revno: 2661.743.13 committer: Dmitry Shulga <Dmitry.Shulga@oracle.com> branch nick: mysql-5.1-bug57450 timestamp: Sat 2011-02-05 11:02:00 +0600 message: Fixed bug#57450 - mysql client enter in an infinite loop if the standard input is a directory. The problem is that mysql monitor try to read from stdin without checking input source type. The solution is to stop reading data from standard input if a call to read(2) failed. A new test case was added into mysql.test. ------------------------------------------------------------ revno: 3097.34.94 committer: Serge Kozlov <Serge.Kozlov@oracle.com> branch nick: build-5.5 timestamp: Fri 2011-02-04 22:07:48 +0300 message: Bug#43828, Bug#59494. After introducing new way of initialization of replication the setting different heartbeat periods for slaves was missed. Added asserts ------------------------------------------------------------ revno: 3097.34.93 committer: Marc Alff <marc.alff@oracle.com> branch nick: mysql-5.5-cleanup timestamp: Fri 2011-02-04 08:26:30 -0700 message: Bug#58740 Valgrind warning in PFS (pfs_setup_actor.cc) Valgrind gets confused by the call stack generated with optimized builds, with inlined functions. Reduced the stack context for the suppression in lf_pinbox_get_pins. ------------------------------------------------------------ revno: 3097.34.92 [merge] committer: Luis Soares <luis.soares@oracle.com> branch nick: mysql-5.5 timestamp: Fri 2011-02-04 14:59:04 +0000 message: BUG#59147: automerge mysql-5.1 into mysql-5.5. ------------------------------------------------------------ revno: 2661.743.12 [merge] committer: Luis Soares <luis.soares@oracle.com> branch nick: mysql-5.1 timestamp: Fri 2011-02-04 14:57:51 +0000 message: BUG#59147: Automerged bzr bundle form bug report into mysql-5.1 . ------------------------------------------------------------ revno: 2661.746.1 committer: Luis Soares <luis.soares@oracle.com> branch nick: mysql-5.1 timestamp: Thu 2011-02-03 16:09:33 +0000 message: BUG#59147: rpl_circular_for_4_hosts fails sporadically There is one part of the test case that needs to break and re-establish the circular topology. For this the test stops the slave threads on a couple of servers and restarts them with START SLAVE. However, no check is done on the status of the IO or SQL threads before proceeding with the subsequent commands. Because rpl_only_running_threads is set to 1 this can lead to silently not syncing all slave threads as expected, ultimately resulting in unexpected results (and consequently on a failing test run). We fix this by replacing the START SLAVE instructions with calls to --source include/start_slave.inc, which will wait for the slave threads to be running (show 'Yes' in Slave_IO|SQL_Running fields of SHOW SLAVE STATUS) before proceeding. Additionally, we change rpl_sync.inc to make the IO thread report that it is running when its running status is any other than 'No'. ------------------------------------------------------------ revno: 3097.34.91 [merge] committer: Dmitry Shulga <Dmitry.Shulga@oracle.com> branch nick: mysql-5.5 timestamp: Fri 2011-02-04 10:59:55 +0600 message: Merge from mysql-5.1 for bug#58026. ------------------------------------------------------------ revno: 2661.743.11 committer: Dmitry Shulga <Dmitry.Shulga@oracle.com> branch nick: mysql-5.1-bug58026 timestamp: Fri 2011-02-04 10:47:46 +0600 message: Fixed bug#58026 - massive recursion and crash in regular expression handling. The problem was that parsing of nested regular expression involved recursive calls. Such recursion didn't take into account the amount of available stack space, which ended up leading to stack overflow crashes. ------------------------------------------------------------ revno: 3097.34.90 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: B55755-5.5 timestamp: Wed 2011-02-02 20:16:06 +0200 message: merge ------------------------------------------------------------ revno: 2661.743.10 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: B55755-5.1 timestamp: Wed 2011-02-02 20:13:11 +0200 message: merge ------------------------------------------------------------ revno: 1810.4001.11 committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: B55755-5.0 timestamp: Wed 2011-02-02 20:10:57 +0200 message: Bug #52315 part 2 addendum : reset back the timestamp ------------------------------------------------------------ revno: 3097.34.89 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: B55755-5.5 timestamp: Wed 2011-02-02 20:13:28 +0200 message: merge ------------------------------------------------------------ revno: 2661.743.9 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: B55755-5.1 timestamp: Wed 2011-02-02 19:05:28 +0200 message: merge to 5.1. ------------------------------------------------------------ revno: 1810.4001.10 committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: B55755-5.0 timestamp: Wed 2011-02-02 18:51:35 +0200 message: Fixes for Bug #55755 and Bug #52315 part 2 Bug #55755 : Date STD variable signness breaks server on FreeBSD and OpenBSD * Added a check to configure on the size of time_t * Created a macro to check for a valid time_t that is safe to use with datetime functions and store in TIMESTAMP columns. * Used the macro consistently instead of the ad-hoc checks introduced by 52315 * Fixed compliation warnings on platforms where the size of time_t is smaller than the size of a long (e.g. OpenBSD 4.8 64 amd64). Bug #52315: utc_date() crashes when system time > year 2037 * Added a correct check for the timestamp range instead of just variable size check to SET TIMESTAMP. * Added overflow checking before converting to time_t. * Using a correct localized error message in this case instead of the generic error. * Added a test suite. * fixed the checks so that they check for unsigned time_t as well. Used the checks consistently across the source code. * fixed the original test case to expect the new error code. ------------------------------------------------------------ revno: 3097.34.88 [merge] committer: Dmitry Lenev <Dmitry.Lenev@oracle.com> branch nick: mysql-5.5-mrg timestamp: Wed 2011-02-02 16:58:13 +0300 message: Merged fix for bug #58650 "Failing assertion: primary_key_no == -1 || primary_key_no == 0" with recent changes from mysql-5.5 tree. ------------------------------------------------------------ revno: 3097.46.1 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5-sortaborted timestamp: Wed 2011-02-02 12:54:49 +0100 message: Bug #36022 please log more information about "Sort aborted" queries Write an additional warning message to the server log, explaining why a sort operation is aborted. The output in mysqld.err will look something like: 110127 15:07:54 [ERROR] mysqld: Sort aborted: Out of memory (Needed 24 bytes) 110127 15:07:54 [ERROR] mysqld: Out of sort memory, consider increasing server sort buffer size 110127 15:07:54 [ERROR] mysqld: Sort aborted: Out of sort memory, consider increasing server sort buffer size 110127 15:07:54 [ERROR] mysqld: Sort aborted: Incorrect number of arguments for FUNCTION test.f1; expected 0, got 1 If --log-warn=2 is enabled, we output information about host/user/query as well. ------------------------------------------------------------ revno: 3097.34.87 [merge] committer: Dmitry Lenev <Dmitry.Lenev@oracle.com> branch nick: mysql-5.5-mrg timestamp: Wed 2011-02-02 16:53:56 +0300 message: Merged fix for bug #58650 "Failing assertion: primary_key_no == -1 || primary_key_no == 0" into mysql-5.5 tree. ------------------------------------------------------------ revno: 2661.743.8 committer: Dmitry Lenev <Dmitry.Lenev@oracle.com> branch nick: mysql-5.1-58650 timestamp: Wed 2011-02-02 16:17:48 +0300 message: Fix for bug #58650 "Failing assertion: primary_key_no == -1 || primary_key_no == 0". Attempt to create InnoDB table with non-nullable column of geometry type having an unique key with length 12 on it and with some other candidate key led to server crash due to assertion failure in both non-debug and debug builds. The problem was that such a non-candidate key could have been sorted as the first key in table/.FRM, before any legit candidate keys. This resulted in assertion failure in InnoDB engine which assumes that primary key should either be the first key in table/.FRM or should not exist at all. The reason behind such an incorrect sorting was an wrong value of Create_field::key_length member for geometry field (which was set to its pack_length == 12) which confused code in mysql_prepare_create_table(), so it would skip marking such key as a key with partial segments. This patch fixes the problem by ensuring that this member gets the same value of Create_field::key_length member as for other blob fields (from which geometry field class is inherited), and as result unique keys on geometry fields are correctly marked as having partial segments. ------------------------------------------------------------ revno: 3097.34.86 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5 timestamp: Wed 2011-02-02 10:18:44 +0100 message: Backport of fix for Bug#52123 ------------------------------------------------------------ revno: 3097.34.85 committer: Ole John Aske <ole.john.aske@oracle.com> branch nick: mysql-5.5 timestamp: Tue 2011-02-01 15:19:34 +0100 message: Fix for bug#58490, 'Incorrect result in multi level OUTER JOIN in combination with IS NULL' As this bug is a duplicate of bug#49322, it also includes test cases covering this bugreport Qualifying an OUTER JOIN with the condition 'WHERE <column> IS NULL', where <column> is declared as 'NOT NULL' causes the 'not_exists_optimize' to be enabled by the optimizer. In evaluate_join_record() the 'not_exists_optimize' caused 'NESTED_LOOP_NO_MORE_ROWS' to be returned immediately when a matching row was found. However, as the 'not_exists_optimize' is derived from 'JOIN_TAB::select_cond', the usual rules for condition guards also applies for 'not_exist_optimize'. It is therefore incorrect to check 'not_exists_optimize' without ensuring that all guards protecting it is 'open'. This fix uses the fact that 'not_exists_optimize' is derived from a 'is_null' predicate term in 'tab->select_cond'. Furthermore, 'is_null' will evaluate to 'false' for any 'non-null' rows once all guards protecting the is_null is open. We can use this knowledge as an implicit guard check for the 'not_exists_optimize' by moving 'if (...not_exists_optimize)' inside the handling of 'select_cond==false'. It will then not take effect before its guards are open. We also add an assert which requires that a 'not_exists_optimize' always comes together with a select_cond. (containing 'is_null'). ------------------------------------------------------------ revno: 3097.34.84 [merge] committer: Ole John Aske <ole.john.aske@oracle.com> branch nick: mysql-5.5 timestamp: Tue 2011-02-01 13:23:28 +0100 message: Merge ------------------------------------------------------------ revno: 2661.743.7 committer: Ole John Aske <ole.john.aske@oracle.com> branch nick: mysql-5.1 timestamp: Tue 2011-02-01 13:20:16 +0100 message: Fix for bug#57030: ('BETWEEN' evaluation is incorrect') Root cause for this bug is that the optimizer try to detect& optimize the special case: '<field> BETWEEN c1 AND c1' and handle this as the condition '<field> = c1' This was implemented inside add_key_field(.. *field, *value[]...) which assumed field to refer key Field, and value[] to refer a [low...high] constant pair. value[0] and value[1] was then compared for equality. In a 'normal' BETWEEN condition of the form '<field> BETWEEN val1 and val2' the BETWEEN operation is represented with an argementlist containing the values [<field>, val1, val2] - add_key_field() is then called with parameters field=<field>, *value=val1. However, if the BETWEEN predicate specified: 1) '<const1> BETWEEN<const2> AND<field> the 'field' and 'value' arguments to add_key_field() had to be swapped. This was implemented by trying to cheat add_key_field() to handle it like: 2) '<const1> GE<const2> AND<const1> LE<field>' As we didn't really replace the BETWEEN operation with 'ge' and 'le', add_key_field() still handled it as a 'BETWEEN' and compared the (swapped) arguments<const1> and<const2> for equality. If they was equal, the condition 1) was incorrectly 'optimized' to: 3) '<field> EQ <const1>' This fix moves this optimization of '<field> BETWEEN c1 AND c1' into add_key_fields() which then calls add_key_equal_fields() to collect key equality / comparison for the key fields in the BETWEEN condition. ------------------------------------------------------------ revno: 3097.34.83 committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: B59657-5.5 timestamp: Mon 2011-01-31 17:32:57 +0200 message: Bug #59657: Move the client authentication_pam plugin into the server repository Created a clear text built in client authentication plugin. Test case added. Added a negative test case : a login failure. ------------------------------------------------------------ revno: 3097.34.82 [merge] committer: Alfranio Correia <alfranio.correia@oracle.com> branch nick: mysql-5.5-merge timestamp: Mon 2011-01-31 14:34:04 +0000 message: null-merge ------------------------------------------------------------ revno: 2661.743.6 committer: Alfranio Correia <alfranio.correia@oracle.com> branch nick: mysql-5.1-merge timestamp: Mon 2011-01-31 14:31:33 +0000 message: Post-fix for BUG#59338. ------------------------------------------------------------ revno: 3097.34.81 [merge] committer: Alfranio Correia <alfranio.correia@oracle.com> branch nick: mysql-5.5-merge timestamp: Mon 2011-01-31 13:11:05 +0000 message: merge mysql-5.1 --> mysql-5.5 Conflicts: . mysql-test/extra/rpl_tests/rpl_insert_ignore.test . mysql-test/suite/rpl/t/disabled.def . mysql-test/suite/rpl/t/rpl_insert_ignore.test . sql/sql_insert.cc . sql/sql_repl.cc ------------------------------------------------------------ revno: 2661.743.5 [merge] committer: Alfranio Correia <alfranio.correia@oracle.com> branch nick: mysql-5.1-merge timestamp: Mon 2011-01-31 10:11:01 +0000 message: merge mysql-5.1 (local) --> mysql-5.1 ------------------------------------------------------------ revno: 2661.745.1 committer: Alfranio Correia <alfranio.correia@oracle.com> branch nick: mysql-5.1 timestamp: Fri 2011-01-28 01:25:26 +0000 message: BUG#55675 rpl.rpl_log_pos fails sporadically with error binlog truncated in the middle There are two calls to read_log_event() on master in mysql_binlog_send(). Each call reads 19 bytes in this test case and the error of the second read_log_event() is reported to the slave. The second read_log_event() starts from position 94 (75 + 19) to 113 (75 + 19 + 19). Usually, there are two events in the binary log: . 0 - 3 - Header . 4 - 105 - Format Descriptor Event . 106 - 304 - Query Event and both reads fail because operations are reading from invalid positions as expected. However, mysql_binlog_send() does not use the same IO_CACHE that is used to write into binary log (i.e. mysql_bin_log.log_file) for the hot binary log. It opens the binary log file directly by calling open_binlog() and creates a separated IO_CACHE. So there is a possibly that after a master has flushed the binary log file, the content has been cached by the filesystem, and has not updated the disk file. If this happens, then a slave will only see part of the file, and thus the second read_log_event() will report event truncated error. To fix the problem, if the first read_log_event() has failed, we ensure that the second one will try to read from the same position. ------------------------------------------------------------ revno: 2661.743.4 [merge] committer: Alfranio Correia <alfranio.correia@oracle.com> branch nick: mysql-5.1-merge timestamp: Mon 2011-01-31 10:08:58 +0000 message: merge mysql-5.1 (local) --> mysql-5.1 ------------------------------------------------------------ revno: 2661.744.1 committer: Alfranio Correia <alfranio.correia@oracle.com> branch nick: mysql-5.1 timestamp: Fri 2011-01-28 12:09:15 +0000 message: BUG#59338 Inconsistency in binlog for statements that don't change any rows STATEMENT SBR In SBR, if a statement does not fail, it is always written to the binary log, regardless if rows are changed or not. If there is a failure, a statement is only written to the binary log if a non-transactional (.e.g. MyIsam) engine is updated. INSERT ON DUPLICATE KEY UPDATE and INSERT IGNORE were not following the rule above and were not written to the binary log, if then engine was Innodb. ------------------------------------------------------------ revno: 3097.34.80 committer: Sandeep Doddaballapur <sandeep.doddaballapur@sun.com> branch nick: mysql-5.5 timestamp: Mon 2011-01-31 15:04:39 +0530 message: (no message) ------------------------------------------------------------ revno: 3097.34.79 [merge] committer: Sandeep Doddaballapur <sandeep.doddaballapur@sun.com> branch nick: mysql-5.5 timestamp: Mon 2011-01-31 14:33:26 +0530 message: upmerge for changes in mysql-5.1 - #33971 ------------------------------------------------------------ revno: 2661.743.3 [merge] committer: Sandeep Doddaballapur <sandeep.doddaballapur@sun.com> branch nick: mysql-5.1 timestamp: Mon 2011-01-31 11:21:30 +0530 message: automerge ------------------------------------------------------------ revno: 2661.743.2 [merge] committer: Sandeep Doddaballapur <sandeep.doddaballapur@sun.com> branch nick: mysql-5.1 timestamp: Thu 2011-01-27 11:37:55 +0530 message: (no message) ------------------------------------------------------------ revno: 2661.743.1 committer: Sandeep Doddaballapur <sandeep.doddaballapur@sun.com> branch nick: mysql-5.1 timestamp: Tue 2011-01-25 12:14:28 +0530 message: (no message) ------------------------------------------------------------ revno: 3097.34.78 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5 timestamp: Sun 2011-01-30 18:53:43 +0200 message: Merge mysql-5.1 -> mysql-5.5 (empty) ------------------------------------------------------------ revno: 2661.739.8 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.1 timestamp: Sun 2011-01-30 18:41:58 +0200 message: Merge mysql-5.1-innodb -> mysql-5.1 ------------------------------------------------------------ revno: 3097.34.77 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5 timestamp: Sun 2011-01-30 18:51:37 +0200 message: Merge mysql-5.5-innodb -> mysql-5.5 ------------------------------------------------------------ revno: 2995.37.126 committer: Jimmy Yang <jimmy.yang@oracle.com> branch nick: mysql-trunk-innodb timestamp: Fri 2011-01-28 01:38:21 -0800 message: Fix Bug #59390 row_merge_build_indexes() fails to register tmpfd for PFS rb://582 approved by Marko ------------------------------------------------------------ revno: 2995.37.125 [merge] committer: Jimmy Yang <jimmy.yang@oracle.com> branch nick: mysql-trunk-innodb timestamp: Fri 2011-01-28 01:10:40 -0800 message: Merge from mysql-5.1-innodb to mysql-5.5-innodb ------------------------------------------------------------ revno: 2661.523.349 committer: Jimmy Yang <jimmy.yang@oracle.com> branch nick: mysql-5.1-innodb timestamp: Fri 2011-01-28 00:50:10 -0800 message: Fix Bug #59465 btr_estimate_number_of_different_key_vals use incorrect offset for external_size rb://581 approved by Marko ------------------------------------------------------------ revno: 2995.37.124 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.5-innodb timestamp: Thu 2011-01-27 13:30:59 +0200 message: Merge mysql-5.1-innodb to mysql-5.5-innodb. ------------------------------------------------------------ revno: 2661.523.348 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Thu 2011-01-27 13:27:29 +0200 message: Bug#59440 Race condition in XA ROLLBACK and XA COMMIT after server restart trx_get_trx_by_xid(): Invalidate trx->xid after a successful lookup, so that subsequent callers will not find the same transaction. The only callers of trx_get_trx_by_xid() will be invoking innobase_commit_low() or innobase_rollback_trx(), and those code paths should not depend on trx->xid. rb://584 approved by Jimmy Yang ------------------------------------------------------------ revno: 2995.37.123 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.5-innodb timestamp: Thu 2011-01-27 10:12:00 +0200 message: ibuf_contract_ext(): Remove an #if 0 section of code that refers to trx_sys_set_ibuf_format(). Change buffer format tagging was never implemented. ------------------------------------------------------------ revno: 2995.37.122 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.5-innodb timestamp: Wed 2011-01-26 10:02:52 +0200 message: Merge mysql-5.1-innodb to mysql-5.5-innodb. ------------------------------------------------------------ revno: 2661.523.347 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Tue 2011-01-25 15:43:08 +0200 message: Bug#59585 Fix 58912 introduces compiler warning due to potentially uninitialized variable row_upd_changes_ord_field_binary(): Initialize dfield_len to suppress the warning. The compiler cannot know that row_ext_lookup() does initialize dfield_len for us, as it is defined in a different module. ------------------------------------------------------------ revno: 2995.37.121 committer: Sunny Bains <Sunny.Bains@Oracle.Com> branch nick: 5.5 timestamp: Wed 2011-01-26 09:33:59 +1100 message: In sync_close() fix a bug introduced by the fix for Bug #59683 where we iterate over the mutex list and free each mutex. When UNIV_MEM_DEBUG is defined, we need skip the hash mutex. It is a minor bug affecting only UNIV_SYNC_DEBUG builds, found by Michael. ------------------------------------------------------------ revno: 2995.37.120 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.5-innodb timestamp: Tue 2011-01-25 12:35:35 +0200 message: Merge mysql-5.1-innodb to mysql-5.5-innodb. ------------------------------------------------------------ revno: 2661.523.346 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Tue 2011-01-25 12:17:28 +0200 message: Bug#59486 Incorrect usage of UNIV_UNLIKELY() in mlog_parse_string() mlog_parse_string(): Enclose the comparison in UNIV_UNLIKELY, not the comparand. ------------------------------------------------------------ revno: 2661.523.345 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Tue 2011-01-25 11:54:50 +0200 message: Bug#59464 Race condition in row_vers_build_for_semi_consistent_read row_vers_build_for_semi_consistent_read(): Dereference version_trx before releasing kernel_mutex, but not thereafter. ------------------------------------------------------------ revno: 2995.37.119 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.5-innodb timestamp: Tue 2011-01-25 10:51:13 +0200 message: Merge mysql-5.1-innodb to mysql-5.5-innodb. ------------------------------------------------------------ revno: 2661.523.344 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Tue 2011-01-25 09:56:18 +0200 message: Bug#59707 Unused compression-related parameters in buffer pool functions buf_block_alloc(): ulint zip_size is always 0. buf_LRU_get_free_block(): ulint zip_size is always 0. buf_LRU_free_block(): ibool* buf_pool_mutex_released is always NULL. Remove these parameters. buf_LRU_get_free_block(): Simplify the initialization of block->page.zip and release buf_pool_mutex() earlier. ------------------------------------------------------------ revno: 2995.37.118 committer: Sunny Bains <Sunny.Bains@Oracle.Com> branch nick: 5.5 timestamp: Tue 2011-01-25 18:25:36 +1100 message: Fix Bug #59683 :InnoDB latch deadlock detector/violation debug code is very slow There are two main pain points, one is lookup by thread id for sync_thread_t and the other is to do a lookup by latch or level in sync_thread_t::levels. Changed the sync_thread_t::levels lookup and reserve operation from O(N) to O(1). Pure lookups are still O(N), the main change for pure lookup is that we no longer need to search up to SYNC_THREAD_N_LEVELS but only up to the number of slots actually ever used ie. it is possible some were used in the past but are now on the free list. If the in_use count drops to 0 we reset the free list too. Overload the sync_level_t::level field to track the free list. If sync_thread_t::latch == NULL then sync_thread_t::level contains the ordinal value of the previous free entry. rb://580 Approved by Jimmy Yang. ------------------------------------------------------------ revno: 2995.37.117 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5-innodb timestamp: Mon 2011-01-24 09:43:50 +0200 message: Merge mysql-5.1-innodb -> mysql-5.5-innodb ------------------------------------------------------------ revno: 2661.523.343 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.1-innodb timestamp: Mon 2011-01-24 09:40:37 +0200 message: Merge mysql-5.1 -> mysql-5.1-innodb ------------------------------------------------------------ revno: 2995.37.116 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5-innodb timestamp: Mon 2011-01-24 09:42:07 +0200 message: Merge mysql-5.5 -> mysql-5.5-innodb ------------------------------------------------------------ revno: 2995.37.115 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.5-innodb timestamp: Tue 2011-01-18 12:30:33 +0200 message: Merge mysql-5.1-innodb to mysql-5.5-innodb. ------------------------------------------------------------ revno: 2661.523.342 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Tue 2011-01-18 12:25:13 +0200 message: Bug#59579 rw_lock_debug_print outputs to stderr rw_lock_debug_print(): Add parameter FILE* for specifying the output stream. rw_lock_list_print_info(): Invoke rw_lock_debug_print() on file, not stderr. ------------------------------------------------------------ revno: 2995.37.114 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.5-innodb timestamp: Mon 2011-01-17 14:11:43 +0200 message: Merge from mysql-5.1-innodb to mysql-5.5-innodb. ------------------------------------------------------------ revno: 2661.523.341 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Mon 2011-01-17 14:06:48 +0200 message: Non-functional changes. Remove the unused data type dict_cluster_t. Remove a bogus comment about latching order. ------------------------------------------------------------ revno: 2995.37.113 [merge] committer: Jimmy Yang <jimmy.yang@oracle.com> branch nick: mysql-trunk-innodb timestamp: Fri 2011-01-14 23:24:47 -0800 message: Merge from mysql-5.1-innodb to mysql-5.5-innodb ------------------------------------------------------------ revno: 2661.523.340 committer: Jimmy Yang <jimmy.yang@oracle.com> branch nick: mysql-5.1-innodb timestamp: Fri 2011-01-14 09:02:28 -0800 message: Fix Bug#30423 "InnoDBs treatment of NULL in index stats causes bad "rows examined" estimates". This change implements "innodb_stats_method" with options of "nulls_equal", "nulls_unequal" and "null_ignored". rb://553 approved by Marko ------------------------------------------------------------ revno: 2995.37.112 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5-innodb timestamp: Wed 2011-01-12 17:59:45 +0200 message: Merge mysql-5.1-innodb -> mysql-5.5-innodb ------------------------------------------------------------ revno: 2661.523.339 committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.1-innodb timestamp: Wed 2011-01-12 17:53:05 +0200 message: Suppress InnoDB warning about long semaphore wait if running under Valgrind Sometimes Valgrind could be extremely slow and could trigger the InnoDB diagnostic message making the test to fail. ------------------------------------------------------------ revno: 2995.37.111 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.5-innodb timestamp: Mon 2011-01-10 15:37:55 +0200 message: Merge mysql-5.1-innodb to mysql-5.5-innodb. ------------------------------------------------------------ revno: 2661.523.338 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Mon 2011-01-10 15:34:45 +0200 message: Bug#59181 InnoDB compilation failure on the Sun Studio compiler Define UNIV_PREFETCH_R(add) as sun_prefetch_read_many((void*) addr), because apparently some versions of the Sun library omit the const qualifier. ------------------------------------------------------------ revno: 3097.34.76 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: main-55 timestamp: Sun 2011-01-30 12:09:33 +0100 message: merge 59148,59489 ------------------------------------------------------------ revno: 3077.6.79 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Sat 2011-01-29 23:28:54 +0100 message: null upmerge ------------------------------------------------------------ revno: 2661.717.26 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: merge-51 timestamp: Sat 2011-01-29 22:39:24 +0100 message: merge from 5.1 main ------------------------------------------------------------ revno: 3077.6.78 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Sat 2011-01-29 22:53:17 +0100 message: merge from 5.5 main ------------------------------------------------------------ revno: 3077.6.77 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: debplug-55 timestamp: Fri 2011-01-28 15:55:50 +0100 message: Bug #59148 'INSTALL PLUGIN rpl_semi_sync_master' fails in release build with debug binaries Do as mysqld_safe: if running mysqld-debug, plugins are in debug subdirs NB mtr --debug won't work in this context until 47141 is fixed Also moved read_plugin_defs; no point running this in all worker threads ------------------------------------------------------------ revno: 3077.6.76 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: menv-55 timestamp: Thu 2011-01-27 14:42:08 +0100 message: Bug #59489 Enable setting of env. variables for mysqld from mtr Added --mysqld-env option, propagate via safe_process Simplified: should be safe to set in parent safe_process after it's started Addendum: catch cases of --mysqld-env w/o value, assume env.var name never begins with "--" ------------------------------------------------------------ revno: 3097.34.75 [merge] committer: John H. Embretsen <john.embretsen@oracle.com> branch nick: mysql-5.5-bug56817 timestamp: Sat 2011-01-29 12:49:55 +0100 message: Merge fix for bug 56817 from mysql-5.1 to mysql-5.5. ------------------------------------------------------------ revno: 2661.739.7 committer: John H. Embretsen <john.embretsen@oracle.com> branch nick: mysql-5.1-bug56817 timestamp: Sat 2011-01-29 12:38:36 +0100 message: Fix for Bug#56817 - mysqlhotcopy tests fail when DBI and DBD-mysql perl modules are not found Third updated patch - this version also includes copyright notice in added Perl script. This patch implements a check for such modules at runtime. If modules are not found or unable to load, the test is skipped with the following message: [ skipped ] Test needs Perl modules DBI and DBD::mysql Checks are done via a helper Perl script which looks for the module in a runtime environment that is as similar to that of the mysqlhotcopy script as possible (thus not intended for Windows environments at this time). The helper script tells mysql-test about the result by writing information to a temporary file that is later read by mysql-test. See comments in added files (have_dbi_dbd-mysql.inc and checkDBI_DBD-mysql.pl) for details. The patch also removes the mysqlhotcopy tests from the list of disabled tests. ------------------------------------------------------------ revno: 3097.34.74 [merge] committer: Mattias Jonsson <mattias.jonsson@oracle.com> branch nick: topush-5.5 timestamp: Fri 2011-01-28 13:39:39 +0100 message: merge ------------------------------------------------------------ revno: 2661.739.6 committer: Mattias Jonsson <mattias.jonsson@oracle.com> branch nick: topush-5.1 timestamp: Fri 2011-01-28 13:37:39 +0100 message: minor fix of copyright header ------------------------------------------------------------ revno: 3097.34.73 [merge] committer: Mattias Jonsson <mattias.jonsson@oracle.com> branch nick: topush-5.5 timestamp: Fri 2011-01-28 13:28:15 +0100 message: merge ------------------------------------------------------------ revno: 2661.739.5 committer: Mattias Jonsson <mattias.jonsson@oracle.com> branch nick: topush-5.1 timestamp: Thu 2011-01-27 23:47:24 +0100 message: Update of copyright headers for files I changed this year. ------------------------------------------------------------ revno: 2661.739.4 [merge] committer: Mattias Jonsson <mattias.jonsson@oracle.com> branch nick: topush-5.1 timestamp: Thu 2011-01-27 23:39:17 +0100 message: merge ------------------------------------------------------------ revno: 2661.742.1 committer: Mattias Jonsson <mattias.jonsson@oracle.com> branch nick: b59418-51 timestamp: Tue 2011-01-18 23:55:39 +0100 message: Bug#59418: parts suite have several failures with --embedded-server The test were using external tools not available for embedded. Fixed by rewriting the test to not rely on external tools like the mysql-client Also fixed some non portable --exec commands and replaced #p# to #P# to pass on windows. ------------------------------------------------------------ revno: 3153 [merge] committer: Dmitry Lenev <Dmitry.Lenev@oracle.com> branch nick: mysql-5.5-s-mrg timestamp: Mon 2011-02-07 16:15:12 +0300 message: Merged fix for bug #36544 "DROP USER does not remove stored function privileges" into 5.5 tree. Did after-merge fixes. ------------------------------------------------------------ revno: 2661.712.17 [merge] committer: Dmitry Lenev <Dmitry.Lenev@oracle.com> branch nick: mysql-5.1-s-mrg timestamp: Mon 2011-02-07 15:06:22 +0300 message: Merged fix for bug #36544 "DROP USER does not remove stored function privileges" into 5.5 tree. Did after-merge fixes. ------------------------------------------------------------ revno: 1810.4000.7 committer: Dmitry Lenev <Dmitry.Lenev@oracle.com> branch nick: mysql-5.0-s-36544 timestamp: Mon 2011-02-07 14:01:19 +0300 message: Fix for bug#36544 "DROP USER does not remove stored function privileges". The first problem was that DROP USER didn't properly remove privileges on stored functions from in-memory structures. So the dropped user could have called stored functions on which he had privileges before being dropped while his connection was still around. Even worse if a new user with the same name was created he would inherit privileges on stored functions from the dropped user. Similar thing happened with old user name and function privileges during RENAME USER. This problem stemmed from the fact that the handle_grant_data() function which handled DROP/RENAME USER didn't take any measures to update in-memory hash with information about function privileges after updating them on disk. This patch solves this problem by adding code doing just that. The second problem was that RENAME USER didn't properly update in-memory structures describing table-level privileges and privileges on stored procedures. As result such privileges could have been lost after a rename (i.e. not associated with the new name of user) and inherited by a new user with the same name as the old name of the original user. This problem was caused by code handling RENAME USER in handle_grant_struct() which [sic!]: a) tried to update wrong (tables) hash when updating stored procedure privileges for new user name. b) passed wrong arguments to function performing the hash update and didn't take into account the way in which such update could have changed the order of the hash elements. This patch solves this problem by ensuring that a) the correct hash is updated, b) correct arguments are used for the hash_update() function and c) we take into account possible changes in the order of hash elements. ------------------------------------------------------------ revno: 3152 committer: Sergey Vojtovich <sergey.vojtovich@oracle.com> branch nick: mysql-5.5-security timestamp: Wed 2011-02-02 10:38:50 +0300 message: Bug #59148 - made tests experimental ------------------------------------------------------------ revno: 3151 [merge] committer: Sergey Vojtovich <sergey.vojtovich@oracle.com> branch nick: mysql-5.5-security timestamp: Fri 2011-01-28 15:04:48 +0300 message: Merge. ------------------------------------------------------------ revno: 2661.712.16 [merge] committer: Sergey Vojtovich <sergey.vojtovich@oracle.com> branch nick: mysql-5.1-security timestamp: Fri 2011-01-28 14:53:56 +0300 message: Merge. ------------------------------------------------------------ revno: 1810.4000.6 [merge] committer: Sergey Vojtovich <sergey.vojtovich@oracle.com> branch nick: mysql-5.0-security timestamp: Fri 2011-01-28 14:46:10 +0300 message: Merge. ------------------------------------------------------------ revno: 2661.712.15 [merge] committer: Sergey Vojtovich <sergey.vojtovich@oracle.com> branch nick: mysql-5.1-security timestamp: Fri 2011-01-28 14:51:28 +0300 message: Merge. ------------------------------------------------------------ revno: 3150 [merge] committer: Sergey Vojtovich <sergey.vojtovich@oracle.com> branch nick: mysql-5.5-security timestamp: Fri 2011-01-28 15:00:54 +0300 message: Merge. ------------------------------------------------------------ revno: 3097.34.72 [merge] committer: John H. Embretsen <john.embretsen@oracle.com> branch nick: mysql-5.5 timestamp: Fri 2011-01-28 11:01:54 +0100 message: Null-merge from mysql-5.1 ------------------------------------------------------------ revno: 2661.739.3 [merge] committer: John H. Embretsen <john.embretsen@oracle.com> branch nick: mysql-5.1-bug56895 timestamp: Thu 2011-01-27 12:38:13 +0100 message: Merge two patches for bug 56895 into tip of mysql-5.1 branch. ------------------------------------------------------------ revno: 2661.741.2 [merge] committer: Horst.Hunger <horst.hunger@sun.com> branch nick: mysql-5.1 timestamp: Thu 2011-01-27 08:59:45 +0100 message: due to merge. ------------------------------------------------------------ revno: 2661.741.1 [merge] committer: Horst.Hunger <horst.hunger@sun.com> branch nick: mysql-5.1 timestamp: Thu 2011-01-27 08:56:59 +0100 message: Merge of results of the review done in 5.1-bugteam to 5.1. ------------------------------------------------------------ revno: 2661.740.1 committer: Horst.Hunger <horst.hunger@sun.com> branch nick: mysql-5.1-bugteam timestamp: Thu 2010-11-11 11:25:03 +0100 message: 2. review update for bug#52501 fixing a syntax error, a not actual result file and replaced directory info by place holder. ------------------------------------------------------------ revno: 2661.739.2 committer: John H. Embretsen <john.embretsen@oracle.com> branch nick: mysql-5.1-bug56895 timestamp: Fri 2011-01-14 17:01:13 +0100 message: Bug#56895 part 2 of 2: Backport of revid holyfoot@mysql.com-20100825135522-8wrjjmvh2u2t0qo6 from mysql-5.5. Without this patch mysqlhotcopy tests would fail due to not finding the mysqlhotcopy tool in release-like builds. With this patch the tests would either pass, or fail due to missing Perl modules (see 56817). Text conflict in mysql-test/mysql-test-run.pl: - resolved by using logic from 5.5 to find mysqlhotcopy, the intention of this backport. Changed bindir to basedir. ------------------------------------------------------------ revno: 2661.739.1 committer: John H. Embretsen <john.embretsen@oracle.com> branch nick: mysql-5.1-bug56895 timestamp: Fri 2011-01-14 14:50:39 +0100 message: Bug#56895 part 1 of 2: Backport of revid holyfoot@mysql.com-20100823084827-js10vjuil88je35r from mysql-5.5. The purpose is to make MTR logic for mysqlhotcopy the same in 5.1 as in 5.5, making it easier to maintain and fix bugs such as 56817. ------------------------------------------------------------ revno: 3097.34.71 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5-bug59273FILE timestamp: Thu 2011-01-27 14:25:27 +0100 message: Bug #59273 show profile source doesn't show Source_function or truncates Source_file Fixed the 'show profile source' part of the bug. Leaving SHOW ENGINE INNODB MUTEX to a separate patch. ------------------------------------------------------------ revno: 3097.34.70 [merge] committer: Mattias Jonsson <mattias.jonsson@oracle.com> branch nick: topush-5.5 timestamp: Wed 2011-01-26 19:33:53 +0100 message: merge of bug 47902 and (null-merge) of bug 57924. bug#57924 does not occur in 5.5, so I reverted the 5.1 specific code and used the errors from 5.5 instead in the tests ------------------------------------------------------------ revno: 2661.736.4 [merge] committer: Mattias Jonsson <mattias.jonsson@oracle.com> branch nick: topush-5.1 timestamp: Wed 2011-01-26 16:50:21 +0100 message: merge ------------------------------------------------------------ revno: 2661.738.1 committer: Mattias Jonsson <mattias.jonsson@oracle.com> branch nick: b57924-51-bt timestamp: Mon 2011-01-10 16:20:28 +0100 message: Bug#57924: crash when creating partitioned table with multiple columns in the partition key ndb crash if duplicate columns in the partitioning key. Backport from mysql-5.1-telco-7.0, see bug#53354. Changed from case sensitive field name comparision to non case sensitive too. ------------------------------------------------------------ revno: 2661.736.3 [merge] committer: Mattias Jonsson <mattias.jonsson@oracle.com> branch nick: topush-5.1 timestamp: Wed 2011-01-26 16:34:34 +0100 message: merge ------------------------------------------------------------ revno: 2661.737.1 committer: Mattias Jonsson <mattias.jonsson@oracle.com> branch nick: b47902-51 timestamp: Mon 2011-01-10 23:42:37 +0100 message: Bug#47902: partition_recover_myisam fails with --ps-protocol The problem was that the warnings was never written out when running with --ps-protocol. This was because the warnings only appeared during the prepare phase, not the execute phase. Solved by not clearing the warnings from the prepare phase if there was no other warnings. If there are warnings from the execute phase, it is very likely to be the same as from the prepare phase. My tests show that if not clearing the warnings from the prepare phase when there are warnings from the execute phase, there will be duplicated warnings in the result. ------------------------------------------------------------ revno: 2661.736.2 [merge] committer: Ramil Kalimullin <ramil@mysql.com> branch nick: mysql-5.1 timestamp: Wed 2011-01-26 15:55:45 +0300 message: Auto-merge ------------------------------------------------------------ revno: 2661.736.1 [merge] committer: Ramil Kalimullin <ramil@mysql.com> branch nick: mysql-5.1 timestamp: Wed 2011-01-26 15:54:18 +0300 message: Null-merge from mysql-5.0 (backported fix for #47811 null-merged). ------------------------------------------------------------ revno: 1810.4001.9 committer: Ramil Kalimullin <ramil@mysql.com> branch nick: mysql-5.0 timestamp: Wed 2011-01-26 15:49:09 +0300 message: Bug #47811 : remove the non-default alignment specification. Fix backported from to 5.0. "Remove the alignment option, let valgrind use its default" ------------------------------------------------------------ revno: 3097.34.69 committer: Jon Olav Hauglid <jon.hauglid@oracle.com> branch nick: mysql-5.5-bug42230 timestamp: Wed 2011-01-26 14:23:29 +0100 message: Bug #42230 during add index, cannot do queries on storage engines that implement add_index The problem was that ALTER TABLE blocked reads on an InnoDB table while adding a secondary index, even if this was not needed. It is only needed for the final step where the .frm file is updated. The reason queries were blocked, was that ALTER TABLE upgraded the metadata lock from MDL_SHARED_NO_WRITE (which blocks writes) to MDL_EXCLUSIVE (which blocks all accesses) before index creation. The way the server handles index creation, is that storage engines publish their capabilities to the server and the server determines which of the following three ways this can be handled: 1) build a new version of the table; 2) change the existing table but with exclusive metadata lock; 3) change the existing table but without metadata lock upgrade. For InnoDB and secondary index creation, option 3) should have been selected. However this failed for two reasons. First, InnoDB did not publish this capability properly. Second, the ALTER TABLE code failed to made proper use of the information supplied by the storage engine. A variable need_lock_for_indexes was set accordingly, but was not later used. This patch fixes this problem by only doing metadata lock upgrade before index creation/deletion if this variable has been set. This patch also changes some of the related terminology used in the code. Specifically the use of "fast" and "online" with respect to ALTER TABLE. "Fast" was used to indicate that an ALTER TABLE operation could be done without involving a temporary table. "Fast" has been renamed "in-place" to more accurately describe the behavior. "Online" meant that the operation could be done without taking a table lock. However, in the current implementation writes are always prohibited during ALTER TABLE and an exclusive metadata lock is held while updating the .frm, so ALTER TABLE is not completely online. This patch replaces "online" with "in-place", with additional comments indicating if concurrent reads are allowed during index creation/deletion or not. An important part of this update of terminology is renaming of the handler flags used by handlers to indicate if index creation/deletion can be done in-place and if concurrent reads are allowed. For example, the HA_ONLINE_ADD_INDEX_NO_WRITES flag has been renamed to HA_INPLACE_ADD_INDEX_NO_READ_WRITE, while HA_ONLINE_ADD_INDEX is now HA_INPLACE_ADD_INDEX_NO_WRITE. Note that this is a rename to clarify current behavior, the flag values have not changed and no flags have been removed or added. Test case added to innodb_mysql_sync.test. ------------------------------------------------------------ revno: 3097.34.68 [merge] committer: Alfranio Correia <alfranio.correia@oracle.com> branch nick: mysql-5.5 timestamp: Wed 2011-01-26 12:44:09 +0000 message: merge mysql-5.1 --> mysql-5.5 ------------------------------------------------------------ revno: 2661.720.58 committer: Alfranio Correia <alfranio.correia@oracle.com> branch nick: mysql-5.1 timestamp: Wed 2011-01-26 12:37:24 +0000 message: Disabled rpl_row_until and rpl_stm_until due to BUG#59543. ------------------------------------------------------------ revno: 3097.34.67 [merge] committer: Libing Song <anders.song@greatopensource.com> branch nick: mysql-5.5 timestamp: Wed 2011-01-26 15:35:18 +0800 message: Auto Merge. ------------------------------------------------------------ revno: 2661.720.57 [merge] committer: Libing Song <anders.song@greatopensource.com> branch nick: mysql-5.1 timestamp: Wed 2011-01-26 15:32:41 +0800 message: Null Merge. ------------------------------------------------------------ revno: 1810.4001.8 committer: Libing Song <anders.song@greatopensource.com> branch nick: mysql-5.0 timestamp: Wed 2011-01-26 15:30:06 +0800 message: Postfix bug#49124 Updated the copyright. ------------------------------------------------------------ revno: 3097.34.66 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: main-55 timestamp: Tue 2011-01-25 15:08:53 +0100 message: null upmerge ------------------------------------------------------------ revno: 2661.720.56 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: upm-51 timestamp: Tue 2011-01-25 14:44:26 +0100 message: merge 59063 ------------------------------------------------------------ revno: 3097.34.65 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: main-55 timestamp: Tue 2011-01-25 14:46:45 +0100 message: merge 59063 ------------------------------------------------------------ revno: 3077.6.75 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Tue 2011-01-25 13:32:18 +0100 message: null upmerge ------------------------------------------------------------ revno: 2661.717.25 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: merge-51 timestamp: Tue 2011-01-25 13:07:23 +0100 message: merge from 5.1 main ------------------------------------------------------------ revno: 3077.6.74 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Tue 2011-01-25 13:08:59 +0100 message: merge from 5.5 main ------------------------------------------------------------ revno: 3077.6.73 [merge] committer: Magnus Bl?udd <magnus.blaudd@oracle.com> branch nick: mysql-5.5-mtr timestamp: Mon 2011-01-24 11:09:53 +0100 message: Merge ------------------------------------------------------------ revno: 3077.13.1 committer: Magnus Bl?udd <magnus.blaudd@oracle.com> branch nick: 5.5-mtr timestamp: Wed 2011-01-19 15:47:56 +0100 message: Cherry pick fix fo detecting MySQL CLuster in mtr.pl ------------------------------------------------------------ revno: 3077.6.72 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Fri 2011-01-21 15:03:21 +0100 message: upmerge 59063 ------------------------------------------------------------ revno: 2661.717.24 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: expwin-51 timestamp: Fri 2011-01-21 13:57:21 +0100 message: Bug #59063 rpl_migration_crash_safe fails on Windows Race condition may occur: mtr sees the .expect file but it's empty Fix: wait and try again if file is empty Addendum: try again if line isn't 'wait' or 'restart' Also added verbose printout of extra restart options ------------------------------------------------------------ revno: 3097.34.64 committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: B59275-5.5 timestamp: Fri 2011-01-14 16:57:13 +0200 message: Bug #59275: SHOW PRIVILEGES doesn't have an entry for the PROXY privilege Added the privilege to the SHOW command. ------------------------------------------------------------ revno: 3097.34.63 committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: B59453-5.5 timestamp: Fri 2011-01-14 17:48:11 +0200 message: Bug #59453: Non-ASCIIZ string kills protocol extensibility in MySQL 5.5 When the server sends the name of the plugin it's using in the handshake packet it was null terminating it in it's buffer, but was sending a length of the packet 1 byte short. Fixed to send the terminating 0 as well by increasing the length of the packet to include it. In this way the handshake packet becomes similar to the change user packet where the plugin name is null terminated. No test suite added as the fix can only be observed by analyzing the bytes sent over the wire. ------------------------------------------------------------ revno: 3097.34.62 [merge] committer: <anders.song@greatopensource.com> branch nick: mysql-5.5 timestamp: Mon 2011-01-24 11:52:29 +0800 message: Manual Merge. ------------------------------------------------------------ revno: 2661.720.55 committer: <anders.song@greatopensource.com> branch nick: mysql-5.1 timestamp: Mon 2011-01-24 11:48:54 +0800 message: Postfix BUG#58546 Updated Copyright. ------------------------------------------------------------ revno: 3097.34.61 [merge] committer: Martin Hansson <martin.hansson@oracle.com> branch nick: 5.5 timestamp: Thu 2011-01-20 13:28:11 +0100 message: Merge. ------------------------------------------------------------ revno: 2661.720.54 [merge] committer: Martin Hansson <martin.hansson@oracle.com> branch nick: 5.1 timestamp: Thu 2011-01-20 09:25:17 +0100 message: Merge. ------------------------------------------------------------ revno: 3097.34.60 [merge] committer: Martin Hansson <martin.hansson@oracle.com> branch nick: 5.5 timestamp: Thu 2011-01-20 09:19:45 +0100 message: Merge. ------------------------------------------------------------ revno: 3097.45.1 [merge] committer: Alexander Barkov <bar@mysql.com> branch nick: mysql-5.5 timestamp: Wed 2011-01-19 16:31:17 +0300 message: Merging Copyright update from 5.1 ------------------------------------------------------------ revno: 2661.735.1 committer: Alexander Barkov <bar@mysql.com> branch nick: mysql-5.1 timestamp: Wed 2011-01-19 16:17:52 +0300 message: Updating Copyright information ------------------------------------------------------------ revno: 3097.34.59 [merge] committer: Martin Hansson <martin.hansson@oracle.com> branch nick: 5.5 timestamp: Wed 2011-01-19 15:12:43 +0100 message: Merge of fix for Bug#59173. ------------------------------------------------------------ revno: 2661.720.53 committer: Martin Hansson <martin.hansson@oracle.com> branch nick: 5.1 timestamp: Wed 2011-01-19 15:09:32 +0100 message: Bug#59173: Failure to handle DATE(TIME) values where Year, Month or Day is ZERO When dates are represented internally as strings, i.e. when a string constant is compared to a date value, both values are converted to long integers, ostensibly for fast comparisons. DATE typed integer values are converted to DATETIME by multiplying by 1,000,000 (each digit pair representing hour, minute and second, respectively). But the mechanism did not distuinguish cached INTEGER values, already in correct format, from newly converted strings. Fixed by marking the INTEGER cache as being of DATETIME format. ------------------------------------------------------------ revno: 3097.34.58 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: main-55 timestamp: Wed 2011-01-19 13:16:45 +0100 message: null upmerge ------------------------------------------------------------ revno: 2661.720.52 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: tomain-51 timestamp: Wed 2011-01-19 12:55:37 +0100 message: merge from 5.1-mtr ------------------------------------------------------------ revno: 3097.34.57 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: main-55 timestamp: Wed 2011-01-19 12:56:17 +0100 message: merge from 5.5-mtr ------------------------------------------------------------ revno: 3077.6.71 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Wed 2011-01-19 12:02:30 +0100 message: null upmerge ------------------------------------------------------------ revno: 2661.717.23 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: merge-51 timestamp: Wed 2011-01-19 11:19:54 +0100 message: merge from 5.1 main ------------------------------------------------------------ revno: 3077.6.70 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Wed 2011-01-19 11:21:20 +0100 message: merge from 5.5 main ------------------------------------------------------------ revno: 3077.6.69 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Tue 2011-01-18 12:39:23 +0100 message: upmerge undo of 59063 ------------------------------------------------------------ revno: 2661.717.22 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-51 timestamp: Tue 2011-01-18 12:25:07 +0100 message: Bug #59063 rpl_migration_crash_safe fails on Windows Undoing the patch, it complicates the code but is not the solution I do not beleive newline mismatch could be the cause of this failure First, I cannot see how this could be a problem, mtr ignores the newline when reading the expect file, and the file is written and read on Windows. Second, if this really was the problem it should have been deterministic: either the newline is correctly interepreted or it is not. ------------------------------------------------------------ revno: 2661.717.21 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-51 timestamp: Tue 2011-01-18 12:11:52 +0100 message: oops forgot one file in last commit ------------------------------------------------------------ revno: 3077.6.68 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Tue 2011-01-18 12:06:25 +0100 message: Some more copyright fixes in mtr ------------------------------------------------------------ revno: 2661.717.20 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-51 timestamp: Tue 2011-01-18 12:01:40 +0100 message: Some more copyright fixes in mtr ------------------------------------------------------------ revno: 3077.6.67 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Tue 2011-01-18 11:21:37 +0100 message: Fixed copyright headers in mtr src files ------------------------------------------------------------ revno: 2661.717.19 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-51 timestamp: Tue 2011-01-18 11:03:44 +0100 message: Fixed copyright headers in mtr src files ------------------------------------------------------------ revno: 3077.6.66 committer: Magnus Bl?udd <magnus.blaudd@oracle.com> branch nick: 5.5-mtr timestamp: Mon 2011-01-17 15:23:37 +0100 message: mtr.pl fixes for ndb - Support for graceful shutdown of cluster by using "ndb_mgm -e 'shutdown'" ------------------------------------------------------------ revno: 3077.6.65 committer: Magnus Bl?udd <magnus.blaudd@oracle.com> branch nick: 5.5-mtr timestamp: Mon 2011-01-17 15:20:49 +0100 message: mtr.pl fixes for ndb - Make it possible to use MTR_MAXNDB to set the upper limit of number of parallel ndb test to run. - Very useful on machines with many cores and lots of RAM ------------------------------------------------------------ revno: 3077.6.64 committer: Magnus Bl?udd <magnus.blaudd@oracle.com> branch nick: 5.5-mtr timestamp: Mon 2011-01-17 15:18:44 +0100 message: mtr.pl fixes for ndb - Find ndbmtd and use it round robin ------------------------------------------------------------ revno: 3077.6.63 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Mon 2011-01-17 11:01:25 +0100 message: null upmerge ------------------------------------------------------------ revno: 2661.717.18 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: merge-51 timestamp: Mon 2011-01-17 10:28:53 +0100 message: merge from 5.1 main ------------------------------------------------------------ revno: 3077.6.62 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Mon 2011-01-17 10:32:16 +0100 message: merge from 5.5 main ------------------------------------------------------------ revno: 3097.34.56 [merge] committer: Libing Song <anders.song@greatopensource.com> branch nick: mysql-5.5 timestamp: Wed 2011-01-19 01:57:58 +0800 message: Automerge ------------------------------------------------------------ revno: 3097.44.2 [merge] committer: Anitha Gopi <anitha.gopi@sun.com> branch nick: mysql-5.5 timestamp: Tue 2011-01-18 23:33:02 +0530 message: automerge ------------------------------------------------------------ revno: 3097.44.1 committer: Anitha Gopi <anitha.gopi@sun.com> branch nick: mysql-5.5 timestamp: Tue 2011-01-18 23:21:39 +0530 message: Bug#47449: This problem not seen in PB2. Remove from experimental group ------------------------------------------------------------ revno: 3097.34.55 [merge] committer: Libing Song <anders.song@greatopensource.com> branch nick: mysql-5.5 timestamp: Wed 2011-01-19 01:38:10 +0800 message: Manual merge ------------------------------------------------------------ revno: 2661.720.51 committer: Libing Song <anders.song@greatopensource.com> branch nick: mysql-5.1 timestamp: Wed 2011-01-19 01:23:49 +0800 message: Bug#58546 test rpl_packet timeout failure sporadically on PB rpl_packet got a timeout failure sporadically on PB when stopping slave. The real reason of this bug is that STOP SLAVE stopped IO thread first and then stopped SQL thread. It was possible that IO thread stopped after replicating part of a transaction which SQL thread was executing. SQL thread would be hung if the transaction could not be rolled back safely. After this patch, STOP SLAVE will stop SQL thread first and then stop IO thread, which guarantees that IO thread will fetch the reset of the events of the transaction that SQL thread is executing, so that SQL thread can finish the transaction if it cannot be rolled back safely. Added below auxiliary files to make the test code neater. restart_slave_sql.inc rpl_connection_master.inc rpl_connection_slave.inc rpl_connection_slave1.inc ------------------------------------------------------------ revno: 3097.34.54 committer: John H. Embretsen <john.embretsen@oracle.com> branch nick: mysql-5.5-bug45730 timestamp: Tue 2011-01-18 13:04:17 +0100 message: Post push test fix for show_check.test. Fix for bug#45740 introduced test case using SHOW TABLE STATUS against a Memory table using latin1 character in table name. The test failed on Windows and FreeBSD due to a difference in the value for Avg_row_length. The average row length normally depends on the values for data length and row count. According to the 5.5 manual data length is approximate with Memory tables. With MyISAM and InnoDB the Avg_row_length is the same on Windows and Solaris. The solution implemented by this patch is to mask out the value for Avg_row_length, as it may vary when using Memory tables. ------------------------------------------------------------ revno: 3097.34.53 [merge] committer: Alexander Barkov <alexander.barkov@oracle.com> branch nick: mysql-5.5 timestamp: Tue 2011-01-18 09:50:03 +0300 message: Merging from 5.1. ------------------------------------------------------------ revno: 2661.720.50 committer: Alexander Barkov <alexander.barkov@oracle.com> branch nick: mysql-5.1.b44332 timestamp: Tue 2011-01-18 09:38:41 +0300 message: Bug#44332 my_xml_scan reads behind the end of buffer Problem: the scanner function tested for strings "<![CDATA[" and "-->" without checking input string boundaries, which led to valgrind's "Conditional jump or move depends on uninitialised value(s)" error. Fix: Adding boundary checking. @ mysql-test/r/xml.result @ mysql-test/t/xml.test Adding test @ strings/xml.c Adding a helper function my_xml_parser_prefix_cmp(), with input string boundary check. ------------------------------------------------------------ revno: 3097.34.52 [merge] committer: Vinay Fisrekar <vinay.fisrekar@sun.com> branch nick: mysql-5.5 timestamp: Tue 2011-01-18 09:30:00 +0530 message: Merge from mysql-5.1 for sys_vars.innodb_max_dirty_pages_pct_func fails sporadically ------------------------------------------------------------ revno: 2661.720.49 committer: Vinay Fisrekar <vinay.fisrekar@sun.com> branch nick: mysql-5.1 timestamp: Tue 2011-01-18 09:24:52 +0530 message: BUG#58858 : sys_vars.innodb_max_dirty_pages_pct_func fails sporadically Committing After latest merge. Modified check_pct procedure to check return value of wait condition instead of calling "dirty_pct". Adding Review comments: 1) Added comment for success variable value 2) Procedure check_pct changed For Adding BOOLEAN input and SELECT QUERY Change ------------------------------------------------------------ revno: 3097.34.51 committer: Luis Soares <luis.soares@oracle.com> branch nick: mysql-5.5 timestamp: Mon 2011-01-17 18:51:01 +0000 message: BUG#42879: CHANGE MASTER RELAY_LOG_FILE=path fails on windows Re-enabling the test case on windows since BUG#12190 has fixed the issue. ------------------------------------------------------------ revno: 3097.34.50 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5-bug58991charsetcmake timestamp: Tue 2011-01-04 11:23:45 +0100 message: Bug #58991 DEFAULT_CHARSET and DEFAULT_COLLATION does not work with CMake. ------------------------------------------------------------ revno: 3097.34.49 [merge] committer: Alexander Barkov <alexander.barkov@oracle.com> branch nick: mysql-5.5 timestamp: Mon 2011-01-17 15:26:13 +0300 message: Merging from 5.1. ------------------------------------------------------------ revno: 2661.720.48 committer: Alexander Barkov <alexander.barkov@oracle.com> branch nick: mysql-5.1.b58371 timestamp: Mon 2011-01-17 15:11:33 +0300 message: Bug#58371 Assertion failed: !s.uses_buffer_owned_by(this) with format string function Introduced by the fix for bug#44766. Problem: it's not correct to use args[0]->str_value as a buffer, because args[0] may need this buffer for its own purposes. Fix: adding a new class member tmp_value to use as return value. @ mysql-test/r/ctype_many.result @ mysql-test/t/ctype_many.test Adding tests @ sql/item_strfunc.cc Changing code into traditional style: use "str" as a buffer for the argument and tmp_value for the result value. @ sql/item_strfunc.h Adding tmp_value ------------------------------------------------------------ revno: 3097.34.48 [merge] committer: He Zhenxing <hezx@greatopensource.com> branch nick: 5.5 timestamp: Mon 2011-01-17 17:59:18 +0800 message: Auto merge ------------------------------------------------------------ revno: 3097.43.1 [merge] committer: Alexander Barkov <alexander.barkov@oracle.com> branch nick: mysql-5.5 timestamp: Mon 2011-01-17 12:39:59 +0300 message: Merging from mysql-5.1 ------------------------------------------------------------ revno: 2661.720.47 committer: Alexander Barkov <alexander.barkov@oracle.com> branch nick: mysql-5.1.b59149 timestamp: Mon 2011-01-17 12:30:22 +0300 message: Bug#59149 valgrind warnings with "like .. escape .." function Problem: when processing a query like: SELECT '' LIKE '1' ESCAPE COUNT(1); escape_item->val_str() was never executed and the "escape" class member stayed initialized, which led to valgrind uninitialized memory error. Note, a query with some tables in "FROM" clause returns ER_WRONG_ARGUMENTS in the same situation: SELECT '' LIKE '1' ESCAPE COUNT(1) FROM t1; ERROR 1210 (HY000): Incorrect arguments to ESCAPE Fix: disallowing using aggregate functions in ESCAPE clause, even if there are no tables used. There is no much use of that anyway. ------------------------------------------------------------ revno: 3097.34.47 committer: He Zhenxing <hezx@greatopensource.com> branch nick: 5.5 timestamp: Mon 2011-01-17 15:44:37 +0800 message: BUG#57953 my_load_defaults return junk argument ----args-separator---- to caller After fix of bug#25192, load_defaults() will add an args separator to distinguish options loaded from configure files from that provided in the command line. One problem of this is that the args separator would be added no matter the application need it or not. Fixed the problem by adding an option: bool my_getopt_use_args_separator; to control whether the separator will be added or not. And also added functions: bool my_getopt_is_args_separator(const char* arg); to check if the argument is the separator or not. ------------------------------------------------------------ revno: 3097.34.46 committer: John H. Embretsen <john.embretsen@oracle.com> branch nick: mysql-5.5-bug45730 timestamp: Mon 2011-01-17 08:12:38 +0100 message: Fix for Bug#45730 - Test case disabled in show_check.test due to WL#1324. Enabled test snippet for bug 4374, tested on Mac OS X 10.6 as well as Solaris. Moved test snippet to a different place in the file, in order to avoid having to save and restore "SET NAMES" setting. New surroundings expect latin1, as is used in the testsnippet. An extra copy of the commented test snippet is removed, a comment is added, SQL keywords are converted to uppercase, and engine name "heap" is updated to "Memory". Also added Copyright statement and a notice about the file's encoding(s). ------------------------------------------------------------ revno: 3097.34.45 committer: Nirbhay Choubey <nirbhay.choubey@sun.com> branch nick: mysql-5.5-58139 timestamp: Sun 2011-01-16 09:29:05 +0530 message: Bug#58139 : default-auth option not recognized in MySQL standard command line clients. Postfix covering other mysql standard clients like mysql_upgrade, mysqlbinlog, mysqlcheck, mysqlimport, mysqlshow and mysqlslap. ------------------------------------------------------------ revno: 3097.34.44 [merge] committer: Nirbhay Choubey <nirbhay.choubey@sun.com> branch nick: mysql-5.5 timestamp: Sun 2011-01-16 02:08:24 +0530 message: Merge of fix for bug#58221 from mysql-5.1 -> mysql-5.5. ------------------------------------------------------------ revno: 2661.720.46 committer: Nirbhay Choubey <nirbhay.choubey@sun.com> branch nick: mysql-5.1-58221 timestamp: Sun 2011-01-16 02:04:08 +0530 message: Bug#58221 : mysqladmin --sleep=x --count=x keeps looping When mysqldadmin is run with sleep and count options, it goes into an infinite loop and keeps executing the specified command. This happened because the statement, responsible for decrementing the count value, was missing. Fixed by adding a statement which will decrement the count value for each iteration. ------------------------------------------------------------ revno: 3097.34.43 [merge] committer: <anders.song@greatopensource.com> branch nick: mysql-5.5 timestamp: Sat 2011-01-15 13:54:51 +0800 message: Auto merge ------------------------------------------------------------ revno: 2661.720.45 [merge] committer: <anders.song@greatopensource.com> branch nick: mysql-5.1 timestamp: Sat 2011-01-15 13:51:41 +0800 message: Null merge from 5.0 It is a backported patch. ------------------------------------------------------------ revno: 1810.4001.7 committer: <anders.song@greatopensource.com> branch nick: mysql-5.0 timestamp: Sat 2011-01-15 13:48:16 +0800 message: BUG#49124 Security issue with /*!-versioned */ SQL statements on Slave Backport to 5.0. /*![:version:] Query Code */, where [:version:] is a sequence of 5 digits representing the mysql server version(e.g /*!50200 ... */), is a special comment that the query in it can be executed on those servers whose versions are larger than the version appearing in the comment. It leads to a security issue when slave's version is larger than master's. A malicious user can improve his privileges on slaves. Because slave SQL thread is running with SUPER privileges, so it can execute queries that he/she does not have privileges on master. This bug is fixed with the logic below: - To replace '!' with ' ' in the magic comments which are not applied on master. So they become common comments and will not be applied on slave. - Example: 'INSERT INTO t1 VALUES (1) /*!10000, (2)*/ /*!99999 ,(3)*/ will be binlogged as 'INSERT INTO t1 VALUES (1) /*!10000, (2)*/ /* 99999 ,(3)*/ ------------------------------------------------------------ revno: 3097.34.42 committer: Alexey Botchkov <holyfoot@mysql.com> branch nick: 55mrg timestamp: Sat 2011-01-15 02:18:22 +0400 message: Bug#46393 If for slow_query_log a string is entered it does not complain. For all the boolean system variables we now issue warnings if the value wasn't recognized. Before that we just silently set them to FALSE in this case. per-file comments: mysys/my_getopt.c Bug #46393 If for slow_query_log a string is entered it does not complain. warning issued if no documented value was specified. ------------------------------------------------------------ revno: 3097.34.41 [merge] committer: Alexey Botchkov <holyfoot@mysql.com> branch nick: mysql-5.5 timestamp: Sat 2011-01-15 01:02:02 +0400 message: merging. ------------------------------------------------------------ revno: 2661.720.44 committer: Alexey Botchkov <holyfoot@mysql.com> branch nick: 51mrg timestamp: Sat 2011-01-15 00:56:09 +0400 message: Bug#52208 gis fails on some platforms (Solaris, HP-UX, Linux) IA64 and some other arcitectures use different float rounding mode and i find no decent way to make it consistent. So the test changed to be insensitive to this. per-file messages: mysql-test/t/gis.test Bug#52208 gis fails on some platforms (Solaris, HP-UX, Linux) --replace_result added ------------------------------------------------------------ revno: 3097.34.40 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5 timestamp: Fri 2011-01-14 15:03:37 +0100 message: Bug #59498 div function broken in mysql-trunk ------------------------------------------------------------ revno: 3097.34.39 [merge] committer: Nirbhay Choubey <nirbhay.choubey@sun.com> branch nick: mysql-5.5 timestamp: Fri 2011-01-14 20:11:00 +0530 message: Merging fix of Bug#13618 from mysql-5.1. ------------------------------------------------------------ revno: 2661.720.43 committer: Nirbhay Choubey <nirbhay.choubey@sun.com> branch nick: mysql-5.1-13618 timestamp: Fri 2011-01-14 19:50:34 +0530 message: Bug#13618 : mysqldump --xml omits comment on table field When mysqldump tries to dump information in xml format, the result does not contain field level comments. In order to retrieve various informations for a field/column, mysqldump currently uses 'show fields from <tab>' statement. The attributes returned by the statement lacks the information regarding field comments. Fixed by changing the query to one that probes I_S to retrieve required field informations, including the field comment. ------------------------------------------------------------ revno: 3097.34.38 committer: Guilhem Bichot <guilhem.bichot@oracle.com> branch nick: 5.5-bugteam timestamp: Fri 2011-01-14 14:21:46 +0100 message: Fix for BUG#59432 "--autocommit=on does not work (@@global.autocommit is 0)" ------------------------------------------------------------ revno: 3097.34.37 committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: mysql-5.5 timestamp: Fri 2011-01-14 14:59:23 +0200 message: Bug #55509 : main.lowercase_table2 fails on Mac OSX (again) The test passes on MacOSX. removing it from the experimental list. ------------------------------------------------------------ revno: 3097.34.36 [merge] committer: Luis Soares <luis.soares@oracle.com> branch nick: mysql-5.5 timestamp: Fri 2011-01-14 11:14:01 +0000 message: Automerge from bug branch into latest mysql-5.5. ------------------------------------------------------------ revno: 3097.42.3 committer: Luis Soares <luis.soares@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2011-01-13 14:31:37 +0000 message: BUG#59444 Added comments to rpl_show_relaylog_events as requested by reviewer. ------------------------------------------------------------ revno: 3097.42.2 committer: Luis Soares <luis.soares@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2011-01-13 12:21:57 +0000 message: BUG#59444 Refactoring effort on test case rpl_show_relaylog_events requested by reviewers. ------------------------------------------------------------ revno: 3097.42.1 committer: Luis Soares <luis.soares@oracle.com> branch nick: mysql-5.5 timestamp: Wed 2011-01-12 18:35:06 +0000 message: BUG#59444: rpl_row_show_relaylog_events fails on daily-5.5 test runs The test started failing on the same day patch for BUG 49978 was pushed. BUG 49978 changed part of the replication testing infrastructure in mysql-test-run. This caused the test to fail sporadically with result differences on relay log file names. When the test fails the relay-log filenames are shifted by one, eg: -show relaylog events in 'slave-relay-bin.000002' from <binlog_start>; +show relaylog events in 'slave-relay-bin.000003' from <binlog_start>; The problem was caused by a bad cleanup when using the include files: - include/setup_fake_relay_log.inc - include/cleanup_fake_relay_log.inc Which would leave a spurious relay-log file around (not listed in slave-relay-bin.index), causing the server to shift the name of the relay logs by one, even if cleaning up with RESET SLAVE. We fix this by removing the relay-log file when it is not needed anymore, ie at setup time and after recreating the fake relay-log index. Additionally, to make the affected test more resilient, we deployed a call to rpl_reset.inc (which resets both master and slave, including log files) before actually running the test case. Finally, appart from the reported bug, we also fix: (a) an unrelated issue with the failing test itself - in some cases, the test was not setting the log file name to use when it should; (b) one typo. ------------------------------------------------------------ revno: 3097.34.35 [merge] committer: Sven Sandberg <sven.sandberg@oracle.com> branch nick: 5.5 timestamp: Fri 2011-01-14 11:36:53 +0100 message: merged BUG#59063 (backport from trunk) from 5.1 to 5.5 ------------------------------------------------------------ revno: 2661.720.42 committer: Sven Sandberg <sven.sandberg@oracle.com> branch nick: 5.1 timestamp: Fri 2011-01-14 11:33:12 +0100 message: BUG#59063: rpl_migration_crash_safe fails on Windows Backported the fix to 5.1. Problem: the auxiliary test files rpl_start_server.inc and rpl_stop_server.inc write a file that is later read by mtr. The bug was that the file was written with platform-dependent newline terminators, i.e., \r\n on windows, whereas mtr only understands \n. Fix: write the file so that it uses \n on all platforms. ------------------------------------------------------------ revno: 3097.34.34 committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: mysql-5.5 timestamp: Fri 2011-01-14 11:52:55 +0200 message: bumped up the version ------------------------------------------------------------ revno: 3097.34.33 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5 timestamp: Fri 2011-01-14 10:05:14 +0100 message: Bug #59241 invalid memory read in do_div_mod with doubly assigned variables Fix: copy my_decimal by value, to avoid dangling pointers. ------------------------------------------------------------ revno: 3097.34.32 committer: Serge Kozlov <Serge.Kozlov@oracle.com> branch nick: mysql-5.5 timestamp: Fri 2011-01-14 00:18:17 +0300 message: Bug#54820: master_connect_retry increased for Valgrind environment support Bug#58525: separate string and numbers for comparing ------------------------------------------------------------ revno: 3097.34.31 [merge] committer: Luis Soares <luis.soares@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2011-01-13 11:42:34 +0000 message: Automerge from mysql-5.1 into latest mysql-5.5. ------------------------------------------------------------ revno: 2661.720.41 [merge] committer: Luis Soares <luis.soares@oracle.com> branch nick: mysql-5.1-push timestamp: Thu 2011-01-13 11:41:00 +0000 message: Automerge from bug branch into latest mysql-5.1. ------------------------------------------------------------ revno: 2661.734.1 committer: Luis Soares <luis.soares@oracle.com> branch nick: mysql-5.1 timestamp: Wed 2011-01-12 19:32:45 +0000 message: BUG#59177: mysqlbinlog_row_big fails on Windows with out of memory The test case fails with out of memory while updating a table with several multi-megabytes sized rows. This can probably be too exhausting for PB2 env. The quick fix here is to reduce the size of the biggest row (256MB) so that it becomes a little smaller (64MB). ------------------------------------------------------------ revno: 3097.34.30 committer: Davi Arnaut <davi.arnaut@oracle.com> branch nick: 42054-5.5 timestamp: Wed 2011-01-12 18:36:39 -0200 message: Bug#42054: SELECT CURDATE() is returning bad value The problem from a user point of view was that on Solaris the time related functions (e.g. NOW(), SYSDATE(), etc) would always return a fixed time. This bug was happening due to a logic in the time retrieving wrapper function which would only call the time() function every half second. This interval between calls would be calculated using the gethrtime() and the logic relied on the fact that time returned by it is monotonic. Unfortunately, due to bugs in the gethrtime() implementation, there are some cases where the time returned by it can drift (See Solaris bug id 6600939), potentially causing the interval calculation logic to fail. Since newer versions of Solaris (10+) have alleviated the performance degradation associated with time(2), the solution is to simply directly rely on time() at each invocation. This simplification has an upside that it allows us to eliminate a lock which was used to control access to the variables used to track the half second interval, thus improving the overall scalability of timekeeping related functions (e.g. NOW()). Benchmarks runs have shown no significant degradation associated with this change. With this, there are actually improvements in performance for cases involving many connections. In summary, the changes introduced by this patch are: a) my_time() and my_micro_time_and_time() no longer use gethrtime(). Instead, time() and gettimeofdate() are used correspondingly. b) my_micro_time() is changed to not use gethrtime() so as to have the same time source as my_micro_time_and_time(). There shouldn't be any performance impact from this change since this function is used only a few times during statement execution and, on Solaris, gettimeofday() shows acceptable performance. ------------------------------------------------------------ revno: 3097.34.29 committer: Ole John Aske <ole.john.aske@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2011-01-13 11:42:48 +0100 message: Fix for #58422: Incorrect result when OUTER JOIN'ing with an empty table. Fixed incorrect checks in join_read_const_table() for when to accept a non-existing, or empty const-row as a part of the const'ified set of tables. Intention of this test is to only accept NULL-rows if this table is outer joined into the resultset. (In case of an inner-join we can conclude at this point that resultset will be empty, end we want to return 'error' to signal this.) Initially 'maybe_null' is set to the same value as 'outer_join' in setup_table_map(), mysql_priv.h ~line 2424. Later simplify_joins() will attemp to replace outer joins by inner join whenever possible. This will cause 'outer_join' to be updated. However, 'maybe_null' is *not* updated to reflect this rewrite as this field is used to currectly set the 'nullability' property for the columns in the resultset. We should therefore change join_read_const_table() to check the 'outer_join' property instead of 'maybe_null', as this correctly reflect the nullability of the *execution plan* (not *resultset*). ------------------------------------------------------------ revno: 3097.34.28 [merge] committer: Nirbhay Choubey <nirbhay.choubey@sun.com> branch nick: mysql-5.5 timestamp: Thu 2011-01-13 15:59:13 +0530 message: Merging from mysql-5.1. ------------------------------------------------------------ revno: 2661.720.40 committer: Nirbhay Choubey <nirbhay.choubey@sun.com> branch nick: mysql-5.1-59109 timestamp: Thu 2011-01-13 15:56:42 +0530 message: Bug#59109 : mysqlslap crashes on mysql_fetch_row after ignoring null from mysql_store_result. mysqlslap segfaults at a point when it tries to fetch rows from the result set. Under some circumstances, mysql_store_result can return 'NULL', even after query execution (mysql_query) succeeds, and eventually a segfault might occur if same unchecked return value is passed to mysql_fetch_row. Fixed by adding a check on mysql_store_result's return value. ------------------------------------------------------------ revno: 3097.34.27 committer: Ole John Aske <ole.john.aske@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2011-01-13 10:20:45 +0100 message: Fix for bug#58134: 'Incorrectly condition pushdown inside subquery to NDB engine' An incorrect 'table_map' containing both the table itself, and possible any outer-refs if this was the last table in the subquery, was presented to make_cond_for_table(). As a pushed condition is only able to refer column from the table the condition is pushed to, nothing else than columns from the table itself (tab->table->map) may be refered in the pushed condition constructed by 'push_cond= make_cond_for_table()'. Also fix a minor 'copy and paste' bug in a comment inside make_cond_for_table(). No testcase is possible on mainbranch as the NDB engine is not available (yet) on mysql >= 5.5 ------------------------------------------------------------ revno: 3097.34.26 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: mysql-5.5 timestamp: Thu 2011-01-13 11:05:42 +0200 message: null merge of the version bumps. ------------------------------------------------------------ revno: 2661.720.39 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: mysql-5.1 timestamp: Thu 2011-01-13 10:59:11 +0200 message: bumped up the version to 5.1.56 ------------------------------------------------------------ revno: 1810.4001.6 committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: mysql-5.0 timestamp: Thu 2011-01-13 10:57:19 +0200 message: bumped up the version to 5.0.93 ------------------------------------------------------------ revno: 3097.34.25 committer: Ole John Aske <ole.john.aske@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2011-01-13 09:33:30 +0100 message: Fix for Bug#57034 incorrect OUTER JOIN result when joined on unique key Item_equal::val_int() checked for NULL-values by checking Item::null_value *before* the respective ::store_value() and ::cmp(Item*) metods where called. As Item::null_value is set by these metods, the value of 'null_value' is not valid until *after* ::store_value() or ::cmp() has been called for the Item object. Fix is to swap order of ::store_value()/::cmp() and checking of Item::null_value. This pattern is widely used other places inside item_cmpfunc.cc . ------------------------------------------------------------ revno: 3097.34.24 [merge] committer: Martin Hansson <martin.hansson@oracle.com> branch nick: 5.5 timestamp: Thu 2011-01-13 09:07:21 +0100 message: Merge of fix for Bug#58165. ------------------------------------------------------------ revno: 2661.720.38 committer: Martin Hansson <martin.hansson@oracle.com> branch nick: 5.1 timestamp: Thu 2011-01-13 08:57:15 +0100 message: Bug#58165: "my_empty_string" gets modified and causes LOAD DATA to fail and other crashes Some string manipulating SQL functions use a shared string object intended to contain an immutable empty string. This object was used by the SQL function SUBSTRING_INDEX() to return an empty string when one argument was of the wrong datatype. If the string object was then modified by the sql function INSERT(), undefined behavior ensued. Fixed by instead modifying the string object representing the function's result value whenever string manipulating SQL functions return an empty string. Relevant code has also been documented. ------------------------------------------------------------ revno: 3097.34.23 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: main-55 timestamp: Wed 2011-01-12 23:54:18 +0100 message: null upmerge ------------------------------------------------------------ revno: 2661.720.37 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: push-51 timestamp: Wed 2011-01-12 23:29:53 +0100 message: merge from 5.1-mtr ------------------------------------------------------------ revno: 3097.34.22 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: main-55 timestamp: Wed 2011-01-12 23:32:39 +0100 message: merge from 5.5-mtr ------------------------------------------------------------ revno: 3077.6.61 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: genplug-55 timestamp: Wed 2011-01-12 15:45:47 +0100 message: null upmerge ------------------------------------------------------------ revno: 2661.717.17 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: merge-51 timestamp: Wed 2011-01-12 15:20:40 +0100 message: merge from 5.1 ------------------------------------------------------------ revno: 3077.6.60 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: genplug-55 timestamp: Wed 2011-01-12 15:25:59 +0100 message: merge from 5.5 main ------------------------------------------------------------ revno: 3077.6.59 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: genplug-55 timestamp: Wed 2011-01-12 14:17:54 +0100 message: Bug #58841 Generalise handling of plugins in MTR mysql-test-run.pl script Follow-up fix: mtr died if trying to run semisync test w/o the plugin ------------------------------------------------------------ revno: 3077.6.58 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: genplug-55 timestamp: Wed 2011-01-12 10:27:46 +0100 message: Bug #59182 output of mysql-test-run.pl - mismatch between col names and actual col contents New patch, avoid global $opt_parallel I still prefer not to print workerid when not doing parallel ------------------------------------------------------------ revno: 3077.6.57 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: genplug-55 timestamp: Tue 2011-01-11 15:23:39 +0100 message: Bug #59153 mysqltest produces a valgrind warning when the running test fails Local variable ds_warnings in run_query not cleared. But when we call die() we don't have access to it. Set global var. to point to it when allocated. ------------------------------------------------------------ revno: 3077.6.56 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: genplug-55 timestamp: Tue 2011-01-11 15:16:29 +0100 message: Bug #59216 mysql test suite can not run indiviual tests in engines/funcs suite Test name spec would be cut at last / Only do this when .test file name given, not suite.<test> ------------------------------------------------------------ revno: 3077.6.55 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: genplug-55 timestamp: Tue 2011-01-11 15:15:25 +0100 message: upmerge 58896,58900,59002 ------------------------------------------------------------ revno: 2661.717.16 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: lineno-51 timestamp: Tue 2011-01-11 15:00:21 +0100 message: Bug #59002 Please make mtr print correct file and line number when tests fail Followup: had forgotten to update mysqltest.test due to changed output - duh! ------------------------------------------------------------ revno: 2661.717.15 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: lineno-51 timestamp: Tue 2011-01-11 10:54:42 +0100 message: Bug #58900 query_get_value crashes when result begins with dollar sign Generalized fix for recursive backtick Optional arg to eval_expr telling it not to interpret ------------------------------------------------------------ revno: 2661.717.14 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: lineno-51 timestamp: Tue 2011-01-11 10:53:22 +0100 message: Bug #58896 MTR should recognise combinations as experimental without needing wildcards Added a pattern match to cover combinations Added to readme file ------------------------------------------------------------ revno: 2661.717.13 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: lineno-51 timestamp: Tue 2011-01-11 10:51:31 +0100 message: Bug #59002 Please make mtr print correct file and line number when tests fail This patchs adds printing of a file stack (with line numbers) It does not fix the problem of a failure in the non-first iteration of a loop ------------------------------------------------------------ revno: 3077.6.54 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: genplug-55 timestamp: Tue 2011-01-11 14:27:03 +0100 message: Bug #58841 Generalise handling of plugins in MTR mysql-test-run.pl script Put descriptions of plugins into a separate file read by MTR MTR itself has generalised code to read this and set env. variables Removed the *SO variables, updated some tests accordingly New commit: added optional list of plugin names for _LOAD variable Also made changes for the new AUTH_* plugins ------------------------------------------------------------ revno: 3077.6.53 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Mon 2011-01-10 11:16:05 +0100 message: null upmerge ------------------------------------------------------------ revno: 2661.717.12 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: merge-51 timestamp: Mon 2011-01-10 10:52:08 +0100 message: merge from 5.1 main ------------------------------------------------------------ revno: 3077.6.52 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Mon 2011-01-10 10:53:27 +0100 message: merge from 5.5 main ------------------------------------------------------------ revno: 3077.6.51 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Wed 2010-12-29 16:28:19 +0100 message: null upmerge ------------------------------------------------------------ revno: 2661.717.11 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: merge-51 timestamp: Wed 2010-12-29 16:01:07 +0100 message: merge from 5.1 main ------------------------------------------------------------ revno: 3077.6.50 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mtr-55 timestamp: Wed 2010-12-29 16:06:19 +0100 message: merge from 5.5 main ------------------------------------------------------------ revno: 3149 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: mysql-5.5-security timestamp: Thu 2011-01-13 19:21:39 +0200 message: merge ------------------------------------------------------------ revno: 2661.712.14 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: mysql-5.1-security timestamp: Thu 2011-01-13 19:16:35 +0200 message: merge ------------------------------------------------------------ revno: 1810.4000.5 author: sunanda.menon@oracle.com committer: Sunanda Menon <sunanda.menon@oracle.com> branch nick: mysql-5.0-security timestamp: Thu 2011-01-13 10:00:03 +0100 message: Raise version number after cloning 5.0.92 ------------------------------------------------------------ revno: 2661.712.13 committer: Karen Langford <karen.langford@oracle.com> branch nick: mysql-5.1-security timestamp: Thu 2011-01-13 14:58:22 +0100 message: Raise version number after cloning 5.1.55 ------------------------------------------------------------ revno: 3148 committer: MySQL Build Team <build@mysql.com> branch nick: mysql-5.5-security timestamp: Wed 2011-01-12 23:07:20 +0100 message: bumping version for 5.5.9 build |