------------------------------------------------------------
revno: 3960 [merge] tags: clone-5.1.69-build committer: Manish Kumar<manish.4.kumar@oracle.com> branch nick: mysql-5.1 timestamp: Thu 2013-02-28 09:52:55 +0530 message: BUG#12400221 - 60926: BINARY LOG EVENTS LARGER THAN MAX_ALLOWED_PACKET Post push patch putting the rpl_max_allowed_packet_stress test in mysql-5.1 inside a new i_rpl_largedata test suite just to avoid any confusion. ------------------------------------------------------------ revno: 3812.1.1 committer: Manish Kumar<manish.4.kumar@oracle.com> branch nick: mysql-5.1 timestamp: Fri 2012-09-14 19:19:21 +0530 message: BUG#12400221 - 60926: BINARY LOG EVENTS LARGER THAN MAX_ALLOWED_PACKET Post push patch putting the rpl_max_allowed_packet_stress test in mysql-5.1 inside a new i_rpl_largedata test suite just to avoid any confusion. ------------------------------------------------------------ revno: 3959 committer: Gleb Shchepa <gleb.shchepa@oracle.com> branch nick: 5.1-16311231 timestamp: Wed 2013-02-27 23:21:34 +0400 message: Bug #16311231: MISSING DATA ON SUBQUERY WITH WHERE + XOR IN IN-CLAUSE USING MYISAM OR MEMORY ENGINE Backport from 5.6. Original message: The coincidences caused a data loss: * The query has IN subqueries nested twice, * the WHERE clause of the inner subquery refers to the outer field, and the whole WHERE clause returns FALSE, * the inner subquery has a LEFT JOIN that joins a single row with a row of NULLs; one of that NULL columns represents the select list of the subquery. Normally, that inner subquery should return empty record set. However, in our case: * the Item_is_not_null_test item goes constant, since its underlying field is NULL (because of LEFT JOIN ... ON FALSE of const table row with a row of nulls); * we evaluate Item_is_not_null_test::val_int() as a part of fake HAVING expression of the transformed subquery; * as far as the underlying field is NULL, we optimize out the whole fake HAVING expression as FALSE as well as a whole subquery with a zero result: Impossible HAVING noticed after reading const tables"; * thus, the optimizer ignores the presence of the WHERE clause (the WHERE expression is FALSE in our case, so the subquery should return empty set); * however, during the evaluation of the Item_is_not_null_test::val_int() in the optimizer, it marked its "owner" with the "was_null" flag -- that forced the subquery to return UNKNOWN instead of empty set. That caused a wrong result. The problem is a regression of the small cleanup in the fix for the bug11827369 (the Item_is_not_null_test part) that conflicts with optimizations in the fix for the bug11752543. Before that regression the Item_is_not_null_test items never were constants. The fix is the rollback of Item_is_not_null_test parts of the bug11827369 fix. ------------------------------------------------------------ revno: 3958 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.1 timestamp: Wed 2013-02-27 10:00:50 +0200 message: Bug#16400920 INNODB TRIES TO PASS EMPTY BUFFER TO ZLIB, GETS Z_BUF_ERROR page_zip_compress_node_ptrs(): Do not attempt to invoke deflate() with c_stream->avail_in, because it will result in Z_BUF_ERROR (and page_zip_compress() failure and unnecessary further splits of the node pointer page). A node pointer record can have empty payload, provided that all key fields are empty. Approved by Jimmy Yang ------------------------------------------------------------ revno: 3957 committer: Harin Vadodaria <harin.vadodaria@oracle.com> branch nick: mysql-5.1 timestamp: Tue 2013-02-26 21:23:06 +0530 message: Bug#16372927: STACK OVERFLOW WITH LONG DATABASE NAME IN GRANT STATEMENT Description: A missing length check causes problem while copying source to destination when lower_case_table_names is set to a value other than 0. This patch fixes the issue by ensuring that requried bound check is performed. ------------------------------------------------------------ revno: 3956 committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com> branch nick: mysql-5.1 timestamp: Mon 2013-02-25 15:26:00 +0100 message: Updated/added copyright headers. ------------------------------------------------------------ revno: 3955 committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com> branch nick: mysql-5.1 timestamp: Sat 2013-02-23 10:38:28 +0100 message: Eventum ticket#45161: Adding copyright statement to all *.test and *.inc files under internal/mysql-test directory. ------------------------------------------------------------ revno: 3954 committer: Annamalai Gurusami <annamalai.gurusami@oracle.com> branch nick: mysql-5.1 timestamp: Fri 2013-02-22 14:56:17 +0530 message: Bug #14211565 CRASH WHEN ATTEMPTING TO SET SYSTEM VARIABLE TO RESULT OF VALUES() Problem: When the VALUES() function is inappropriately used in the SET stmt the server exits. set port = values(v); This happens because the values(v) will be parsed as an Item_insert_value by the parser. Both Item_field and Item_insert_value return the type as FIELD_ITEM. But for Item_insert_value the field_name member is NULL. In set_var constructor, when the type of the item is FIELD_ITEM we try to access the non-existent field_name. The class hierarchy is as follows: Item -> Item_ident -> Item_field -> Item_insert_value The Item_ident::field_name is NULL for Item_insert_value. Solution: In the parsing stage, in the set_var constructor if the item type is FIELD_ITEM and if the field_name is non-existent, then it is probably the Item_insert_value. So leave it as it is for later evaluation. rb://2004 approved by Roy and Norvald. ------------------------------------------------------------ revno: 3953 committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com> branch nick: Bug11746817_mysql-5.1 timestamp: Tue 2013-02-19 14:31:11 +0530 message: Bug#11746817:MYSQL_INSTALL_DB CREATES WILDCARD GRANTS WHEN HOST HAS '_' IN THE HOSTNAME Problem: ======= '_' and '%' are treated as a wildcards by the ACL code and this is documented in the manual. The problem with mysql_install_db is that it does not take this into account when creating the initial GRANT tables: --- cut --- REPLACE INTO tmp_user SELECT @current_hostname,'root','','Y', 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','', 0,0,0,0 FROM dual WHERE LOWER( @current_hostname) != 'localhost'; --- cut --- If @current_hostname contains any wildcard characters, then a wildcard entry will be defined for the 'root' user, which is a flaw. Analysis: ======== As per the bug description when we have a hostname with a wildcard character in it, it allows clients from several other hosts with similar name pattern to connect to the server as root. For example, if the hostname is like 'host_.com' then the same name is logged in mysql.user table. This allows 'root' users from other hosts like 'host1.com', 'host2.com' ... to connect to the server as root user. While creating the intial GRANT tables we do not have a check for wildcard characters in hostname. Fix: === As part of fix escape character "\" is added before wildcard character to make it a plain character, so that the one and only host with the exact name will be able to connect to the server. ------------------------------------------------------------ revno: 3952 committer: Harin Vadodaria <harin.vadodaria@oracle.com> branch nick: mysql-5.1 timestamp: Tue 2013-02-19 12:17:31 +0530 message: Bug#16235681: TURN OFF DEFAULT COMPRESSION WHILE USING OPENSSL Description: Specify preference to disable compression while using OpenSSL library. OpenSSL uses zlib compression by default which may lead to some problems. ------------------------------------------------------------ revno: 3951 committer: Annamalai Gurusami <annamalai.gurusami@oracle.com> branch nick: mysql-5.1 timestamp: Tue 2013-02-19 10:55:55 +0530 message: Instead of using rm command, use perl code. ------------------------------------------------------------ revno: 3950 committer: Pedro Gomes <pedro.gomes@oracle.com> branch nick: mysql-5.1 timestamp: Mon 2013-02-18 17:02:26 +0000 message: BUG#13545447: RPL_ROTATE_LOGS FAILS DUE TO CONCURRENCY ISSUES IN REP. CODE Post-push fix, broken build: sql/rpl_master.cc:1049:70: error: converting ?false? to pointer type ?bool*? [-Werror=conversion-null] ------------------------------------------------------------ revno: 3949 committer: Shivji Kumar Jha <shivji.jha@oracle.com> branch nick: mysql-5.1_B15965353 timestamp: Sun 2013-02-17 01:42:28 +0530 message: BUG#15965353- RPL.RPL_ROW_UNTIL FAILS ON PB2, PLATFORM= MACOSX10.6 X86_64 MAX Problem: The test was failing on pb2's mac machine because it was not cleaned up properly. The test checks if the command 'start slave until' throws a proper error when issued with a wrong number/type of parameters. After this,the replication stream was stopped using the include file 'rpl_end.inc'. The errors thrown earlier left the slave in an inconsistent state to be closed by the include file which was caught by the mac machine. Fix: Started slave by invoking start_slave.inc to have a working slave before calling rpl_reset.inc Problem: The test file was not in a good shape. It tested start slave until relay log file/pos combination wrongly. A couple of commands were executed at master and replicated at slave. Next, the coordinates in terms of relay log file and pos were noted down followed by reset slave and start slave until saved relay log file/pos. Reset slave deletes all relay log files and makes the slave forget its replication position. So, using the saved coordiantes after reset slave is wrong. Fix: Split the test in two parts: a) Test for start slave until master log file/pos and checking for correct errors in the failure scenarios. b) Test for start slave until relay log file/pos. Problem: The variables auto_increment_increment and auto_increment_offset were set in the the include file rpl_init.inc. This was only configured for some connections that are rarely used by test cases, so likely that it will cause confusion. If replication tests want to setup these variables they should do so explicitly. Fix: a) Removed code to set the variables auto_increment_increment and auto_increment_offset in the include file. b) Updated tests files using the same. ------------------------------------------------------------ revno: 3948 committer: Pedro Gomes <pedro.gomes@oracle.com> branch nick: mysql-5.1 timestamp: Fri 2013-02-15 21:57:35 +0000 message: BUG#13545447: RPL_ROTATE_LOGS FAILS DUE TO CONCURRENCY ISSUES IN REP. CODE In method mysql_binlog_send, right after detecting a EOF in the read event loop, and before deciding if we should change to a new binlog file there is a execution window where new events can be written to the binlog and a rotation can happen. When reaching the test, the function will then change to a new binlog file ignoring all the events written in this window. This will result in events not being replicated. Only when the binlog is detected as deactivated in the event loop of the dump thread, can we really know that no more events remain. For this reason, this test is now made under the log lock in the beginning of the event loop when reading the events. ------------------------------------------------------------ revno: 3947 committer: Harin Vadodaria <harin.vadodaria@oracle.com> branch nick: mysql-5.1 timestamp: Fri 2013-02-15 12:35:54 +0530 message: Bug#16218104: MYSQL YASSL - LUCKY THIRTEEN: BREAKING THE TLS AND DTLS RECORD PROTOCOLS Description: In yassl, decryption phase in TLS protocol depends on type of padding. This patch removes this dependancy and makes error generation/decryption process independent of padding type. ------------------------------------------------------------ revno: 3946 committer: Shivji Kumar Jha <shivji.jha@oracle.com> branch nick: mysql-5.1_b12359942 timestamp: Fri 2013-02-15 00:38:42 +0530 message: BUG#12359942- REPLICATION TEST FROM ENGINE SUITE RPL_ROW_UNTIL TIMES OUT post push fix: rpl_stm_until.test was disabled because of this bug. Enabled and fixed it. Removed a part of the test that was obsolete. It tested replication from 4.0 master to 5.0 slave. ------------------------------------------------------------ revno: 3945 committer: Annamalai Gurusami <annamalai.gurusami@oracle.com> branch nick: mysql-5.1 timestamp: Thu 2013-02-14 16:33:31 +0530 message: For the error code ER_TOO_LONG_IDENT, the identifier is expected in the my_error call. So removing this line from here. ------------------------------------------------------------ revno: 3944 committer: Annamalai Gurusami <annamalai.gurusami@oracle.com> branch nick: mysql-5.1 timestamp: Tue 2013-02-12 14:52:48 +0530 message: Bug #11753153 INNODB GENERATES SYMBOLS THAT ARE TOO LONG, INVALID DDL FROM SHOW CREATE Problem: The length of the internally generated foreign key name is not checked. Solution: The length of the internally generated foreign key name is checked. If it is greater than the allowed limit, an error message is reported. Also, the constraint name is printed in the same manner as the table name, using the system charset information. rb://1969 approved by Marko. ------------------------------------------------------------ revno: 3943 committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com> branch nick: mysql-5.1 timestamp: Fri 2013-02-08 16:34:32 +0530 message: BUG#16247322-MTR NOT RUNNING SYS_VARS TEST SUITE FOR 5.1 Reverting back the previous changes as they are causing issues in PB2. ------------------------------------------------------------ revno: 3942 committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com> branch nick: mysql-5.1 timestamp: Fri 2013-02-08 15:41:18 +0530 message: BUG#16247322-MTR NOT RUNNING SYS_VARS TEST SUITE FOR 5.1 Problem: Sys_vars suite is disabled in mysql-5.1 branch. Fix: To enable sys_vars suite in mysql-5.1, add it in mysql-test-run.pl file and also sys_vars suite should be added to Makefile.am inorder to get that test directory ------------------------------------------------------------ revno: 3941 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.1 timestamp: Fri 2013-02-08 09:23:12 +0200 message: Add missing linkage specifiers, so that ha_innodb_plugin.so will not export internal symbols. ------------------------------------------------------------ revno: 3940 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.1 timestamp: Fri 2013-02-08 09:22:46 +0200 message: Bug#16292043 RACE CONDITION IN SRV_EXPORT_INNODB_STATUS() WHEN ACCESSING PURGE_SYS->VIEW srv_export_innodb_status(): Read the purge_sys fields while holding purge_sys->latch. Approved by Sunny Bains ------------------------------------------------------------ revno: 3939 committer: Igor Solodovnikov <igor.solodovnikov@oracle.com> branch nick: mysql-5.1 timestamp: Thu 2013-02-07 19:46:08 +0200 message: bug#14163155 COM_CHANGE_USER DOESN'T WORK WITH CHARACTER-SET-SERVER=UCS2 IN 5.1 SERVER Problem was caused by the COM_CHANGE_USER parsing code. That code ignored character set number passed in COM_CHANGE_USER packet. Instead character_set_client values was used. User name was not converted at all. Fixed by using passed character set number to convert both db and user names. If COM_CHANGE_USER does not contain character set number then character_set_client is used to convert both names. ------------------------------------------------------------ revno: 3938 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.1 timestamp: Thu 2013-02-07 17:05:07 +0100 message: Bug#16192219 CRASH IN TEST_IF_SKIP_SORT_ORDER ON SELECT DISTINCT WITH ORDER BY This is a backport of the fix for: Bug#13633549 HANDLE_FATAL_SIGNAL IN TEST_IF_SKIP_SORT_ORDER/CREATE_SORT_INDEX Don't invoke the range optimizer for a NULL select. ------------------------------------------------------------ revno: 3937 committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com> branch nick: mysql-5.1 timestamp: Thu 2013-02-07 17:23:37 +0530 message: Bug#16247322- MTR NOT RUNNING SYS_VARS TEST SUITE FOR 5.1 SYS_VARS suite is not enabled in MTR by default run. Enabling it with this check-in. ------------------------------------------------------------ revno: 3936 committer: sayantan.dutta@oracle.com branch nick: mysql-5.1 timestamp: Wed 2013-02-06 13:02:14 +0530 message: BUG #13625278 - PB2 SHOULD PROVIDE MORE USEFUL INFORMATION FOR TIMEOUTS ------------------------------------------------------------ revno: 3935 [merge] author: hery.ramilison@oracle.com committer: Hery Ramilison <hery.ramilison@oracle.com> branch nick: mysql-5.1 timestamp: Tue 2013-02-05 20:47:45 +0100 message: Merge from mysql-5.1.68-release ------------------------------------------------------------ revno: 3908.1.1 tags: mysql-5.1.68 committer: Hery Ramilison <hery.ramilison@oracle.com> branch nick: mysql-5.1.68-release timestamp: Tue 2013-01-08 13:29:11 +0100 message: Applying patch for Bug#67177 Bug#15967374 from Kent |