------------------------------------------------------------
revno: 5732 committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com> branch nick: mysql-5.6.16-release timestamp: Thu 2014-01-09 20:13:58 +0530 message: Bug#18047812: RESULT FILE MISMATCH DUE TO COPYRIGHT YEAR IN OUTPUT Problem: Copyright mismatch is causing test failure. Solution: Replacing the present year (2014) as the copyright year. ------------------------------------------------------------ revno: 5731 committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com> branch nick: mysql-5.6.16-release timestamp: Thu 2014-01-09 13:40:11 +0100 message: Updated release version ------------------------------------------------------------ revno: 5730 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.6.16-release timestamp: Wed 2014-01-08 14:55:14 +0100 message: Bug#18046811 COMPILATION ERRORS WHILE BUILDING MYSQL-5.6.16 ON SOLARIS 10 Include my_config.h before any system headers, to avoid Warning (Anachronism): Attempt to redefine _FILE_OFFSET_BITS without using #undef. Include <stdio.h> before <vector> to avoid "/usr/include/floatingpoint.h", line 164: Error: FILE is not defined." "/usr/include/stdio.h", line 82: Error: Multiple declaration for std::FILE." (this must be a bug in the solaris header files) ------------------------------------------------------------ revno: 5729 committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com> branch nick: mysql-5.6.16-release timestamp: Wed 2014-01-08 11:16:17 +0100 message: Correcting the version, and updating the current copyright year which reflects in the MySQL welcome message. ------------------------------------------------------------ revno: 5728 committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com> branch nick: mysql-5.6.16-release timestamp: Tue 2014-01-07 19:09:54 +0100 message: Fix for fedora and rpm uln package build ------------------------------------------------------------ revno: 5727 [merge] committer: Vishal Chaudhary <vishal.chaudhary@oracle.com> branch nick: mysql-5.6 timestamp: Mon 2014-01-06 12:04:40 +0100 message: Empty version change upmerge ------------------------------------------------------------ revno: 2875.437.321 author: laasya.moduludu@oracle.com committer: Laasya Moduludu <laasya.moduludu@oracle.com> branch nick: mysql-5.5 timestamp: Mon 2014-01-06 11:43:05 +0100 message: Raise version number after cloning 5.5.36 ------------------------------------------------------------ revno: 5726 author: vishal.chaudhary@oracle.com committer: Vishal Chaudhary <vishal.chaudhary@oracle.com> branch nick: mysql-5.6 timestamp: Mon 2014-01-06 11:43:05 +0100 message: Raise version number after cloning 5.6.16 ------------------------------------------------------------ revno: 5725 tags: clone-5.6.16-build committer: Jimmy Yang <jimmy.yang@oracle.com> branch nick: mysql-5.6 timestamp: Mon 2014-01-06 16:24:28 +0800 message: Fix #Bug 17800829 - MEMCACHED.MEMC247_CACHE_POLICY CRASHES IN PB2 WITH ASSERTION `IT->SLABS_CLSID rb://3890 approved by Sunny Bains ------------------------------------------------------------ revno: 5724 [merge] committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com> branch nick: mysql-5.6 timestamp: Mon 2014-01-06 11:33:08 +0530 message: Update/added copyright headers ------------------------------------------------------------ revno: 2875.437.320 tags: clone-5.5.36-build committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com> branch nick: mysql-5.5 timestamp: Mon 2014-01-06 10:52:35 +0530 message: Updated/added copyright headers ------------------------------------------------------------ revno: 5723 committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com> branch nick: mysql-5.6 timestamp: Mon 2014-01-06 10:53:19 +0530 message: Updated/added copyright headers ------------------------------------------------------------ revno: 5722 committer: Venkata Sidagam <venkata.sidagam@oracle.com> branch nick: 5.6 timestamp: Fri 2014-01-03 15:38:15 +0530 message: Bug #17209750 OLD FILES NOT BEING REMOVED FROM PERFORMANCE_SCHEMA.FILE_INSTANCES The test case is having issues(basically some timining issues). Need to refactor the test case. Hence removed for time being. ------------------------------------------------------------ revno: 5721 committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com> branch nick: Bug17842137_mysql-5.6 timestamp: Thu 2014-01-02 11:01:12 +0530 message: Bug#17842137:ASSERT IN ROW BASED REPLICATION WHEN TRANSACTION CACHE SIZE IS EXACTLY 32768 Problem: ======== When the binlog's IO_CACHE grows up to exact 32768 bytes it causes binlog events to get corrupt, if this transaction precedes with a transaction whose IO_CACHE size is >32768. Analysis: ======== On the master during the execution of a transaction all the events that are related to that transaction will be written to the IO_CACHE. The size of the IO_CACHE is 32768. The transaction whose events can fit within the IO_CACHE are never flushed to disk. During flush operation they do nothing but simply set the cache->read_end and end_of_file to current size. At the time of writing to the binlog the cache is read back and if CRC is enabled checksum is calculated if not then the content is written to binlog file. If the transaction size exceeds 32768 then it will be written to a temporary file and the cache is reinited so that remaining events can be written to cache. During writing to binary log file this temp file is read back. In the bug scenario the transaction size grows exactly to 32768, and during flush operation it expects current size of cache to be < 32768. Which is incorrect ideally it should have been <= 32768. As the size is still equal to IO_CACHE size. Because of the incorrect check cache is marked for flush but the writing function "my_b_write" doesn't flush the buffer to disk as it expects cache size to be > 32768 and the cache is reinited without writing to temp file. When the cache is read back it finds the buffer to be empty and tries to fill it from temp file which wrong. Hence the buffer is filled with some other transaction related data causing corruption. Fix: === During flush the check for size has been changed from "<" to "<=". ------------------------------------------------------------ revno: 5720 committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com> branch nick: mysql-5.6 timestamp: Tue 2013-12-31 12:29:00 +0900 message: Follow up for Bug#16249481 fix. If flush_rbt is active (in recovery phase), buf_page_t::space and buf_page_t::offset cannot be invalidated until the bpage is removed from flush_list. * revno: 5677 * committer: Sunny Bains <Sunny.Bains@Oracle.Com> * branch nick: 5.6 * timestamp: Tue 2013-12-10 14:30:34 +0530 * message: * Bug#16249481 - INNODB DOES NOT SCALE WELL ON 12 CORE SYSTEM FOR SPECIFIC ALL IN MEMORY SELECT * * Add a new build option: INNODB_PAGE_ATOMIC_REF_COUNT, default is ON. * * If this option is enabled then use atomic reference counting to track * block use. If it is off then use the old way. * * Approved by Yasufumi Kinoshita rb#3958. ------------------------------------------------------------ revno: 5719 committer: Ashish Agarwal<ashish.y.agarwal@oracle.com> branch nick: bug_17065383 timestamp: Mon 2013-12-30 13:40:45 +0530 message: Bug#17065383: PASSWORD VALIDATE PLUGIN STORES HASH OF LOWERCASE PASSWORD BY MISTAKE PROBLEM: Dictionary check was done on the original password string (converting it to lowercase), which leads to storing a wrong password hash for the user. SOLUTION: A copy of the string is created and all the string comparisons is done on it. ------------------------------------------------------------ revno: 5718 [merge] committer: Arun Kuruvila <arun.kuruvila@oracle.com> branch nick: mysql-5.6 timestamp: Mon 2013-12-30 12:00:48 +0530 message: Merging from mysql-5.5 to mysql-trunk. ------------------------------------------------------------ revno: 2875.437.319 committer: Arun Kuruvila <arun.kuruvila@oracle.com> branch nick: mysql-5.5 timestamp: Mon 2013-12-30 11:39:55 +0530 message: Bug #16324629 : SERVER CRASHES ON UPDATE/JOIN FEDERATED + LOCAL TABLE WHEN ONLY 1 LOCAL ROW Description: When updating a federated table with UPDATE... JOIN, the server consistently crashes with Signal 11 when only 1 row exists in the local table involved in the join and that 1 row can be joined with a row in the federated table. Analysis: Interaction between the federated engine and the optimizer results in the crash. In our scenario, ie, local table having only one row, the program is following a different path because the table is treated as a constant table by the join optimizer. So in this scenario "index_read()" is happening in the prepare phase, since optimizer plan is different for constant table joins. In this case, "index_read_idx_map()" (inside handler.cc) is calling "index_read()" and inside "index_read()", matching rows are fetched and "stored_result" gets populated by calling "store_result()". And just after "index_read()", "index_end()" function is called. And in the "index_end()", its freeing the "stored_result" by calling "free_result()". So when it reaches the execution phase, in "position()" function, we are getting assertion at "DBUG_ASSERT(stored_result);". In all other scenarios (ie, table with more than 1 row), optimizer plan is different and "index_read()" is happening in the execution phase. Fix: So my fix is to have a separate ha_federated member function for "index_read_idx_map()" which will handle federated engine separately. So that position() will be called before index_end() call in constant table scenario. ------------------------------------------------------------ revno: 5717 [merge] committer: Aditya A <aditya.a@oracle.com> branch nick: mysql-5.6 timestamp: Sun 2013-12-29 17:10:21 +0530 message: Bug#12762390 SHOW INNODB STATUS REPORTS NON-FK ERRORS IN THE FK SECTION [Merge from 5.5] ------------------------------------------------------------ revno: 2875.437.318 committer: Aditya A <aditya.a@oracle.com> branch nick: mysql-5.5 timestamp: Sun 2013-12-29 16:55:24 +0530 message: Bug#12762390 SHOW INNODB STATUS REPORTS NON-FK ERRORS IN THE FK SECTION ANALYSIS -------- Any error during the renaming of the table was incorrectly logged in the dict_foreign_err_file and it showed up in foreign key section when we give the query "show engine innodb status". FIX --- Prevent renaming error from being logged in dict_foreign_err_file section. [Aprooved by marko #rb 2501 ] ------------------------------------------------------------ revno: 5716 committer: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com> branch nick: mysql_5_6 timestamp: Sat 2013-12-28 22:08:40 +0530 message: Bug#17862905: MYSQLDUMP CREATES USELESS METADATA LOCKS Problem Description: -------------------- While taking the backup using tool "mysqldump" with option "--single-transaction", MDL lock is acquired on each table dumped. But these locks are not released until the backup operation is completed. Any concurrent DDL operation on those tables will be blocked until backup operation is completed. Moreover such blocked DDL operations will also block other concurrent DML operations (Since DDL has priority over DML) creating pile-up. Note that officially mysqldump --single-transaction is documented as not working/not supported in presence of concurrent DDL statements. But it might work for some people in some scenarios and before 5.5, due to absence of MDL, combination of "mysqldump --single-transaction" and concurrent DDL didn't create pile-up of DML statements. Analysis: -------------------- "mysqldump" start transaction with consistent snapshot and sets isolation level to "repeatable read" when it is used with option "--single-transaction". Data of all the tables is dumped using SELECT statement as part of this transaction. MDL lock SR is taken on all these tables and held till the transaction is committed or rolled back. Any other incompatible MDL lock request on these tables will wait until timeout or "mysqldump" operation is completed. As result concurrent DDL operations on the tables which were dumped will be blocked till the end of dump or timeout. Note that once table is dumped it won't be used again by "mysqldump". This fact and the fact that "mysqldump --single-transactions" produces backup with validity point at the start of transaction (and also retrieves binlog position for backup at the start of transaction) means that "mysqldump --single-transaction" can release MDL on tables which it has already dumped without introducing more problems with consistency. Fix: -------------------- To make "mysqldump --single-transaction" to release locks once dumping of the table is done, modified mysqldump client code to dump table data after setting a savepoint. Once dumping of table data is over, added code to rollback to the savepoint set. Rolling back to savepoint will release MDL lock acquired for the table. But as of now, on rollback to savepoint, MDL locks are not released if binlog is on. This logic is added to avoid dropping of tables before rollback to savepoint event is written to binlog. But when binlog handlerton can clear cache and can safely rollback to savepoint without writing an event for rollback to savepoint then also we are not releasing the MDL locks. This is fixed by introducing a new handlerton function call savepoint_rollback_can_release_mdl. We call this function to check with each storage engine participating in transaction whether it is safe to release MDL after rollback to savepoint. Metadata locks are released only if all the storage engines agreed that it is a safe thing to do. 1) For InnoDB storage engine this handlerton function can allow release of MDL locks if transaction has not acquired any InnoDB locks. 2) For Binlog this handlerton function can allow release of MDL locks if rollback to savepoint will completely remove any traces of transaction from cache. 3) Absence of this method for any storage engine means it is not safe to release MDL locks. Note that this patch doesn't make "mysqldump --single-transaction" safe in general case in presence of concurrent DDL. Nor makes it officially supported in this case. It just allows to avoid problem with unnecessary concurrent DDL blocking and associated DML query pile-up in some specific cases when it might work. ------------------------------------------------------------ revno: 5715 committer: Venkata Sidagam <venkata.sidagam@oracle.com> branch nick: 5.6 timestamp: Fri 2013-12-27 14:11:20 +0530 message: Bug #17209750 OLD FILES NOT BEING REMOVED FROM PERFORMANCE_SCHEMA.FILE_INSTANCES Description: "When a file is deleted from the disk, it is also removed from the file_instances table." This is not true on either 5.5.23 or 5.6.11. When there are three relay log files on disk, but the file_instances table lists more number of relay logs. Even this case is happening for master bin and slave bin logs. Analysis: When we are deleting the slave-relay-bin/master-bin/slave-bin log files we were using the my_delete() function which is not P_S instrumented function. Hence, the files are not removed from the file_instances table. Fix: As part of the fix we replaced my_delete() function with P_S instrumented mysql_file_delete() function. ------------------------------------------------------------ revno: 5714 committer: Shaohua Wang <shaohua.wang@oracle.com> branch nick: mysql-5.6-bugfix1 timestamp: Thu 2013-12-26 17:47:04 +0800 message: BUG#17978763 - SEGV IN FTSPARSE() BOOLEAN MODE QUERY AGAINST '\"\"@117' We check whether node is null in fts_ast_term_set_distance, and do nothing if the node is null. rb://4230 approved by Jimmy.Yang ------------------------------------------------------------ revno: 5713 [merge] committer: Satya Bodapati <satya.bodapati@oracle.com> branch nick: mysql-5.6 timestamp: Thu 2013-12-26 14:39:11 +0530 message: Merge testcase for BUG#16752251 from mysql-5.5 to mysql-5.6 ------------------------------------------------------------ revno: 2875.437.317 committer: Satya Bodapati <satya.bodapati@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2013-12-26 14:33:52 +0530 message: BUG#16752251 - INNODB DOESN'T REDO-LOG INSERT BUFFER MERGE OPERATION IF IT IS DONE IN-PLACE Add testcase as innodb-change-buffer-recovery.test ------------------------------------------------------------ revno: 5712 committer: Annamalai Gurusami <annamalai.gurusami@oracle.com> branch nick: mysql-5.6 timestamp: Tue 2013-12-24 10:59:45 +0530 message: Fixing a pb2 issue. This test case times out under valgrind. Not running it under valgrind until further notice. ------------------------------------------------------------ revno: 5711 committer: Annamalai Gurusami <annamalai.gurusami@oracle.com> branch nick: mysql-5.6 timestamp: Mon 2013-12-23 12:11:26 +0530 message: Bug #17991524 THE DEBUG SYNC POINT IB_CORRUPT_PAGE0 IS NOT WORKING AS EXPECTED Problem: The debug point ib_corrupt_page0 is not working reliably. This is because of the background i/o threads. If the page 0 of a tablespace is flushed by a user session (the SET command for variable innodb_buf_flush_list_now), then the debug point ib_corrupt_page0 will be enabled and will work as expected. But if the page 0 of the tablespace is flushed by a background i/o thread, then ib_corrupt_page0 will not work as expected. Solution: Removing the ib_corrupt_page0 debug point and re-writing the test case using some other means. rb#4216 approved by Jimmy. ------------------------------------------------------------ revno: 5710 committer: Aditya A <aditya.a@oracle.com> branch nick: mysql-5.6 timestamp: Sun 2013-12-22 22:07:51 +0530 message: Bug#17287443 ERROR(1030): GOT ERROR -1 FROM STORAGE ENGINE Post push test failure fix in test script. ------------------------------------------------------------ revno: 5709 committer: Annamalai Gurusami <annamalai.gurusami@oracle.com> branch nick: mysql-5.6 timestamp: Fri 2013-12-20 19:14:13 +0530 message: Fixing a pb2 issue. The combination gcov + embedded + crash test does not work. ------------------------------------------------------------ revno: 5708 committer: Neeraj Bisht <neeraj.x.bisht@oracle.com> branch nick: 5.6 timestamp: Fri 2013-12-20 15:15:00 +0530 message: Bug#16539903 - SERVER CRASHES IN IN HA_MYISAM::FT_INIT_EXT WITH A FROM SUBQUERY Problem:- Full-text search combined with derived tables causes a segment fault. Analysis:- In query like EXPLAIN SELECT MATCH(ft) AGAINST( "test" IN BOOLEAN MODE) FROM ( SELECT ft FROM t1 ) AS t; We are creating a temporary table for the subquery result table. But after wl-5274(where we are postponed materialization), we will create tmp table, but skip instantiation of temporary table. When we have full-text function in our main select query, we are going to call Item_func_match::init_search() for all the full-text item. There we are going to take care about condition like --> match ... against (null) and we are going to call handler::ft_init_ext(), which is used to Initialize full-text index scan(which need table to be initialized). but as we havnt initialized the table. This cause a segmentation fault. Solution:- When we have derived tables, instead of intializing full-text function at optimization, we will initiate it at the time of execution . ------------------------------------------------------------ revno: 5707 committer: Annamalai Gurusami <annamalai.gurusami@oracle.com> branch nick: mysql-5.6 timestamp: Fri 2013-12-20 12:05:46 +0530 message: BUG 17335427 - INNODB CAN NOT USE THE DOUBLEWRITE BUFFER PROPERLY Problem: Fixing a memory issue in my original fix. This was identified from PB2 failures. If the page is uncompressed, then its size must be equal to UNIV_PAGE_SIZE. The buf_page_is_corrupted() assumes the size of the uncompressed pages as equal to UNIV_PAGE_SIZE. Solution: Call buf_page_is_corrupted() for uncompressed pages only if page size is equal to UNIV_PAGE_SIZE. approved by Yasufumi over IM. ------------------------------------------------------------ revno: 5706 committer: Aditya A <aditya.a@oracle.com> branch nick: mysql-5.6 timestamp: Fri 2013-12-20 11:22:30 +0530 message: Bug#17287443 ERROR(1030): GOT ERROR -1 FROM STORAGE ENGINE PROBLEM ------- When we try to do DML operations in innodb force recovery mode.we get a cryptic error message. ERROR(1030): GOT ERROR -1 FROM STORAGE ENGINE FIX --- Introduced a new error ER_INNODB_FORCE_RECOVERY which will print proper error message. [Approved by Kevin and Krunal #rb4095 and rb#4137] ------------------------------------------------------------ revno: 5705 [merge] committer: Venkata Sidagam <venkata.sidagam@oracle.com> branch nick: 5.6 timestamp: Thu 2013-12-19 16:29:20 +0530 message: Bug #17780290 PUBLISH THE GIS TEST FOR BUG#16451878 Merging from 5.5 to 5.6 ------------------------------------------------------------ revno: 2875.437.316 committer: Venkata Sidagam <venkata.sidagam@oracle.com> branch nick: 5.5 timestamp: Thu 2013-12-19 16:08:38 +0530 message: Bug #17780290 PUBLISH THE GIS TEST FOR BUG#16451878 Adding the test cases for the BUG#16451878. ------------------------------------------------------------ revno: 5704 committer: Aditya A <aditya.a@oracle.com> branch nick: mysql-5.6 timestamp: Thu 2013-12-19 16:06:45 +0530 message: Bug#17448389 SYS_DATAFILES TABLE IS NOT UPDATED AFTER RECOVERY FOR TABLES WITH .ISL PATH PROBLEM ------- If user changes updates the path of .ibd files in *.isl files and does a crash recovery then tables are loaded from the updated path,but SYS_DATAFILES are not updated. Now if the user stops and restarts the server in normal mode ,it will detect that the there are two different copies of data directory (one in isl file and one in SYS_DATAFILES table) and both are valid ( we have not deleted the ibd file from the original path) and refuse to load the table and ask user to resolve the conflict. FIX --- Update the SYS_DATFILES to reflect the updated path after crash recovery. [Aprroved by Kevin rb#4177] ------------------------------------------------------------ revno: 5703 committer: Annamalai Gurusami <annamalai.gurusami@oracle.com> branch nick: mysql-5.6 timestamp: Thu 2013-12-19 13:20:50 +0530 message: Bug #17335427 INNODB CAN NOT USE THE DOUBLEWRITE BUFFER PROPERLY Problem: If the first page (page 0) of the single table tablespace is corrupted in the data file then our recovery doesn't progress even if there is a clean copy of the same available in the double write buffer. Analysis: During recovery, our first step is to process the double write buffer. We look at the pages in the double write buffer and determine its (space_id, page_no) details. Each of the page in the double write buffer corresponds to a page in the .ibd data file. Using the space_id information we need to map the page in the double write buffer to the corresponding ibd file. This is done by reading the space_id information from the first page of the single table tablespace. If the first page of the single table tablespace is corrupted, then we are unable to determine the data file to which a particular page in the double write buffer belongs to. So we need to explore and see if we can determine the space_id in other means. Solution: Assume a particular page size. Read N number of pages from the ibd file. Ignore the corrupted pages and determine the (space_id, page_size and zip_size) information. Repeat this for all supported page sizes. Using this approach determine the correct (space_id, page_size and zip_size) of the ibd file. rb#4025 approved by Yasufumi. ------------------------------------------------------------ revno: 5702 committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com> branch nick: r-5.6 timestamp: Thu 2013-12-19 11:44:13 +0530 message: Bug #16868967 MYSQL USES SIGNIFICANTLY MORE MEMORY FOR ALTER TABLE THAN EXPECTED Problem: During online alter table, an online log buffer would be created for index that is being rebuilt or created. This online log contains two buffers - head and tail. Alter table takes lot of memory than expected even there is no concurrent write for index. But Both head and tail buffer will be useful when there is a concurrent write on the index. If there are many partitions involved, it is unlikely that all the partitions would be modified concurrently. Solution: Allocate the tail buffer only when first DML statement happens on the index. Allocate the head buffer only in apply phase and freed at the end of the apply phase. Approved by Marko rb#3850 ------------------------------------------------------------ revno: 5701 committer: horst.hunger@oracle.com branch nick: mysql-5.6 timestamp: Wed 2013-12-18 15:39:57 +0100 message: Request by development to run memcached in 5.6 ------------------------------------------------------------ revno: 5700 [merge] committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: main-56 timestamp: Wed 2013-12-18 14:03:30 +0100 message: Followup fix for Bug 17827378 MTR DOES NOT REPORT IF A TEST FAILS TO DROP CREATED EVENTS: - Check for triggers should exclude mtr's own - Move the code to before checksum table as it might affects result of some autdit_log tests - Remove duplicated show status like 'slave_open_temp_tables'; ------------------------------------------------------------ revno: 2875.437.315 committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: main-55 timestamp: Wed 2013-12-18 14:01:15 +0100 message: Followup fix for Bug 17827378 MTR DOES NOT REPORT IF A TEST FAILS TO DROP CREATED EVENTS: - Check for triggers should exclude mtr's own - Move the code to before checksum table as it might affect result of some autdit_log tests (does in 5.6) - Replace SHOW STATUS LIKE 'slave_open_temp_tables' to be like in 5.6 ------------------------------------------------------------ revno: 5699 [merge] committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.6-merge timestamp: Wed 2013-12-18 11:17:16 +0100 message: merge 5.5 => 5.6 ------------------------------------------------------------ revno: 2875.437.314 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5 timestamp: Wed 2013-12-18 11:08:21 +0100 message: MTR's internal check of the test case 'main.events_trans' failed. fix: DROP EVENT e1; ------------------------------------------------------------ revno: 2875.437.313 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5 timestamp: Wed 2013-12-18 11:05:18 +0100 message: Bug#16316074 RFE: MAKE TMPDIR A BUILD-TIME CONFIGURABLE OPTION Bug#68338 RFE: make tmpdir a build-time configurable option Background: Some distributions use tmpfs for mounting /tmp by default, which has some advantages, but brings also new issues. Fedora started using tmpfs on /tmp in version 18 for example. If not configured otherwise in my.cnf, MySQL uses system's constant P_tmpdir expanded to /tmp on Linux. This can introduce some problems with limited space in /tmp and also some data loss in case of replication slave [1]. In case distributions would like to use /var/tmp, which should be better for MySQL purposes, then we have to patch the source or change tmpdir option in my.cnf, which is however not updated in case it has already existed. Thus, it would be useful to be able to specify default tmpdir path using a configure option, while using P_tmpdir in case it is not defined explicitly. Based on a contribution from Honza Horak ------------------------------------------------------------ revno: 5698 [merge] committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com> branch nick: mysql-5.6 timestamp: Wed 2013-12-18 13:55:27 +0530 message: Bug17632978 SLAVE CRASHES IF ROW EVENT IS CORRUPTED (MYSQLBINLOG -V CRASHES WITH THAT BINLOG) Merging fix from mysql-5.5 Post-Push: Fix Werror-build problem ------------------------------------------------------------ revno: 2875.437.312 committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com> branch nick: mysql-5.5 timestamp: Wed 2013-12-18 13:52:49 +0530 message: Bug17632978 SLAVE CRASHES IF ROW EVENT IS CORRUPTED (MYSQLBINLOG -V CRASHES WITH THAT BINLOG) Post Push: Fixing Werror compiler issue ------------------------------------------------------------ revno: 5697 [merge] committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com> branch nick: mysql-5.6 timestamp: Tue 2013-12-17 22:26:45 +0530 message: Bug17632978 SLAVE CRASHES IF ROW EVENT IS CORRUPTED (MYSQLBINLOG -V CRASHES WITH THAT BINLOG) Merging fix from mysql-5.5 ------------------------------------------------------------ revno: 2875.437.311 committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com> branch nick: mysql-5.5 timestamp: Tue 2013-12-17 22:11:22 +0530 message: Bug#17632978 SLAVE CRASHES IF ROW EVENT IS CORRUPTED (MYSQLBINLOG -V CRASHES WITH THAT BINLOG) Problem: If slave receives a corrupted row event, slave server is crashing. Analysis: When slave is unpacking the row event, it is not validating the data before applying the event. If the data is corrupted for eg: the length of a field is wrong, it could end up reading wrong data leading to a crash. A similar problem happens when mysqlbinlog tool is used against a corrupted binlog using '-v' option. Due to -v option, the tool tries to print the values of all the fields. Corrupted field length could lead to a crash. Fix: Before unpacking the field, a verification will be made on the length. If it falls into the event range, only then it will be unpacked. Otherwise, "ER_SLAVE_CORRUPT_EVENT" error will be thrown. Incase mysqlbinlog -v case, the field value will not be printed and the processing of the file will be stopped. ------------------------------------------------------------ revno: 5696 committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com> branch nick: mysql-5.6 timestamp: Tue 2013-12-17 17:13:02 +0530 message: BUG#17544169 MYSQLBINLOG -V DOES NOT PROPERLY DECODE DECIMAL VALUES IN AN RBR LOG Analysis: If verbose (-v) option is used in mysqlbinlog tool it decodes a RBR event into the query (the same query which was used at source to generate) and displays immediately after displaying the row event in the output. The algorithm used to display the decimal was wrongly written which were causing problems similar to the ones mentioned below. Eg: -0.938582 is decoded as: -938582000.000000000 4294967296.001 as: 000000004.294967296.001000000.000000000 Fix: 'decimal2string' is an existing function which converts a decimal value into a string format. Hence the algorithm used was replaced with this existing 'decimal2string' function to avoid problems mentioned above. After this fix, decimal will be printed exactly the same way how they get printed in 'select' command output. Eg: -0.938582 for decimal(10,10) will be displayed as -0.938582000. 4294967296.001 for decimal(20,10) will be displayed as 4294967296.0010000000 ------------------------------------------------------------ revno: 5695 committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com> branch nick: mysql-5.6 timestamp: Tue 2013-12-17 20:30:16 +0900 message: Follow up for Bug#16249481 fix. backport from mysql-trunk revno: 7152 committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-trunk timestamp: Tue 2013-12-17 11:29:47 +0200 message: Followup to sunny.bains@oracle.com-20131210092144-0xfzdmj5vgqlqpq2 Fix a compilation failure on Win32: buf0buf.ic(1016): error C2664: '_InterlockedExchangeAdd' : cannot convert parameter 1 from 'ib_uint32_t *' to 'volatile long *' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast ------------------------------------------------------------ revno: 5694 committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com> branch nick: mysql-5.6 timestamp: Tue 2013-12-17 20:03:26 +0900 message: Follow up for Bug#16249481 fix. Atomic operation macro for Soralis and Windows added by Bug#16249481 fix were wrong. Aligned same for mysql-trunk. * revno: 5677 * committer: Sunny Bains <Sunny.Bains@Oracle.Com> * branch nick: 5.6 * timestamp: Tue 2013-12-10 14:30:34 +0530 * message: * Bug#16249481 - INNODB DOES NOT SCALE WELL ON 12 CORE SYSTEM FOR SPECIFIC ALL IN MEMORY SELECT * * Add a new build option: INNODB_PAGE_ATOMIC_REF_COUNT, default is ON. * * If this option is enabled then use atomic reference counting to track * block use. If it is off then use the old way. * * Approved by Yasufumi Kinoshita rb#3958. ------------------------------------------------------------ revno: 5693 committer: Jorgen Loland <jorgen.loland@oracle.com> branch nick: mysql-5.6 timestamp: Tue 2013-12-17 10:45:12 +0100 message: BUG#17889511 fix test errors ------------------------------------------------------------ revno: 5692 committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com> branch nick: mysql-5.6 timestamp: Mon 2013-12-16 21:03:59 +0900 message: The fix for Bug#16249481 was not enabled for builds. "#cmakedefine INNODB_PAGE_ATOMIC_REF_COUNT" is added to config.h.cmake Patch made by Sunny Bains (by mail) Approved by Yasufumi Kinoshita * revno: 5677 * committer: Sunny Bains <Sunny.Bains@Oracle.Com> * branch nick: 5.6 * timestamp: Tue 2013-12-10 14:30:34 +0530 * message: * Bug#16249481 - INNODB DOES NOT SCALE WELL ON 12 CORE SYSTEM FOR SPECIFIC ALL IN MEMORY SELECT * * Add a new build option: INNODB_PAGE_ATOMIC_REF_COUNT, default is ON. * * If this option is enabled then use atomic reference counting to track * block use. If it is off then use the old way. * * Approved by Yasufumi Kinoshita rb#3958. ------------------------------------------------------------ revno: 5691 committer: Jorgen Loland <jorgen.loland@oracle.com> branch nick: mysql-5.6 timestamp: Mon 2013-12-16 08:40:11 +0100 message: Bug#17889511: FORCE INDEX UNABLE TO FORCE AN ORDER BY WITH JOIN "FORCE INDEX [FOR ORDER BY] (indexName)" did not work for joins because test_if_skip_sort_order() contains a heuristic that table scan + join cache tends to be cheaper than an index scan. While the heuristic may be correct, it should not override the users explicit request to use the index. This patch also changes the warning created for EXPLAIN. Instead of printing only "IGNORE/USE/FORCE INDEX" it now also prints "FOR [GROUP BY|ORDER BY|JOIN]" if this was specified in the query. ------------------------------------------------------------ revno: 5690 committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com> branch nick: r-5.6 timestamp: Mon 2013-12-16 12:29:20 +0530 message: Bug #16924719 SMALL PERFORMANCE IMPACT WITH HEAP BLOCK DEBUGGING INFO IN RELEASE BUILDS Problem: Memory block debugging details (file_name, lineno) is present on release builds.It impacts by a tiny amount on every heap creation. Solution: Removed the file_name, line no parameters from mem_heap_create_func() and mem_alloc_func() in release builds. [Approved by Marko #rb 4022] ------------------------------------------------------------ revno: 5689 [merge] committer: Kent Boortz <kent.boortz@oracle.com> branch nick: mysql-5.6 timestamp: Sat 2013-12-14 13:11:48 +0100 message: Merge mysql-5.5 --> mysql-5.6 ------------------------------------------------------------ revno: 2875.437.310 committer: Kent Boortz <kent.boortz@oracle.com> branch nick: mysql-5.5 timestamp: Sat 2013-12-14 13:05:36 +0100 message: Bug#29716 : Bug#11746921 : MYSQL_INSTALL_DB REFERS TO THE (OBSOLETE) MYSQLBUG SCRIPT DURING INSTALLATION Bug#68742 : Bug#16530527 : OBSOLETE BUGREPORT ADDRESSES ------------------------------------------------------------ revno: 5688 committer: Shaohua Wang <shaohua.wang@oracle.com> branch nick: mysql-5.6-bugfix1 timestamp: Fri 2013-12-13 17:56:54 +0800 message: Bug#17033591 5.6.12 REMOVED UNIV_SYNC_DEBUG FROM UNIV_DEBUG Enable UNIV_SYNC_DEBUG and fix fts test failures. rb://4139 approved by Marko and Jimmy. ------------------------------------------------------------ revno: 5687 [merge] committer: Marc Alff <marc.alff@oracle.com> branch nick: mysql-5.6-push timestamp: Fri 2013-12-13 10:42:34 +0100 message: Merge mysql-5.5 --> mysql-5.6 ------------------------------------------------------------ revno: 2875.437.309 [merge] committer: Marc Alff <marc.alff@oracle.com> branch nick: mysql-5.5-push timestamp: Fri 2013-12-13 10:26:05 +0100 message: Push to mysql-5.5 ------------------------------------------------------------ revno: 2875.465.1 committer: Marc Alff <marc.alff@oracle.com> branch nick: mysql-5.5-bug17928281 timestamp: Wed 2013-12-11 11:15:23 +0100 message: Bug#17928281 'CHECK_PERFORMANCE_SCHEMA()' LEAVES 'CURRENT_THD' REFERRING DESTRUCTED THD OBJ Prior to fix, function check_performance_schema() could leave behind stale pointers in thread local storage, for the following keys: - THR_THD (used by _current_thd) - THR_MALLOC (used for memory allocation) This is an unsafe practice, which can potentially cause crashes, and that can cause other bugs when code is modified during maintenance. With this fix, thread local storage keys used temporarily within function check_performance_schema() are cleaned up after use. ------------------------------------------------------------ revno: 5686 committer: mithun <mithun.c.y@oracle.com> branch nick: mysql-5.6 timestamp: Fri 2013-12-13 11:09:40 +0530 message: Bug #17513341 : >=4G JOIN_BUFFER_SIZE CRASH WHEN JOINING TABLES, VIEWS ISSUE : 1. Offset address from a join buffer of size >=4gb can be >4 bytes long. But we have only considered offsets upto 4bytes long. This will lead to invalid buffer read and memory corruption henceforth. 2. If we fail to allocate join buffer then we are not freeing the JOIN_CACHE_X instance. Now next join buffer will wrongly take this unfreed JOIN_CACHE_X instance as its previous cache. Hence in incremental join buffer implementation there will be a chance for unallocated memory access. Solution : 1. Now for join buffer >=4gb we have made offest address size = 8 bytes. 2. If we fail to allocate the join buffer we free the JOIN_CACHE_X instance also. ------------------------------------------------------------ revno: 5685 committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com> branch nick: mysql-5.6 timestamp: Fri 2013-12-13 13:23:34 +0900 message: Fix the possibile rare race condition at Bug#16249481 fix. Approved by Sunny Bains (IM) * revno: 5677 * committer: Sunny Bains <Sunny.Bains@Oracle.Com> * branch nick: 5.6 * timestamp: Tue 2013-12-10 14:30:34 +0530 * message: * Bug#16249481 - INNODB DOES NOT SCALE WELL ON 12 CORE SYSTEM FOR SPECIFIC ALL IN MEMORY SELECT * * Add a new build option: INNODB_PAGE_ATOMIC_REF_COUNT, default is ON. * * If this option is enabled then use atomic reference counting to track * block use. If it is off then use the old way. * * Approved by Yasufumi Kinoshita rb#3958. ------------------------------------------------------------ revno: 5684 committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com> branch nick: mysql-5.6 timestamp: Fri 2013-12-13 12:52:47 +0900 message: The adjustment about UNIV_SUNC_DEBUG is needed for Bug#16249481 fix Approved by Sunny Bains (IM) * revno: 5677 * committer: Sunny Bains <Sunny.Bains@Oracle.Com> * branch nick: 5.6 * timestamp: Tue 2013-12-10 14:30:34 +0530 * message: * Bug#16249481 - INNODB DOES NOT SCALE WELL ON 12 CORE SYSTEM FOR SPECIFIC ALL IN MEMORY SELECT * * Add a new build option: INNODB_PAGE_ATOMIC_REF_COUNT, default is ON. * * If this option is enabled then use atomic reference counting to track * block use. If it is off then use the old way. * * Approved by Yasufumi Kinoshita rb#3958. ------------------------------------------------------------ revno: 5683 [merge] committer: sayantan dutta <sayantan.dutta@oracle.com> branch nick: mysql-5.6 timestamp: Thu 2013-12-12 12:23:02 +0530 message: Bug 17827378 5.5=>5.6 ------------------------------------------------------------ revno: 2875.437.308 committer: sayantan dutta <sayantan.dutta@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2013-12-12 12:20:57 +0530 message: Bug #17827378 - MTR DOES NOT REPORT IF A TEST FAILS TO DROP CREATED EVENTS ------------------------------------------------------------ revno: 5682 committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.6 timestamp: Wed 2013-12-11 16:13:33 +0200 message: Backport from mysql-trunk to mysql-5.6: ** revision-id: vasil.dimov@oracle.com-20131203163459-tlkyqdq93jysk9z0 ** committer: Vasil Dimov <vasil.dimov@oracle.com> ** branch nick: mysql-trunk ** timestamp: Tue 2013-12-03 18:34:59 +0200 ** message: ** Fix Bug#70768 Persistent optimizer statistics often causes LOCK_open stalls ** ** Protect each table's dict_table_t::stat* members with a latch dedicated ** for this table instead of using a global pool of 64 shared latches. ** With 6 tables, the chances of at least two ending up with the same latch ** is 23.9%. With a lots of tables, there are tons of collisions. ** ** Reviewed by: Kevin (rb:3805) ------------------------------------------------------------ revno: 5681 committer: Roy Lyseng <roy.lyseng@oracle.com> branch nick: mysql-5.6 timestamp: Wed 2013-12-11 09:59:30 +0100 message: Bug#17600176: This query returns a row in 5.5 but not 5.6 or current 5.7 The problem query contains an IN subquery that is transformed to a semi-join. The subquery contains an outer join operation. When run standalone, the outer join in the subquery is preserved as an outer join and returns one row. However, when the full query is run, the outer join is converted into an inner join, and the subquery no longer returns any row. This causes the outer query to return no rows. The problem is with the IF clause in the WHERE clause of the subquery, When transforming into semi-join, we rely on Item::fix_after_pullout() to adjust used_tables and not_null_tables information within the condition objects, in order to determine e.g. the outer join to inner join transform. However, there is no specific implementation of ::fix_after_pullout() for the IF clause, so it returns generic information generated by Item_func::fix_after_pullout(). The fix is to add this function. By analysis, this appears to be a problem for BETWEEN predicates and IN predicates too. A specific implementation of :;fix_after_pullout() is added for both classes. In addition, it was detected that not_null_tables information was not updated correctly for class Item_row. However, I was not able to think out any failing test for this problem, so no test case was added. ------------------------------------------------------------ revno: 5680 committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com> branch nick: mysql-5.6 timestamp: Wed 2013-12-11 14:06:16 +0530 message: Bug #17848838 BACKPORT 16511145 TO 5.6 Backporting the fix of Bug #16511145 from trunk to mysql-5.6 [Approved by Kevin rb# 3983] ------------------------------------------------------------ revno: 5679 committer: Anil Toshniwal <anil.toshniwal@oracle.com> branch nick: mysql-5.6 timestamp: Wed 2013-12-11 13:35:55 +0530 message: Bug#16936961 INCORRECT TRANSACTION ACTIVE TIME FOR RECOVING TRANSACTION AFTER CRASH Problem: The start_time member of trx_t structure is uninitialized in trx_create(), that is, at the time of transaction object creation. The start_time was initialized only at the start of transaction. So after crash, start_time was taking the garbage value and while rollback is running in background for uncommited trx. Fixed: Initialized the start_time member in trx_resurrect_*(), when trx is in either ACTIVE or PREPARED STATE. Approved by Jimmy (rb#4046). ------------------------------------------------------------ revno: 5678 committer: Anil Toshniwal <anil.toshniwal@oracle.com> branch nick: mysql-5.6 timestamp: Wed 2013-12-11 12:30:53 +0530 message: Bug#17810862 INNOCHECKSUM.EXE CANNOT HANDLE >=4G FILES (AND PRINTS WRONG ERROR MESSAGE) Problem: 1) mysql-5.6 innochecksum tool don't support file larger than 2GB. 2) Wasn't used the Windows specific API, _stat64() to get file size, so was printing wrong error message. Solution: 1) Fixed innochecksum to provide utility to support large file also. 2) Use Windows Specific API, _stat64() to get file size. Approved by Kevin (rb#4012). ------------------------------------------------------------ revno: 5677 committer: Sunny Bains <Sunny.Bains@Oracle.Com> branch nick: 5.6 timestamp: Tue 2013-12-10 14:30:34 +0530 message: Bug#16249481 - INNODB DOES NOT SCALE WELL ON 12 CORE SYSTEM FOR SPECIFIC ALL IN MEMORY SELECT Add a new build option: INNODB_PAGE_ATOMIC_REF_COUNT, default is ON. If this option is enabled then use atomic reference counting to track block use. If it is off then use the old way. Approved by Yasufumi Kinoshita rb#3958. ------------------------------------------------------------ revno: 5676 committer: Roy Lyseng <roy.lyseng@oracle.com> branch nick: mysql-5.6 timestamp: Tue 2013-12-10 09:24:24 +0100 message: Bug#71010: Bug#17876794: sql/sql_resolver.cc refers to partition engine fields An #ifdef was missed in this file. ------------------------------------------------------------ revno: 5675 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.6-merge timestamp: Mon 2013-12-09 09:27:28 +0100 message: Bug#17400967 MYSQL_CONFIG FAILS TO FILTER OUT SOME WARNING FLAG For clang and gcc we set some warning flags when compiling the server. Remove them when generating the script mysqld_config. ------------------------------------------------------------ revno: 5674 committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com> branch nick: r-5.6 timestamp: Mon 2013-12-09 11:56:43 +0530 message: Bug #16924719 SMALL PERFORMANCE IMPACT WITH HEAP BLOCK DEBUGGING INFO IN RELEASE BUILDS Fixed build problem in debug mode. ------------------------------------------------------------ revno: 5673 committer: Pavan Naik<pavan.naik@oracle.com> branch nick: mysql-5.6 timestamp: Mon 2013-12-09 11:45:35 +0530 message: BUG#16321920 : CREATE A SEPARATE INNODB_ZIP TEST SUITE innodb.innodb-wl5980-alter.test and innodb.innodb-wl6445-1.test were affecting innodb_zip.innodb-restart.test Added "rmdir" statement in the end of both the tests to remove the directory "$MYSQL_TMP_DIR/alt_dir". ------------------------------------------------------------ revno: 5672 committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com> branch nick: r-5.6 timestamp: Mon 2013-12-09 10:32:10 +0530 message: Bug #16924719 SMALL PERFORMANCE IMPACT WITH HEAP BLOCK DEBUGGING INFO IN RELEASE BUILDS Problem: Memory block debugging details (file_name, lineno) is present on release builds.It impacts by a tiny amount on every heap creation. Solution: Removed file_no, lineno of block details in release builds. [Approved by Marko #rb 4022] ------------------------------------------------------------ revno: 5671 committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.6 timestamp: Fri 2013-12-06 13:49:49 +0200 message: Backport from mysql-trunk to mysql-5.6: ** revision-id: vasil.dimov@oracle.com-20131203155950-qm0okr731tms81sy ** committer: Vasil Dimov <vasil.dimov@oracle.com> ** branch nick: mysql-trunk ** timestamp: Tue 2013-12-03 17:59:50 +0200 ** message: ** Fix Bug#17193801 DICT_TABLE_SCHEMA_CHECK CALLS DTYPE_SQL_NAME ** NEEDLESSLY - WASTING A LOT OF CPU ** ** Avoid the calls to dtype_sql_name() if the results are not going to ** be used (they are used only in an event of an error). ** ** Reviewed by: Kevin (rb:3625) ------------------------------------------------------------ revno: 5670 [merge] committer: Guilhem Bichot <guilhem.bichot@oracle.com> branch nick: 5.6 timestamp: Wed 2013-12-04 18:08:05 +0100 message: Merge of local 5.6 with latest changes of local 5.5 ------------------------------------------------------------ revno: 2875.437.307 committer: Guilhem Bichot <guilhem.bichot@oracle.com> branch nick: 5.5 timestamp: Wed 2013-12-04 12:32:42 +0100 message: Bug#16539979 - BASIC SELECT COUNT(DISTINCT ID) IS BROKEN Bug#17867117 - ERROR RESULT WHEN "COUNT + DISTINCT + CASE WHEN" NEED MERGE_WALK Problem: COUNT DISTINCT gives incorrect result when it uses a Unique Tree and its last inserted record has null value. Here is how COUNT DISTINCT is processed, given that this query is not using loose index scan. When a row is produced as a result of joining tables (there is only one table here), we store the SELECTed value in a Unique tree. This allows elimination of any duplicates, and thus implements DISTINCT. When we have processed all rows like this, we walk the Unique tree, counting its elements, in Aggregator_distinct::endup() (tree->walk()); for each element we call Item_sum_count::add(). Such function wants to ignore any NULL value, for that it checks item_sum -> args[0] -> null_value. It is a mistake: when walking the Unique tree, the value to be aggregated is not item_sum ->args[0] but rather table -> field[0]. Solution: instead of item_sum -> args[0] -> null_value, use arg_is_null(), which knows where to look (like in fix for bug 57932). As a consequence of this solution, we have to make arg_is_null() a little more general: 1) Because it was so far only used for AVG() (which always has a single argument), this function was looking at a single argument; now that it has to work with COUNT(DISTINCT expression1,expression2), it must look at all arguments. 2) Because we start using arg_is_null () for COUNT(DISTINCT), i.e. in Item_sum_count::add (), it implies that we are also using it for COUNT(no DISTINCT) (same add ()). For COUNT(no DISTINCT), the nullness to check is that of item_sum -> args[0]. But the null_value of such item is reliable only if val_*() has been called on it. So far arg_is_null() was always used after a call to arg_val*(), so could rely on null_value; but for COUNT, there is no call to arg_val*(), so arg_is_null() has to call is_null() instead. Testcase for 16539979 by Neeraj. Testcase for 17867117 contributed by Xiaobin Lin from Taobao. ------------------------------------------------------------ revno: 5669 committer: Krunal Bauskar krunal.bauskar@oracle.com branch nick: mysql-5.6 timestamp: Wed 2013-12-04 15:58:27 +0530 message: - bug#70867: WRONG OS ERROR NUMBER REPORTED IN ERROR LOG DURING FAILURE AT STARTUP InnoDB has handler to handle some of the common known errors. One of such error is ACCESS VIOLATION error which is detected and proper notifying error message is printed but it left unmapped to internal InnoDB error code that causes caller function to think that error is is not from know list and caller try to invoke default error handle leading to error-code and message mis-match. Fixed by ensuring that known ACCESS VIOLATION error is mapped to proper InnoDB error code. Approved by: Kevin (rb#3986) (BPS approval by Sveta) ------------------------------------------------------------ revno: 5668 [merge] committer: Hery Ramilison <hery.ramilison@oracle.com> branch nick: mysql-5.6 timestamp: Wed 2013-12-04 04:12:50 +0100 message: Upmerge of the mysql-5.1.73 build ------------------------------------------------------------ revno: 2875.437.306 [merge] committer: Hery Ramilison <hery.ramilison@oracle.com> branch nick: mysql-5.5 timestamp: Wed 2013-12-04 04:04:44 +0100 message: Upmerge of the mysql-5.1.73 build ------------------------------------------------------------ revno: 2661.885.1 author: committer: Hery Ramilison <hery.ramilison@oracle.com> branch nick: mysql-5.1 timestamp: Tue 2013-12-03 20:47:36 +0100 message: Merge from mysql-5.1.73-release ------------------------------------------------------------ revno: 5667 [merge] author: vishal.chaudhary@oracle.com committer: Vishal Chaudhary <vishal.chaudhary@oracle.com> branch nick: mysql-5.6 timestamp: Tue 2013-12-03 10:53:16 +0100 message: Merge from mysql-5.6.15-release ------------------------------------------------------------ revno: 5583.2.2 tags: mysql-5.6.15 committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com> branch nick: mysql-5.6.15-release timestamp: Sun 2013-11-17 18:51:36 +0100 message: Merged Bug #17675622 cset 5632 from mysql-5.6 |