------------------------------------------------------------
revno: 3286 [merge] committer: Joerg Bruehe <joerg.bruehe@oracle.com> branch nick: clone-5.5 timestamp: Fri 2012-03-02 13:23:52 +0100 message: Further upmerge the yaSSL upgrade (to 2.2.0) from MySQL 5.1 to 5.5. Also, take a syntax fix (C++ style comment in C file) in client/mysqldump.c. ------------------------------------------------------------ revno: 2661.768.65 [merge] committer: Joerg Bruehe <joerg.bruehe@oracle.com> branch nick: clone-5.1 timestamp: Fri 2012-03-02 13:18:12 +0100 message: Upmerge the yaSSL upgrade (to 2.2.0) from MySQL 5.0 to 5.1. ------------------------------------------------------------ revno: 1810.4000.45 committer: Joerg Bruehe <joerg.bruehe@oracle.com> branch nick: clone-5.0 timestamp: Fri 2012-03-02 13:12:07 +0100 message: Further upgrade the yaSSL library to version 2.2.0 to pick up some new security fixes that are in it. Patch provided by Georgi Kodinov. ------------------------------------------------------------ revno: 2661.768.64 committer: Karen Langford <karen.langford@oracle.com> branch nick: mysql-5.1.62-release timestamp: Tue 2012-02-28 17:20:30 +0100 message: AIX builds fail for comments using // ------------------------------------------------------------ revno: 3285 committer: Hery Ramilison <hery.ramilison@oracle.com> branch nick: mysql-5.5.22-release timestamp: Thu 2012-03-01 01:05:05 +0100 message: fix for the windows platform for bug: 13788143 ------------------------------------------------------------ revno: 3284 [merge] committer: Joerg Bruehe <joerg.bruehe@oracle.com> branch nick: clone-5.5 timestamp: Tue 2012-02-28 12:50:23 +0100 message: Upmerge the copyright year change, from 5.1 to 5.5. ------------------------------------------------------------ revno: 2661.768.63 [merge] committer: Joerg Bruehe <joerg.bruehe@oracle.com> branch nick: clone-5.1 timestamp: Tue 2012-02-28 12:44:21 +0100 message: Upmerge the copyright year change, from 5.0 to 5.1. ------------------------------------------------------------ revno: 1810.4000.44 committer: Joerg Bruehe <joerg.bruehe@oracle.com> branch nick: clone-5.0 timestamp: Tue 2012-02-28 12:42:02 +0100 message: The current year is 2012, and nobody noticed ... Update the year in the copyright notice, file "README". ------------------------------------------------------------ revno: 3283 tags: clone-5.5.22-build committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.5-security timestamp: Sun 2012-02-19 09:33:55 +0200 message: addendum to the --builtin-innodb depreacation bug. Fixing test suite output. ------------------------------------------------------------ revno: 3282 committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.5-security timestamp: Sat 2012-02-18 11:10:42 +0200 message: Addendum to BUG#13586262 : fixed a wrong test suite output ------------------------------------------------------------ revno: 3281 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.5-security timestamp: Sat 2012-02-18 11:03:11 +0200 message: empty weave merge mysql-5.1-security->mysql-5.5-security ------------------------------------------------------------ revno: 2661.768.62 [merge] tags: clone-5.1.62-build committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.1-security timestamp: Sat 2012-02-18 10:58:19 +0200 message: merge mysql-5.1->mysql-5.1-security ------------------------------------------------------------ revno: 3280 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.5-security timestamp: Sat 2012-02-18 10:58:31 +0200 message: merge mysql-5.5->mysql-5.5-security ------------------------------------------------------------ revno: 3097.126.2 [merge] committer: kevin.lewis@oracle.com branch nick: mysql-5.5 timestamp: Fri 2012-02-17 08:28:28 -0600 message: Merge with mysql-5.5 ------------------------------------------------------------ revno: 3097.116.140 committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5 timestamp: Fri 2012-02-17 15:09:47 +0200 message: Print a deprecation warning when ignore-builtin-innodb is used This is part of Bug#13586262 INNODB - HIBISCUS: ISSUE DEPRECATION WARNINGS FOR VARIABLES Reviewed by: Mark Alff ------------------------------------------------------------ revno: 3097.116.139 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.5 timestamp: Fri 2012-02-17 11:52:51 +0200 message: Merge mysql-5.1 to mysql-5.5. ------------------------------------------------------------ revno: 2661.800.21 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.1 timestamp: Fri 2012-02-17 11:42:04 +0200 message: Bug#13721257 RACE CONDITION IN UPDATES OR INSERTS OF WIDE RECORDS This bug was originally filed and fixed as Bug#12612184. The original fix was buggy, and it was patched by Bug#12704861. Also that patch was buggy (potentially breaking crash recovery), and both fixes were reverted. This fix was not ported to the built-in InnoDB of MySQL 5.1, because the function signatures of many core functions are different from InnoDB Plugin and later versions. The block allocation routines and their callers would have to changed so that they handle block descriptors instead of page frames. When a record is updated so that its size grows, non-updated columns can be selected for external (off-page) storage. The bug is that the initially inserted updated record contains an all-zero BLOB pointer to the field that was not updated. Only after the BLOB pages have been allocated and written, the valid pointer can be written to the record. Between the release of the page latch in mtr_commit(mtr) after btr_cur_pessimistic_update() and the re-latching of the page in btr_pcur_restore_position(), other threads can see the invalid BLOB pointer consisting of 20 zero bytes. Moreover, if the system crashes at this point, the situation could persist after crash recovery, and the contents of the non-updated column would be permanently lost. The problem is amplified by the ROW_FORMAT=DYNAMIC and ROW_FORMAT=COMPRESSED that were introduced in innodb_file_format=barracuda in InnoDB Plugin, but the bug does exist in all InnoDB versions. The fix is as follows. After a pessimistic B-tree operation that needs to write out off-page columns, allocate the pages for these columns in the mini-transaction that performed the B-tree operation (btr_mtr), but write the pages in a separate mini-transaction (blob_mtr). Do mtr_commit(blob_mtr) before mtr_commit(btr_mtr). A quirk: Do not reuse pages that were previously freed in btr_mtr. Only write the off-page columns to 'fresh' pages. In this way, crash recovery will see redo log entries for blob_mtr before any redo log entry for btr_mtr. It will apply the BLOB page writes to pages that were marked free at that point. If crash recovery fails to see all of the btr_mtr redo log, there will be some unreachable BLOB data in free pages, but the B-tree will be in a consistent state. btr_page_alloc_low(): Renamed from btr_page_alloc(). Add the parameter init_mtr. Return an allocated block, or NULL. If init_mtr!=mtr but the page was already X-latched in mtr, do not initialize the page. btr_page_alloc(): Wrapper for btr_page_alloc_for_ibuf() and btr_page_alloc_low(). btr_page_free(): Add a debug assertion that the page was a B-tree page. btr_lift_page_up(): Return the father block. btr_compress(), btr_cur_compress_if_useful(): Add the parameter ibool adjust, for adjusting the cursor position. btr_cur_pessimistic_update(): Preserve the cursor position when big_rec will be written and the new flag BTR_KEEP_POS_FLAG is defined. Remove a duplicate rec_get_offsets() call. Keep the X-latch on index->lock when big_rec is needed. btr_store_big_rec_extern_fields(): Replace update_inplace with an operation code, and local_mtr with btr_mtr. When not doing a fresh insert and btr_mtr has freed pages, put aside any pages that were previously X-latched in btr_mtr, and free the pages after writing out all data. The data must be written to 'fresh' pages, because btr_mtr will be committed and written to the redo log after the BLOB writes have been written to the redo log. btr_blob_op_is_update(): Check if an operation passed to btr_store_big_rec_extern_fields() is an update or insert-by-update. fseg_alloc_free_page_low(), fsp_alloc_free_page(), fseg_alloc_free_extent(), fseg_alloc_free_page_general(): Add the parameter init_mtr. Return an allocated block, or NULL. If init_mtr!=mtr but the page was already X-latched in mtr, do not initialize the page. xdes_get_descriptor_with_space_hdr(): Assert that the file space header is being X-latched. fsp_alloc_from_free_frag(): Refactored from fsp_alloc_free_page(). fsp_page_create(): New function, for allocating, X-latching and potentially initializing a page. If init_mtr!=mtr but the page was already X-latched in mtr, do not initialize the page. fsp_free_page(): Add ut_ad(0) to the error outcomes. fsp_free_page(), fseg_free_page_low(): Increment mtr->n_freed_pages. fsp_alloc_seg_inode_page(), fseg_create_general(): Assert that the page was not previously X-latched in the mini-transaction. A file segment or inode page should never be allocated in the middle of an mini-transaction that frees pages, such as btr_cur_pessimistic_delete(). fseg_alloc_free_page_low(): If the hinted page was allocated, skip the check if the tablespace should be extended. Return NULL instead of FIL_NULL on failure. Remove the flag frag_page_allocated. Instead, return directly, because the page would already have been initialized. fseg_find_free_frag_page_slot() would return ULINT_UNDEFINED on error, not FIL_NULL. Correct a bogus assertion. fseg_alloc_free_page(): Redefine as a wrapper macro around fseg_alloc_free_page_general(). buf_block_buf_fix_inc(): Move the definition from the buf0buf.ic to buf0buf.h, so that it can be called from other modules. mtr_t: Add n_freed_pages (number of pages that have been freed). page_rec_get_nth_const(), page_rec_get_nth(): The inverse function of page_rec_get_n_recs_before(), get the nth record of the record list. This is faster than iterating the linked list. Refactored from page_get_middle_rec(). trx_undo_rec_copy(): Add a debug assertion for the length. trx_undo_add_page(): Return a block descriptor or NULL instead of a page number or FIL_NULL. trx_undo_report_row_operation(): Add debug assertions. trx_sys_create_doublewrite_buf(): Assert that each page was not previously X-latched. page_cur_insert_rec_zip_reorg(): Make use of page_rec_get_nth(). row_ins_clust_index_entry_by_modify(): Pass BTR_KEEP_POS_FLAG, so that the repositioning of the cursor can be avoided. row_ins_index_entry_low(): Add DEBUG_SYNC points before and after writing off-page columns. If inserting by updating a delete-marked record, do not reposition the cursor or commit the mini-transaction before writing the off-page columns. row_build(): Tighten a debug assertion about null BLOB pointers. row_upd_clust_rec(): Add DEBUG_SYNC points before and after writing off-page columns. Do not reposition the cursor or commit the mini-transaction before writing the off-page columns. rb:939 approved by Jimmy Yang ------------------------------------------------------------ revno: 3097.126.1 committer: kevin.lewis@oracle.com branch nick: mysql-5.5 timestamp: Thu 2012-02-16 12:13:08 -0600 message: Bug#64160, Oracle Bug#13698765 The problem was introduced in 5.5.20 by Bug 13116225. It tried to protect against downgrading from a version 5.6.4 database that was created with a page size other than 16k. Version 5.6.4 supports page sizes 4k and 8k and stamps that page size into the header page of each tablespace file. Version 5.5.20 attempts to read that page size in the file header. But it turns out that only the first system tablespace file has a reliable flags field in the header. So only ibdata1 can be or needs to be tested for another page size. Extra system tablespace files like ibdata2, ibdata3, etc do not and should not be tested since the flags field is unreliable. ------------------------------------------------------------ revno: 3279 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.5-security timestamp: Fri 2012-02-17 11:57:45 +0200 message: merge mysql-5.1-security->mysql-5.5-security ------------------------------------------------------------ revno: 2661.768.61 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.1-security timestamp: Fri 2012-02-17 11:55:06 +0200 message: merge mysql-5.0-security->mysql-5.1-security ------------------------------------------------------------ revno: 1810.4000.43 [merge] tags: clone-5.0.96-build committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.0-security timestamp: Fri 2012-02-17 11:51:14 +0200 message: merged mysql-5.0->mysql-5.0-security ------------------------------------------------------------ revno: 2661.768.60 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.1-security timestamp: Fri 2012-02-17 11:52:41 +0200 message: merge mysql-5.1->mysql-5.1-security ------------------------------------------------------------ revno: 3278 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.5-security timestamp: Fri 2012-02-17 11:55:36 +0200 message: merged mysql-5.5->mysql-5.5-security ------------------------------------------------------------ revno: 3097.116.138 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.5 timestamp: Fri 2012-02-17 09:18:53 +0200 message: Put back a fix that was reverted when reverting the buggy Bug#12612184 fix in revision-id inaam.rana@oracle.com-20110930110219-vnpaqghj9hm0grds (revno 3559). ------------------------------------------------------------ revno: 3097.116.137 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-02-16 15:56:10 +0200 message: Null merge a fix from mysql-5.1. ------------------------------------------------------------ revno: 2661.800.20 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.1 timestamp: Thu 2012-02-16 15:54:16 +0200 message: Fix link error on Windows. error LNK2001: unresolved external symbol _debug_sync_C_callback_ptr ------------------------------------------------------------ revno: 3097.116.136 [merge] committer: Kent Boortz <kent.boortz@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-02-16 12:06:34 +0100 message: Merge ------------------------------------------------------------ revno: 2661.800.19 [merge] committer: Kent Boortz <kent.boortz@oracle.com> branch nick: mysql-5.1 timestamp: Thu 2012-02-16 12:02:53 +0100 message: Merge ------------------------------------------------------------ revno: 3097.116.135 [merge] committer: Kent Boortz <kent.boortz@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-02-16 12:04:44 +0100 message: Merge ------------------------------------------------------------ revno: 3097.125.3 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-02-16 12:28:49 +0200 message: Merge mysql-5.1 to mysql-5.5. ------------------------------------------------------------ revno: 2661.804.4 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.1 timestamp: Thu 2012-02-16 12:24:11 +0200 message: Add instrumentation for Bug#13721257 RACE CONDITION IN UPDATES OR INSERTS OF WIDE RECORDS row_ins_index_entry_low(), row_upd_clust_rec(): Make a redo log checkpoint if a DEBUG flag is set. Add DEBUG_SYNC around btr_store_big_rec_extern_fields(). rb:946 approved by Jimmy Yang ------------------------------------------------------------ revno: 2661.804.3 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.1 timestamp: Thu 2012-02-16 12:20:41 +0200 message: Correct a few copyright messages. ------------------------------------------------------------ revno: 3097.116.134 [merge] committer: MySQL Build Team<mysql-build@oss.oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-02-16 11:44:10 +0100 message: Updated/added copyright headers ------------------------------------------------------------ revno: 2661.800.18 committer: MySQL Build Team<mysql-build@oss.oracle.com> branch nick: mysql-5.1 timestamp: Thu 2012-02-16 11:35:30 +0100 message: Updated/added copyright headers ------------------------------------------------------------ revno: 3097.116.133 [merge] committer: Kent Boortz <kent.boortz@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-02-16 11:43:05 +0100 message: Merge ------------------------------------------------------------ revno: 2661.800.17 [merge] committer: Kent Boortz <kent.boortz@oracle.com> branch nick: mysql-5.1 timestamp: Thu 2012-02-16 11:17:04 +0100 message: Merge ------------------------------------------------------------ revno: 3097.116.132 [merge] committer: Kent Boortz <kent.boortz@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-02-16 11:19:19 +0100 message: Merge ------------------------------------------------------------ revno: 3097.125.2 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.5 timestamp: Wed 2012-02-15 16:37:06 +0200 message: Merge mysql-5.1 to mysql-5.5. ------------------------------------------------------------ revno: 2661.804.2 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.1 timestamp: Wed 2012-02-15 16:28:00 +0200 message: Remove a race condition in innodb_bug53756.test. Before killing the server, tell mysql-test-run that it is to be expected. Discussed with Bjorn Munch on IM. ------------------------------------------------------------ revno: 3097.125.1 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.5 timestamp: Wed 2012-02-15 15:55:31 +0200 message: Merge mysql-5.1 to mysql-5.5. ------------------------------------------------------------ revno: 2661.804.1 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.1 timestamp: Wed 2012-02-15 15:53:29 +0200 message: store_create_info(): Fix a compiler warning about unused variable. ------------------------------------------------------------ revno: 3097.116.131 [merge] committer: MySQL Build Team<mysql-build@oss.oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-02-16 10:48:16 +0100 message: Updated/added copyright headers ------------------------------------------------------------ revno: 2661.800.16 [merge] committer: Kent Boortz <kent.boortz@oracle.com> branch nick: mysql-5.1 timestamp: Wed 2012-02-15 17:21:38 +0100 message: Updated/added copyright headers ------------------------------------------------------------ revno: 1810.4004.10 committer: MySQL Build Team<mysql-build@oss.oracle.com> branch nick: mysql-5.0 timestamp: Wed 2012-02-15 17:13:47 +0100 message: Updated/added copyright headers ------------------------------------------------------------ revno: 3097.116.130 committer: Rohit Kalhans <rohit.kalhans@oracle.com> branch nick: mysql-5.5_bug11758263 timestamp: Mon 2012-02-13 15:37:50 +0530 message: fixing test failure on pb2. ------------------------------------------------------------ revno: 3097.116.129 committer: Rohit Kalhans <rohit.kalhans@oracle.com> branch nick: mysql-5.5_bug11758263 timestamp: Mon 2012-02-13 14:12:13 +0530 message: BUG#11758263: Modification of indentation in the added code. Fixed a typo in the comment. Fixing test cases which were previouslyno throwing due disable warnings macro. ------------------------------------------------------------ revno: 3097.116.128 [merge] committer: Sunny Bains <Sunny.Bains@Oracle.Com> branch nick: 5.5 timestamp: Fri 2012-02-10 14:11:49 +1100 message: Merge from mysql-5.1. ------------------------------------------------------------ revno: 2661.800.15 committer: Sunny Bains <Sunny.Bains@Oracle.Com> branch nick: 5.1 timestamp: Fri 2012-02-10 14:09:12 +1100 message: BUG#12739098 - 62401: ASSERTION TRX->ERROR_STATE == DB_SUCCESS, QUE0QUE.C LINE 1264 ON TRUNCATE During FIC error handling the trx->error_state was not being set to DB_SUCCESS after failure, before attempting the next DDL SQL operation. This reset to DB_SUCCESS is somewhat of a requirement though not explicitly stated anywhere. The fix is to reset it to DB_SUCCESS in row0merge.cc if row_merge_rename_indexes or row_merge_drop_index functions fail, also reset to DB_SUCCESS at trx commit. rb://935 Approved by Jimmy Yang. ------------------------------------------------------------ revno: 3097.116.127 [merge] committer: Sunny Bains <Sunny.Bains@Oracle.Com> branch nick: 5.5 timestamp: Fri 2012-02-10 13:04:10 +1100 message: Merge from mysql-5.1-innodb. ------------------------------------------------------------ revno: 2661.523.386 committer: Sunny Bains <Sunny.Bains@Oracle.Com> branch nick: 5.1 timestamp: Fri 2012-02-10 12:47:42 +1100 message: BUG#12739098 - 62401: ASSERTION TRX->ERROR_STATE == DB_SUCCESS, QUE0QUE.C LINE 1264 ON TRUNCATE During FIC error handling the trx->error_state was not being set to DB_SUCCESS after failure, before attempting the next DDL SQL operation. This reset to DB_SUCCESS is somewhat of a requirement though not explicitly stated anywhere. The fix is to reset it to DB_SUCCESS in row0merge.cc if row_merge_rename_indexes or row_merge_drop_index functions fail, also reset to DB_SUCCESS at trx commit. rb://935 Approved by Jimmy Yang. ------------------------------------------------------------ revno: 3097.116.126 committer: Rohit Kalhans <rohit.kalhans@oracle.com> branch nick: mysql-5.5_b11758263 timestamp: Fri 2012-02-10 01:43:47 +0530 message: Followup patch for bug#11758263. ------------------------------------------------------------ revno: 3097.116.125 committer: Rohit Kalhans <rohit.kalhans@oracle.com> branch nick: mysql-5.5_b11758263 timestamp: Thu 2012-02-09 23:28:33 +0530 message: BUG#11758263 50440: MARK UNORDERED UPDATE WITH AUTOINC UNSAFE Problem: Statements that write to tables with auto_increment columns based on the selection from another table, may lead to master and slave going out of sync, as the order in which the rows are retrieved from the table may differ on master and slave. Solution: We mark writing to a table with auto_increment table based on the rows selected from another table as unsafe. This will cause the execution of such statements to throw a warning and forces the statement to be logged in ROW if the logging format is mixed. Changes: 1. All the statements that writes to a table with auto_increment column(s) based on the rows fetched from another table, will now be unsafe. 2. CREATE TABLE with SELECT will now be unsafe. ------------------------------------------------------------ revno: 3097.116.124 committer: Rohit Kalhans <rohit.kalhans@oracle.com> branch nick: mysql_5.5_rollback timestamp: Wed 2012-02-08 12:10:55 +0530 message: Backout the patch for bug#11758263. ------------------------------------------------------------ revno: 3097.116.123 committer: Rohit Kalhans <rohit.kalhans@oracle.com> branch nick: mysql-5.5_bug11758263 timestamp: Wed 2012-02-08 00:33:08 +0530 message: BUG#11758263 50440: MARK UNORDERED UPDATE WITH AUTOINC UNSAFE Problem: Statements that write to tables with auto_increment columns based on the selection from another table, may lead to master and slave going out of sync, as the order in which the rows are retrived from the table may differ on master and slave. Solution: We mark writing to a table with auto_increment table as unsafe. This will cause the execution of such statements to throw a warning and forces the statement to be logged in ROW if the logging format is mixed. Changes: 1. All the statements that writes to a table with auto_increment column(s) based on the rows fetched from another table, will now be unsafe. 2. CREATE TABLE with SELECT will now be unsafe. ------------------------------------------------------------ revno: 3277 [merge] committer: Joerg Bruehe <joerg.bruehe@oracle.com> branch nick: security-5.5 timestamp: Thu 2012-02-16 16:03:43 +0100 message: Upmerge the AIX compile fix into 5.5. ------------------------------------------------------------ revno: 2661.768.59 [merge] committer: Joerg Bruehe <joerg.bruehe@oracle.com> branch nick: security-5.1 timestamp: Thu 2012-02-16 15:55:53 +0100 message: Merge compile fix for AIX into delivery tree. ------------------------------------------------------------ revno: 2661.803.1 committer: Joerg Bruehe <joerg.bruehe@oracle.com> branch nick: bzero-5.1 timestamp: Thu 2012-01-19 17:05:47 +0100 message: Compile fix needed for AIX, to work around the lack of a bzero() prototype. ------------------------------------------------------------ revno: 3276 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5-security timestamp: Tue 2012-02-14 08:11:28 +0100 message: Bug#13633383 63183: SMALL SORT_BUFFER_SIZE CRASH IN MERGE_BUFFERS This patch is a backport of some of the cleanups/refactorings that were done as part of WL#1393 Optimizing filesort with small limit. ------------------------------------------------------------ revno: 3275 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: B13706828-5.5-security timestamp: Mon 2012-02-13 14:44:54 +0200 message: merge mysql-5.1-security->mysql-5.5-security ------------------------------------------------------------ revno: 2661.768.58 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: B13706828-5.1-security timestamp: Mon 2012-02-13 13:40:12 +0200 message: merge from 5.0-security ------------------------------------------------------------ revno: 1810.4000.42 committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: B13706828-5.0-security timestamp: Fri 2012-02-10 16:33:27 +0200 message: Bug #13706828: UPGRADE YASSL FROM 1.7.2 TO 2.1.4 $SUBJ$ 1. Took a diff between the previous base version and the mysql sources. 2. Added the new 2.1.4 base version. 3. Reviewed and re-applied the diff from step #1. ------------------------------------------------------------ revno: 3274 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: upgrade-yassl-5.5-security timestamp: Fri 2012-02-10 11:51:33 +0200 message: merge ------------------------------------------------------------ revno: 2661.768.57 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: upgrade-yassl-5.1-security timestamp: Fri 2012-02-10 11:49:48 +0200 message: merge ------------------------------------------------------------ revno: 3273 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: upgrade-yassl-5.5-security timestamp: Fri 2012-02-10 11:45:46 +0200 message: merge ------------------------------------------------------------ revno: 3271.1.1 [merge] committer: Martin Hansson <martin.hansson@oracle.com> branch nick: mysql-5.5-security timestamp: Tue 2012-02-07 17:32:04 +0100 message: Merge of fix for Bug#11765810. ------------------------------------------------------------ revno: 2661.802.1 committer: Martin Hansson <martin.hansson@oracle.com> branch nick: mysql-5.1-security timestamp: Tue 2012-02-07 14:16:09 +0100 message: Bug #11765810 58813: SERVER THREAD HANGS WHEN JOIN + WHERE + GROUP BY IS EXECUTED TWICE FROM P This bug is a duplicate of bug 12567331, which was pushed to the optimizer backporting tree on 2011-06-11. This is just a back-port of the fix. Both test cases are included as they differ somewhat. ------------------------------------------------------------ revno: 3272 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: upgrade-yassl-5.5-security timestamp: Fri 2012-02-10 11:41:54 +0200 message: empty merge mysql-5.1-security->mysql-5.5-secruity ------------------------------------------------------------ revno: 2661.768.56 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: upgrade-yassl-5.1-security timestamp: Fri 2012-02-10 11:39:51 +0200 message: empty merge of mysql-5.0-security->mysql-5.1-security ------------------------------------------------------------ revno: 1810.4000.41 committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: upgrade-yassl-5.0-security timestamp: Fri 2012-02-10 11:10:07 +0200 message: Bug#13706621 : UNIFY THE YASSL VERSIONS THAT WE USE BY BACKPORTING 5.1 AND 5.5 YASSL FIXES. Took the 5.5 yassl code and applied it to the 5.0 codebase, keeping the compilation files. ------------------------------------------------------------ revno: 2661.768.55 committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: upgrade-yassl-5.1-security timestamp: Fri 2012-02-10 11:35:36 +0200 message: Bug#13706621 : UNIFY THE YASSL VERSIONS THAT WE USE BY BACKPORTING 5.1 AND 5.5 YASSL FIXES. Took the 5.5 yassl directory and moved it to the 5.1 tree, while preserving the makefiles. ------------------------------------------------------------ revno: 3271 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.5-security timestamp: Mon 2012-02-06 18:37:02 +0200 message: empty weave merge mysql-5.1-security->mysql-5.5-security ------------------------------------------------------------ revno: 2661.768.54 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.1-security timestamp: Mon 2012-02-06 18:26:48 +0200 message: empty weave merge mysql-5.0-security->mysql-5.1-security ------------------------------------------------------------ revno: 1810.4000.40 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.0-security timestamp: Mon 2012-02-06 18:23:41 +0200 message: merged mysql-5.0->mysql-5.0-security ------------------------------------------------------------ revno: 2661.768.53 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.1-security timestamp: Mon 2012-02-06 18:24:51 +0200 message: merged mysql-5.1->mysql-5.1-security ------------------------------------------------------------ revno: 3270 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.5-security timestamp: Mon 2012-02-06 18:26:36 +0200 message: merge mysql-5.5->mysql-5.5-security ------------------------------------------------------------ revno: 3097.116.122 [merge] committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.5 timestamp: Mon 2012-02-06 13:00:41 +0200 message: Merge mysql-5.1 -> mysql-5.5 The actual Bug#11754376 does not exist in MySQL 5.5 because at startup we drop entries for temporary tables from InnoDB dictionary cache (only if ROW_FORMAT is not REDUNDANT). But nevertheless the bug in normalize_table_name_low() is present so we fix it. ------------------------------------------------------------ revno: 2661.800.14 committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-5.1 timestamp: Mon 2012-02-06 12:44:59 +0200 message: Fix Bug#11754376 45976: INNODB LOST FILES FOR TEMPORARY TABLES ON GRACEFUL SHUTDOWN During startup mysql picks up .frm files from the tmpdir directory and tries to drop those tables in the storage engine. The problem is that when tmpdir ends in / then ha_innobase::delete_table() is passed a string like "/var/tmp//#sql123", then it wrongly normalizes it to "/#sql123" and calls row_drop_table_for_mysql() which of course fails to delete the table entry from the InnoDB dictionary cache. ha_innobase::delete_table() returns an error but nevertheless mysql wipes away the .frm file and the entry in the InnoDB dictionary cache remains orphaned with no easy way to remove it. The "no easy" way to remove it is to create a similar temporary table again, copy its .frm file to tmpdir under "#sql123.frm" and restart mysqld with tmpdir=/var/tmp (no trailing slash) - this way mysql will pick the .frm file after restart and will try to issue drop table for "/var/tmp/#sql123" (notice do double slash), ha_innobase::delete_table() will normalize it to "tmp/#sql123" and row_drop_table_for_mysql() will successfully remove the table entry from the dictionary cache. The solution is to fix normalize_table_name_low() to normalize things like "/var/tmp//table" correctly to "tmp/table". This patch also adds a test function which invokes normalize_table_name_low() with various inputs to make sure it works correctly and a mtr test that calls this test function. Reviewed by: Marko (http://bur03.no.oracle.com/rb/r/929/) ------------------------------------------------------------ revno: 3097.116.121 committer: Ashish Agarwal<ashish.y.agarwal@oracle.com> branch nick: mysql-5.5 timestamp: Sun 2012-02-05 14:10:50 +0530 message: BUG#11754145: Failing test cases. Patch to correct the test case. ------------------------------------------------------------ revno: 3097.116.120 committer: Nuno Carvalho <nuno.carvalho@oracle.com> branch nick: mysql-5.5 timestamp: Fri 2012-02-03 14:23:33 +0000 message: BUG#12403008 RPL_HEARTBEAT_BASIC FAILS SPORADICALLY ON PUSHBUILD rpl_heartbeat_basic test fails sporadically on pushbuild because did not received all heartbeats from slave in circular replication. Removed from experimental collection. ------------------------------------------------------------ revno: 3097.116.119 [merge] committer: Ashish Agarwal<ashish.y.agarwal@oracle.com> branch nick: mysql-5.5 timestamp: Fri 2012-02-03 19:41:03 +0530 message: BUG#11748748: Merge from mysql-5.1 to mysql-5.5 ------------------------------------------------------------ revno: 2661.800.13 committer: Ashish Agarwal<ashish.y.agarwal@oracle.com> branch nick: bug_93_5.1 timestamp: Fri 2012-02-03 19:37:00 +0530 message: BUG#11748748 - 37280: CHECK AND REPAIR TABLE REPORT TABLE CORRUPTED WHEN RUN CONCURRENTLY WITH ISSUE: Table corruption due to concurrent queries. Different threads running check, repair query along with insert. Locks not properly acquired in repair query. Rows are inserted inbetween repair query. SOLUTION: Mutex lock is acquired before the repair call. Concurrent queries wont effect the call to repair. ------------------------------------------------------------ revno: 3097.116.118 committer: Ashish Agarwal<ashish.y.agarwal@oracle.com> branch nick: mysql-5.5 timestamp: Fri 2012-02-03 19:19:32 +0530 message: BUG#11754145: One of the test was failing. Patch to fix the test ------------------------------------------------------------ revno: 3097.116.117 committer: Ashish Agarwal<ashish.y.agarwal@oracle.com> branch nick: bug_4145 timestamp: Thu 2012-02-02 18:17:14 +0530 message: BUG#11754145 - 45702: IMPOSSIBE TO SPECIFY MYISAM_SORT_BUFFER > 4GB ON 64 BIT MACHINES PROBLEM: When sorting index during repair of myisam tables, due to improper casting of buffer size variables value of myisam_ sort_buffer_size is not set greater than 4GB. SOLUTION: Proper casting of buffer size variable. myisam_buffer_size changed to unsigned long long to handle size > 4GB on linux as well as windows. ------------------------------------------------------------ revno: 3097.116.116 [merge] committer: Alexander Barkov <alexander.barkov@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-02-02 16:25:48 +0400 message: Merging from 5.1 ------------------------------------------------------------ revno: 2661.800.12 committer: Alexander Barkov <alexander.barkov@oracle.com> branch nick: mysql-5.1 timestamp: Thu 2012-02-02 16:22:13 +0400 message: Postfix for Bug#11752408. Recording correct test results. modified: mysql-test/suite/engines/funcs/r/db_alter_collate_ascii.result mysql-test/suite/engines/funcs/r/db_alter_collate_utf8.result ------------------------------------------------------------ revno: 3097.116.115 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-02-02 13:54:27 +0200 message: ha_innobase::records_in_range(): Remove a debug assertion that prohibits an open range (full table). This assertion catches unnecessary calls to this method, but such calls are not harming correctness. ------------------------------------------------------------ revno: 3097.116.114 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-02-02 13:50:54 +0200 message: Merge mysql-5.1 to mysql-5.5. ------------------------------------------------------------ revno: 2661.800.11 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.1 timestamp: Thu 2012-02-02 13:38:32 +0200 message: Bug#13654923 BOGUS DEBUG ASSERTION IN INDEX CREATION FOR ZERO-LENGTH RECORD row_merge_buf_write(): Relax the bogus assertion. ------------------------------------------------------------ revno: 3097.116.113 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-02-02 12:31:57 +0200 message: Bug #13651627 Move ut_ad(0) from the beginning to the end of buf_page_print(), print page dump buf_page_print(): Remove the ut_ad(0) from the beginning. Add two flags (enum buf_page_print_flags) that can be bitwise-ORed together: BUF_PAGE_PRINT_NO_CRASH: Do not crash debug builds at the end of buf_page_print(). BUF_PAGE_PRINT_NO_FULL: Do not print the full page dump. This can be useful when adding diagnostic printout to flushing or to the doublewrite buffer. trx_sys_doublewrite_init_or_restore_page(): Replace exit(1) with ut_error, so that we can get a core dump if this extraordinary condition happens. rb:924 approved by Sunny Bains ------------------------------------------------------------ revno: 3097.116.112 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-02-02 12:13:35 +0200 message: Merge mysql-5.1 to mysql-5.5. ------------------------------------------------------------ revno: 2661.800.10 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.1 timestamp: Thu 2012-02-02 12:07:06 +0200 message: Suppress messages about long semaphore waits in innodb_bug34300.test. ------------------------------------------------------------ revno: 3097.116.111 [merge] committer: Ashish Agarwal<ashish.y.agarwal@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-02-02 14:25:43 +0530 message: BUG#11756869: Merge from mysql-5.1 to mysql-5.5 ------------------------------------------------------------ revno: 2661.800.9 [merge] committer: Ashish Agarwal<ashish.y.agarwal@oracle.com> branch nick: mysql-5.1 timestamp: Thu 2012-02-02 14:19:38 +0530 message: BUG#11756869 - 48848: MYISAMCHK DOING SORT RECOVER IN CERTAIN CASES RESETS DATA POINTER TO SMAL ISSUE: Myisamchk doing sort recover on a table reduces data_file_length. Maximum size of data file decreases, lesser number of rows are stored. SOLUTION: Size of data_file_length is fixed to the original length. ------------------------------------------------------------ revno: 2661.801.1 committer: Ashish Agarwal<ashish.y.agarwal@oracle.com> branch nick: bug_869_1 timestamp: Wed 2012-02-01 11:19:53 +0530 message: BUG#11756869 - 48848: MYISAMCHK DOING SORT RECOVER IN CERTAIN CASES RESETS DATA POINTER TO SMAL ISSUE: Myisamchk doing sort recover on a table reduces data_file_length. Maximum size of data file decreases, lesser number of rows are stored. SOLUTION: Size of data_file_length is fixed to the original length. ------------------------------------------------------------ revno: 3097.116.110 [merge] committer: Andrei Elkin <andrei.elkin@oracle.com> branch nick: 5.5-bug3593869-64035-MYSQL_BINLOG_SEND-CRASH timestamp: Tue 2012-01-31 17:16:25 +0200 message: merge from 5.5 repo. ------------------------------------------------------------ revno: 3097.123.8 committer: Inaam Rana <inaam.rana@oracle.com> branch nick: mysql-5.5 timestamp: Tue 2012-01-31 09:50:17 -0500 message: bug#13636122: mysql-5.1 => mysql-5.5 ------------------------------------------------------------ revno: 3097.123.7 [merge] committer: Inaam Rana <inaam.rana@oracle.com> branch nick: mysql-5.5 timestamp: Tue 2012-01-31 09:36:28 -0500 message: NULL merge from mysql-5.1 ------------------------------------------------------------ revno: 2661.800.8 committer: Inaam Rana <inaam.rana@oracle.com> branch nick: mysql-5.1 timestamp: Tue 2012-01-31 09:31:31 -0500 message: Bug#13636122 THE ORIGINAL TABLE MISSING WHILE EXECUTE THE DDL 'ALTER TABLE ADD COLUMN rb://914 approved by: Marko Makela Poll in fil_rename_tablespace() after setting ::stop_ios flag can result in a hang because the other thread actually dispatching the IO won't wake IO helper threads or flush the tablespace before starting wait in fil_mutex_enter_and_prepare_for_io(). ------------------------------------------------------------ revno: 3097.116.109 [merge] committer: Andrei Elkin <andrei.elkin@oracle.com> branch nick: 5.5-bug3593869-64035-MYSQL_BINLOG_SEND-CRASH timestamp: Tue 2012-01-31 17:07:44 +0200 message: merge from 5.5 repo. ------------------------------------------------------------ revno: 3097.123.6 [merge] committer: sayantan.dutta@oracle.com branch nick: mysql-5.5 timestamp: Tue 2012-01-31 17:46:45 +0530 message: Undo last push ------------------------------------------------------------ revno: 2661.800.7 committer: sayantan.dutta@oracle.com branch nick: mysql-5.1 timestamp: Tue 2012-01-31 17:39:40 +0530 message: (no message) ------------------------------------------------------------ revno: 3097.123.5 [merge] committer: sayantan.dutta@oracle.com branch nick: mysql-5.5 timestamp: Tue 2012-01-31 17:20:56 +0530 message: merge #64127 5.1 => 5.5 ------------------------------------------------------------ revno: 2661.800.6 committer: sayantan.dutta@oracle.com branch nick: mysql-5.1 timestamp: Tue 2012-01-31 17:09:32 +0530 message: Bug #64127: MTR --warnings option misses some of InnoDB errors and warnings ------------------------------------------------------------ revno: 3097.123.4 [merge] committer: Ramil Kalimullin <ramil@mysql.com> branch nick: mysql-5.5 timestamp: Tue 2012-01-31 11:00:31 +0400 message: Auto-merge from mysql-5.1. ------------------------------------------------------------ revno: 2661.800.5 [merge] committer: Ramil Kalimullin <ramil@mysql.com> branch nick: mysql-5.1 timestamp: Tue 2012-01-31 10:57:12 +0400 message: Null-merge from mysql-5.0. ------------------------------------------------------------ revno: 1810.4004.9 committer: Ramil Kalimullin <ramil@mysql.com> branch nick: mysql-5.0 timestamp: Mon 2012-01-30 22:52:33 +0400 message: Fix for BUG#13596377: MYSQL CRASHES ON STARTUP ON FREEBSD IN PB2 Fix for #36428/#38364 backported into 5.0. ------------------------------------------------------------ revno: 3097.123.3 author: hery.ramilison@oracle committer: Build Team <MYSQL-RE_WW@oracle.com> branch nick: mysql-5.5 timestamp: Mon 2012-01-30 18:33:55 +0100 message: starting 5.5.21 build ------------------------------------------------------------ revno: 3097.123.2 [merge] tags: clone-5.5.21-build, mysql-5.5.21 committer: chuck.bell@oracle.com branch nick: mysql-12969301 timestamp: Mon 2012-01-30 10:23:21 -0500 message: Merge with main for BUG#12969301 ------------------------------------------------------------ revno: 3097.124.24 committer: Inaam Rana <inaam.rana@oracle.com> branch nick: mysql-5.5 timestamp: Mon 2012-01-30 09:24:09 -0500 message: Bug#11836233 MISLEADING SUGGESTION REGARDING LINUX NATIVE AIO IN INNODB ERROR LOG Fixed error meesage ------------------------------------------------------------ revno: 3097.124.23 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5 timestamp: Mon 2012-01-30 10:08:22 +0100 message: Bug#13604121 - LIBMYSQLCIENT.SO MISSING SOME FUNCTIONS PRESENT IN LIBMYSQLCLIENT.A +get_tty_password this is the only external symbol in get_password.c, which is explicitly listed in CLIENT_SOURCES +handle_options this is in mysys/my_getopt.c adding this sysmbol pulls in the other externals: T getopt_compare_strings T getopt_double_limit_value T getopt_ll_limit_value T getopt_ull_limit_value T handle_options T my_cleanup_options T my_getopt_register_get_addr T my_print_help T my_print_variables ------------------------------------------------------------ revno: 3097.124.22 committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com> branch nick: mysql-5.5 timestamp: Fri 2012-01-27 13:07:24 +0900 message: Fix for build break introduced at rev 3711 asked by Calvin ------------------------------------------------------------ revno: 3097.124.21 committer: Jorgen Loland <jorgen.loland@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-01-26 13:30:11 +0100 message: BUG 13413535 followup: Fix gcc warning ------------------------------------------------------------ revno: 3097.124.20 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-01-26 13:24:00 +0200 message: Bug #13413535 61104: INNODB: FAILING ASSERTION: PAGE_GET_N_RECS(PAGE) > 1 This fix does not remove the underlying cause of the assertion failure. It just works around the problem, allowing a corrupted secondary index to be fixed by DROP INDEX and CREATE INDEX (or in the worst case, by re-creating the table). ibuf_delete(): If the record to be purged is the last one in the page or it is not delete-marked, refuse to purge it. Instead, write an error message to the error log and let a debug assertion fail. ibuf_set_del_mark(): If the record to be delete-marked is not found, display some more information in the error log and let a debug assertion fail. row_undo_mod_del_unmark_sec_and_undo_update(), row_upd_sec_index_entry(): Let a debug assertion fail when the record to be delete-marked is not found. buf_page_print(): Add ut_ad(0) so that corruption will be more prominent in stress testing with debug binaries. Add ut_ad(0) here and there where corruption is noticed. btr_corruption_report(): Display some data on page_is_comp() mismatch. btr_assert_not_corrupted(): A wrapper around btr_corruption_report(). Assert that page_is_comp() agrees with the table flags. rb:911 approved by Inaam Rana ------------------------------------------------------------ revno: 3097.124.19 [merge] committer: Guilhem Bichot <guilhem.bichot@oracle.com> branch nick: mysql-5.5-2 timestamp: Thu 2012-01-26 10:38:28 +0100 message: merge from 5.1 ------------------------------------------------------------ revno: 2661.800.4 committer: Guilhem Bichot <guilhem.bichot@oracle.com> branch nick: mysql-5.1 timestamp: Thu 2012-01-26 10:25:23 +0100 message: Fixes for: BUG#13519696 - 62940: SELECT RESULTS VARY WITH VERSION AND WITH/WITHOUT INDEX RANGE SCAN BUG#13453382 - REGRESSION SINCE 5.1.39, RANGE OPTIMIZER WRONG RESULTS WITH DECIMAL CONVERSION BUG#13463488 - 63437: CHAR & BETWEEN WITH INDEX RETURNS WRONG RESULT AFTER MYSQL 5.1. Those are all cases where the range optimizer got it wrong with > and >=. ------------------------------------------------------------ revno: 3097.124.18 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5 timestamp: Thu 2012-01-26 08:00:37 +0100 message: Bug#11753187 post-push fix: fix .result file ------------------------------------------------------------ revno: 3097.124.17 committer: Nuno Carvalho <nuno.carvalho@oracle.com> branch nick: mysql-5.5 timestamp: Wed 2012-01-25 18:05:10 +0000 message: BUG#12403008 RPL_HEARTBEAT_BASIC FAILS SPORADICALLY ON PUSHBUILD rpl_heartbeat_basic test fails sporadically on pushbuild because did not received all heartbeats from slave in circular replication. MASTER_HEARTBEAT_PERIOD had the default value (slave_net_timeout/2) so wait on "Heartbeat event received on master", that only waits for 1 minute, sometimes timeout before heartbeat arrives. Fixed setting a smaller period value. ------------------------------------------------------------ revno: 3097.124.16 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5-merge timestamp: Wed 2012-01-25 16:11:03 +0100 message: Bug#13359121 LARGE NUMBERS, /STRINGS/DTOA.C:662 Bug#12985021 SIMPLE QUERY WITH DECIMAL NUMBERS TAKE AN When parsing the fractional part of a string which is to be converted to double, we can stop after a few digits: the extra digits will not contribute to the actual result anyways. ------------------------------------------------------------ revno: 3097.124.15 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5 timestamp: Wed 2012-01-25 16:05:27 +0100 message: Bug#13463415 followup: compensate for compiler bug ------------------------------------------------------------ revno: 3097.124.14 committer: Tor Didriksen <tor.didriksen@oracle.com> branch nick: 5.5-bug13463415decimal timestamp: Wed 2012-01-25 10:36:25 +0100 message: Bug#13463415 63502: INCORRECT RESULTS OF BIGINT AND DECIMAL COMPARISON Bug#11758543 50756: BIGINT '100' MATCHES 1.001E2 Expressions of the form BIGINT_COL <compare> <non-integer constant> should be done either as decimal, or float. Currently however, such comparisons are done as int, which means that the constant may be truncated, and yield false positives/negatives for all queries where compare is '>' '<' '>=' '<=' '=' '!='. BIGINT_COL IN <list of contstants> and BIGINT_COL BETWEEN <constant> AND <constant> are also affected. ------------------------------------------------------------ revno: 3097.124.13 committer: Dmitry Shulga <Dmitry.Shulga@oracle.com> branch nick: mysql-5.5-bug11753187 timestamp: Wed 2012-01-25 15:59:30 +0600 message: Fixed bug#11753187 (formerly known as bug 44585): SP_CACHE BEHAVES AS MEMORY LEAK. Background: - There are caches for stored functions and stored procedures (SP-cache); - There is no similar cache for events; - Triggers are cached together with TABLE objects; - Those SP-caches are per-session (i.e. specific to each session); - A stored routine is represented by a sp_head-instance internally; - SP-cache basically contains sp_head-objects of stored routines, which have been executed in a session; - sp_head-object is added into the SP-cache before the corresponding stored routine is executed; - SP-cache is flushed in the end of the session. The problem was that SP-cache might grow without any limit. Although this was not a pure memory leak (the SP-cache is flushed when session is closed), this is still a problem, because the user might take much memory by executing many stored routines. The patch fixes this problem in the least-intrusive way. A soft limit (similar to the size of table definition cache) is introduced. To represent such limit the new runtime configuration parameter 'stored_program_cache' is introduced. The value of this parameter is stored in the new global variable stored_program_cache_size that used to control the size of SP-cache to overflow. The parameter 'stored_program_cache' limits number of cached routines for each thread. It has the following min/default/max values given from support: min = 256, default = 256, max = 512 * 1024. Also it should be noted that this parameter limits the size of each cache (for stored procedures and for stored functions) separately. The SP-cache size is checked after top-level statement is parsed. If SP-cache size exceeds the limit specified by parameter 'stored_program_cache' then SP-cache is flushed and memory allocated for cache objects is freed. Such approach allows to flush cache safely when there are dependencies among stored routines. ------------------------------------------------------------ revno: 3097.124.12 [merge] committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.5 timestamp: Wed 2012-01-25 10:18:14 +0200 message: Merge mysql-5.1 to mysql-5.5. ------------------------------------------------------------ revno: 2661.800.3 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: mysql-5.1 timestamp: Wed 2012-01-25 10:15:27 +0200 message: btr_cur_search_to_nth_level(): Add a debug assertion and some Valgrind instrumentation. ------------------------------------------------------------ revno: 3097.124.11 [merge] committer: Alexander Barkov <alexander.barkov@oracle.com> branch nick: mysql-5.5.b13458237 timestamp: Tue 2012-01-24 16:09:25 +0400 message: Merging from mysql-5.5 ------------------------------------------------------------ revno: 2661.800.2 [merge] committer: Alexander Barkov <alexander.barkov@oracle.com> branch nick: mysql-5.1.b13458237 timestamp: Tue 2012-01-24 16:02:12 +0400 message: Merging from mysql-5.1 ------------------------------------------------------------ revno: 3097.124.10 [merge] committer: Alexander Barkov <alexander.barkov@oracle.com> branch nick: mysql-5.5.b13458237 timestamp: Tue 2012-01-24 13:24:05 +0400 message: Merging BUG#13458237 from 5.1. ------------------------------------------------------------ revno: 2661.800.1 committer: Alexander Barkov <alexander.barkov@oracle.com> branch nick: mysql-5.1.b13458237 timestamp: Tue 2012-01-24 13:00:13 +0400 message: BUG#13458237 - INCONSISTENT HANDLING OF INVALIDE DATES WITH ZERO DAY. SIMILAR TO '2009-10-00' - Reverting the patch for Bug # 12584302 The patch will be reverted in 5.1 and 5.5. The patch will not be reverted in 5.6, the change will be properly documented in 5.6. - Backporting DBUG_ASSERT not to crash on '0000-01-00' (already fixed in mysql-trunk (5.6)) ------------------------------------------------------------ revno: 3097.124.9 committer: Nuno Carvalho <nuno.carvalho@oracle.com> branch nick: mysql-5.5 timestamp: Mon 2012-01-23 16:50:54 +0000 message: BUG#12364404 - UNDETERMINISTIC WAIT LOOP IN WAIT_FOR_NDB_TO_BINLOG.INC The wait_for_ndb_to_binlog.inc include file used by the blow rpl_tests common for rpl and rpl_ndb suite is simply doing a "sleep 5", this is not deterministic and wastes lot of test time uneccessarily. The test should be rewritten to check if the condition it wait for has been reached or not. For NDB engine all events will be added by NDB injector so tests only can continue after injector is ready, this test waits for proper injector thread state. ------------------------------------------------------------ revno: 3097.124.8 committer: Manish Kumar<manish.4.kumar@oracle.com> branch nick: mysql-5.5 timestamp: Mon 2012-01-23 17:39:37 +0530 message: BUG#11752315 - 43460: STOP SLAVE UNABLE TO COMPLETE WHEN SLAVE THREAD IS TRYING TO RECONNECT TO Problem : The basic problem is the way the thread sleeps in mysql-5.5 and also in mysql-5.1 when we execute a stop slave on windows platform. On windows platform if the stop slave is executed after the master dies, we have this long wait before the stop slave return a value. This is because there is a sleep of the thread. The sleep is uninterruptable in the two above version, which was fixed by Davi patch for the BUG#11765860 for mysql-trunk. Backporting his patch for mysql-5.5 fixes the problem. Solution : A new pair of mutex and condition variable is introduced to synchronize thread sleep and finalization. A new mutex is required because the slave threads are terminated while holding the slave thread locks (run_lock), which can not be relinquished during termination as this would affect the lock order. ------------------------------------------------------------ revno: 3097.124.7 [merge] committer: Alexander Barkov <alexander.barkov@oracle.com> branch nick: mysql-5.5.b11752408v2 timestamp: Mon 2012-01-23 13:23:50 +0400 message: Merging Bug#11752408 from mysql-5.1 ------------------------------------------------------------ revno: 2661.798.22 committer: Alexander Barkov <alexander.barkov@oracle.com> branch nick: mysql-5.1.b11752408 timestamp: Mon 2012-01-23 13:07:10 +0400 message: Bug#11752408 - 43593: DUMP/BACKUP/RESTORE/UPGRADE TOOLS FAILS BECAUSE OF UTF8_GENERAL_CI Introducing new collations: utf8_general_mysql500_ci and ucs2_general_mysql500_ci, to reproduce behaviour of utf8_general_ci and ucs2_general_ci from mysql-5.1.23 (and earlier). The collations are added to simplify upgrade from mysql-5.1.23 and earlier. Note: The patch does not make new server start over old data automatically. Some manual upgrade procedures are assumed. Paul: please get in touch with me to discuss upgrade procedures when documenting this bug. modified: include/m_ctype.h mysql-test/r/ctype_utf8.result mysql-test/t/ctype_utf8.test mysys/charset-def.c strings/ctype-ucs2.c strings/ctype-utf8.c ------------------------------------------------------------ revno: 3097.124.6 committer: Inaam Rana <inaam.rana@oracle.com> branch nick: mysql-5.5 timestamp: Fri 2012-01-20 10:47:01 -0500 message: Bug#13612811 VALGRIND ERROR IN OS_AIO_INIT Fix valgrind warning introduced by fix for bug 11765450. ------------------------------------------------------------ revno: 3097.124.5 committer: Mattias Jonsson <mattias.jonsson@oracle.com> branch nick: topush-5.5 timestamp: Fri 2012-01-20 14:19:39 +0100 message: Bug#13500478 63623: TEST CASE PARTITION_BINLOG_STMT CREATES A FILE IN AN IMPROPER LOCATION. Fixed by using $MYSQLTEST_VARDIR, as proposed by Davi Arnaut. Thank you Davi! ------------------------------------------------------------ revno: 3097.124.4 committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: fix-5.5 timestamp: Fri 2012-01-20 13:35:48 +0200 message: Addendum to the fix for bug #11754014 - Fixed the checks to properly check for plugin_dir containing a trailing slash or backslash. - Fixed a under-configuration in udf_skip_grants that was preventing the test from running even when there was a udf plugin. ------------------------------------------------------------ revno: 3097.124.3 committer: Dmitry Shulga <Dmitry.Shulga@oracle.com> branch nick: mysql-5.5-bug13070308 timestamp: Fri 2012-01-20 16:03:39 +0600 message: Patch for bug#13070308 - VALGRIND failure in XA test. The issue is that xa.test failed sporadically on some platforms. The reason for the test failure is a race condition in xa.test. The race condition occures between connection that executes statement INSERT INTO t2 SELECT FROM t1 and other connection that tries to run statements DELETE FROM t1 and COMMIT. If COMMIT statement had been executed before the statement INSERT INTO t2 SELECT FROM t1 was locked by lock on table t1 (as a result of query from table t1) then the INSERT statement is executed successfully and a following test for deadlock would failed. This patch fixes this race condition by moving COMMIT statement after commit of distributed transaction from concurrent session. ------------------------------------------------------------ revno: 3097.124.2 committer: Nuno Carvalho <nuno.carvalho@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-01-19 16:56:43 +0000 message: BUG#13050593 - BACKSLASH SWALLOWED BY INCLUDE/SHOW_SLAVE_STATUS.INC If an error message contains '\' backslash it is displayed correctly through show-slave-status or query_get_value(SHOW SLAVE STATUS, Last_IO_Error, 1);. But when SELECT REPLACE(...) is applied backslash is escaped resulting in a different test output. Disabled backslash escape on show_slave_status.inc and replaced '\' for '/' using replace_regex function in order to achieve the same test output when different path separators are used. ------------------------------------------------------------ revno: 3097.124.1 committer: Inaam Rana <inaam.rana@oracle.com> branch nick: mysql-5.5 timestamp: Thu 2012-01-19 09:10:30 -0500 message: Bug#11765450 58421: INNODB TEMPORARY TABLE CRASH WHEN TMPDIR ON LINUX TMPFS rb://898 approved by: Marko Makela On some kernel versions native aio operations are not supported on tmpfs. Check this during start up and fall back to simulated aio. |