summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Patch to fix stdint.h missing from pre Solaris 10 versions.Karen Langford2011-10-292-0/+12
|
* Patch to fix libedit vis.h problem (OSX/FreeBSD)Karen Langford2011-10-283-9/+9
|
* Revert revno:3452.71.32 (Bug#12612184 fix).Marko Mäkelä2011-10-2625-597/+192
| | | | | | Bug#12612184 RACE CONDITION AFTER BTR_CUR_PESSIMISTIC_UPDATE() The fix introduced potentially more severe crash recovery problems than the bug causes. Revert the fix for now.
* Revert most of revno 3560.9.1 (Bug#12704861)Marko Mäkelä2011-10-2629-973/+447
| | | | | This was an attempt to address problems with the Bug#12612184 fix. Even with this follow-up fix, crash recovery can be broken. Let us fix the bug later.
* Copy and adapt innodb_misc1.test from innodb to innodb_plugin.Marko Mäkelä2011-10-263-0/+2061
|
* Fix results after Bug#12661768 fix.Marko Mäkelä2011-10-261-1/+1
|
* Fix results after Bug#12661768 fix.Marko Mäkelä2011-10-251-1/+1
|
* Bug#13002783 PARTIALLY UNINITIALIZED CASCADE UPDATE VECTORMarko Mäkelä2011-10-259-24/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | In the ON UPDATE CASCADE clause of FOREIGN KEY constraints, the calculated update vector was not fully initialized. This bug was introduced in the InnoDB Plugin when implementing support for ROW_FORMAT=DYNAMIC. Additionally, the data type information was not initialized, but apparently it has never been needed in this case. Nevertheless, it is not good programming practice to pass uninitialized values around. calc_row_difference(): Declare the update field uninitialized in Valgrind. Copy the data type information as well, except when the field is SQL NULL. In the built-in InnoDB, initialize ufield->extern_storage = FALSE (an initialization bug that had gone unnoticed this far). The InnoDB Plugin and later have this flag to dfield_t and have always initialized it properly. row_ins_cascade_calc_update_vec(): Reduce the scope of some pointers. Initialize orig_len. (This caused the bug in InnoDB Plugin and later.) row_ins_foreign_check_on_constraint(): Simplify a condition. Declare the update vector uninitialized. rb:771 approved by Jimmy Yang
* Fix Bug#12661768 UPDATE IGNORE CRASHES SERVER IF TABLE IS INNODB AND IT ISVasil Dimov2011-10-253-1/+59
| | | | | | | | | | | | | | | PARENT FOR OTHER ONE Do not try to lookup key_nr'th key in 'table' because there may not be such a key there. key_nr is the number of the key in the _child_ table name, not in the parent table. Instead just print the fields of the record that are covered by the first key defined on the parent table. This bug gets a better fix in MySQL 5.6, which is too risky for 5.1 and 5.5. Approved by: Jon Olav Hauglid (via IM)
* Auto-merge from mysql-5.1.Alexander Nozdrin2011-10-2474-3427/+5711
|\
| * WL#5945 - Improve libedit libraryNirbhay Choubey2011-10-242-3/+3
| | | | | | | | | | Fixed a misplaced parenthesis, injected due to syncing from libedit CVS head.
| * Bug#13106585 PUSH FOR "WL#5945 : IMPROVE LIBEDIT LIBRARY"Nirbhay Choubey2011-10-216-22/+19
| | | | | | | | | | | | | | | | | | | | BREAKS SOURCE RELEASE BUILD Some of the required files were not getting copied while performing 'make dist' and hence the build failed for the created distribution source. Added the missing files to Makefile.am.
| * Merge.Sergey Vojtovich2011-10-214-5/+58
| |\
| | * BUG#11757032 - 49030: OPTIMIZE TABLE BREAKS MYISAM TABLE WHENSergey Vojtovich2011-10-204-5/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | USING MYISAM_USE_MMAP ON WINDOWS When OPTIMIZE/REPAIR TABLE is switching to new data file, old data file is removed while memory mapping is still active. With 5.1 implementation of nt_share_delete() it is not permitted to remove mmaped file. This fix disables memory mapping for mi_repair() operations.
| * | Bug#13116045 Compilation failure using GCC 4.6.1 in btr/btr0cur.cMarko Mäkelä2011-10-213-26/+15
| | | | | | | | | | | | | | | | | | btr_record_not_null_field_in_rec(): Remove the parameter rec. Use rec_offs_nth_sql_null() instead of rec_get_nth_field(). rb:788 approved by Jimmy Yang
| * | Remove copyright header from parser_stack.testBjorn Munch2011-10-191-15/+0
| |/
| * Bug#13102538 : COMPILE ERROR ON SOLARIS WHEN COMPILINGNirbhay Choubey2011-10-185-5/+0
| | | | | | | | | | | | | | | | | | | | | | WITH LIBEDIT Libedit won't build on platforms that do not provide "sys/cdefs.h". Removed the inclusion of cdefs.h from all files other that sys.h, which includes this file only when the header is found while configuring.
| * WL#5945 : Improve libedit libraryNirbhay Choubey2011-10-1452-2994/+5373
| | | | | | | | Updated libedit library.
| * Bug#13006367 62487: innodb takes 3 minutes to clean up the adaptiveMarko Mäkelä2011-10-1217-386/+272
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hash index at shutdown btr_search_disable(): Just drop the entire adaptive hash index, without dropping every record separately. buf_pool_clear_hash_index(): Renamed and simplified from buf_pool_drop_hash_index(). Set block->index = NULL for every block in the buffer pool. Do not release the btr_search_latch. The caller will have to adjust other data structures. Remove block->is_hashed. It is redundant, should be always equal to block->index != NULL. Remove btr_search_fully_disabled, btr_search_enabled_mutex, and SYNC_SEARCH_SYS_CONF. We drop the AHI in one pass, without releasing the btr_search_latch in between. Replace void* with const rec_t* and add assertions on btr_search_latch and btr_search_enabled to ha0ha.h, ha0ha.ic, ha0ha.c. page_set_max_trx_id(): Ignore the adaptive hash index. I forgot to push this in rb:750. btr0sea.c: Always after acquiring btr_search_latch, check for block->index==NULL or !btr_search_enabled. We can now set block->index=NULL while only holding btr_search_latch in exclusive mode. Always acquire btr_search_latch before reading block->index, except in shortcuts when testing for block->index == NULL. ha_clear(), ha_search(): Unused function, remove. buf_page_peek_if_search_hashed(): Remove. This function may avoid latching a page at the cost of doing a duplicate buf_pool->page_hash lookup. rb:775 approved by Inaam Rana
* | Fix Windows-build failure: use my_snprintf() instead of snprintf().Alexander Nozdrin2011-10-201-3/+3
| |
* | Bug12589870 post-merge fixes for Sparc64 and friendsTatjana Azundris Nuernberg2011-10-193-5/+8
| |
* | merge 5.0-security => 5.1 securityTor Didriksen2011-10-144-8/+108
|\ \
| * | Bug#12563865 ROUNDED,TMP_BUF,DECIMAL_VALUE STACK CORRUPTION IN ALL VERSIONS ↵Tor Didriksen2011-10-144-8/+108
| | | | | | | | | | | | | | | | | | | | | | | | >=5.0 Buffer over-run on all platforms, crash on windows, wrong result on other platforms, when rounding numbers which start with 999999999 and have precision = 9 or 18 or 27 or 36 ...
* | | empty weave merge mysql-5.0-security->mysql-5.1-securityGeorgi Kodinov2011-10-120-0/+0
|\ \ \ | |/ /
| * | auto-merge mysql-5.0->mysql-5.0-securityGeorgi Kodinov2011-10-1213-91/+85
| |\ \
* | \ \ auto-merge mysql-5.1->mysql-5.1-securityGeorgi Kodinov2011-10-12166-1009/+2625
|\ \ \ \ | | |_|/ | |/| |
| * | | bug#11766457 - adjusting/modifying the the tests as tests were failing if ↵Vinay Fisrekar2011-10-1232-11/+96
| | | | | | | | | | | | | | | | system time zone is set differently.
| * | | merge 5.1-mtr => 5.1Bjorn Munch2011-10-0520-70/+9
| |\ \ \
| | * | | backporting 11766169, fixing 13034450Bjorn Munch2011-10-031-2/+5
| | | | |
| | * | | Bug #12844282 62075: MTR TESTS SHOULD NOT HAVE TO SAVE & RESET ↵Bjorn Munch2011-09-2719-68/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | INNODB_FILE_FORMAT_CHECK Added 'innodb_file_format_check' as variable to ignore change to. Tests that had to restore this amended Two tests assumed it to be Antelope, make sure these run on a freshly started server For 5.5, apparently innodb_file_format_max is the one to ignore
| * | | | automergeSergey Glukhov2011-10-054-0/+8
| |\ \ \ \
| | * | | | Add InnoDB UNIV_SYNC_DEBUG assertions to rw-lock code.Marko Mäkelä2011-10-054-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rw_lock_x_lock_func(): Assert that the thread is not already holding the lock in a conflicting mode (RW_LOCK_SHARED). rw_lock_s_lock_func(): Assert that the thread is not already holding the lock in a conflicting mode (RW_LOCK_EX).
| * | | | | Bug#11747970 34660: CRASH WHEN FEDERATED TABLE LOSES CONNECTION DURING ↵Sergey Glukhov2011-10-055-3/+48
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | INSERT ... SELECT Problematic query: insert ignore into `t1_federated` (`c1`) select `c1` from `t1_local` a where not exists (select 1 from `t1_federated` b where a.c1 = b.c1); When this query is killed in another connection it could lead to crash. The problem is follwing: An attempt to obtain table statistics for subselect table in killed query fails with an error. So JOIN::optimize() for subquery is failed but it does not prevent further subquery evaluation. At the first subquery execution JOIN::optimize() is called (see subselect_single_select_engine::exec()) and fails with an error. 'executed' flag is set to TRUE and it prevents further subquery evaluation. At the second call JOIN::optimize() does not happen as 'JOIN::optimized' is TRUE and in case of uncacheable subquery the 'executed' flag is set to FALSE before subquery evaluation. So we loose 'optimize stage' error indication (see subselect_single_select_engine::exec()). In other words 'executed' flag is used for two purposes, for error indication at JOIN::optimize() stage and for an indication of subquery execution. And it seems it's wrong as the flag could be reset.
| * | | | Correct the ChangeLogMarko Mäkelä2011-10-041-3/+4
| | | | |
| * | | | Merge to current mysql-5.1kevin.lewis@oracle.com2011-10-041-22/+51
| |\ \ \ \
| | * \ \ \ Merge to main.Joerg Bruehe2011-10-041-22/+51
| | |\ \ \ \
| | | * | | | Fix bug#11886309: RPM UPGRADE OF MYSQL ADVANCED GPL TO MYSQL SERVER ADVANCED ↵Joerg Bruehe2011-10-041-22/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DOES NOT WORK Change the RPM spec file so that each RPM "obsoletes" the corresponding RPMs of all (other) configurations, so a "server" RPM of any configuration can replace the "server" RPM of any other configuration on a "rpm -U".
| * | | | | | Bug#12980094 and Bug#13034534kevin.lewis@oracle.com2011-10-045-5/+20
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug 12980094 - ASSERTION IN INNODB DETECTED IN RQG_PARTITION_DDL Bug 13034534 - RQG TESTS FAIL ON WINDOWS WITH CRASH NEAR RW_LOCK_DEBUG_PRINT All access to struct rw_lock_debug_struct must be protected by rw_lock_debug_mutex_enter().
| * | | | | BUG#11758062 - 50206: ER_TOO_BIG_SELECT REFERS TO OUTMODED Raghav Kapoor2011-09-286-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SYSTEM VARIABLE NAME SQL_MAX_JOIN_SI BACKGROUND: ER_TOO_BIG_SELECT refers to SQL_MAX_JOIN_SIZE, which is the old name for MAX_JOIN_SIZE. FIX: Support for old name SQL_MAX_JOIN_SIZE is removed in MySQL 5.6 and is renamed as MAX_JOIN_SIZE.So the errmsg.txt and mysql.cc files have been updated and the corresponding result files have also been updated.
| * | | | | BUG#11759349 - 51655: CREATE TABLE IN MEMORY ENGINE DOESN'T STOREAshish Agarwal2011-09-278-35/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CREATE_TIME IN INFORMATION_SC It was impossible to determine MEMORY table creation time, since it wasn't stored/exposed. With this patch creation time is saved and it is available via I_S.TABLES.CREATE_TIME. Note: it was decided that additional analysis is required before implementing UPDATE_TIME. Thus this patch doesn't store UPDATE_TIME.
| * | | | | merge from 5.1-mtrBjorn Munch2011-09-269-9/+150
| |\ \ \ \ \ | | | |/ / / | | |/| | |
| | * | | | merge from 5.1 mainBjorn Munch2011-09-2648-568/+545
| | |\ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Bug#12963823 CRASH IN PURGE THREAD UNDER UNUSUAL CIRCUMSTANCESMarko Mäkelä2011-09-223-7/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace part of the patch that Kevin apparently forgot to push. Fix the bug also in the built-in InnoDB of MySQL 5.1. I cannot explain why the test case was not failing without the full patch. This was rb:762, approved by me.
| * | | | | Bug 12963823 - Crash in Purge thread under unusual circumstances.kevin.lewis@oracle.com2011-09-203-41/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem occurred when indexes are added between the time that an UNDO record is created and the time that the purge thread comes around and deletes the old secondary index entries. The purge thread would hit an assert when trying to build a secondary index entry for searching. The problem was that the old value of those fields were not in the UNDO record since they were not part of an index when the UPDATE occured. A test case was added to innodb-index.test.
| * | | | | Merge.Sergey Vojtovich2011-09-166-5/+82
| |\ \ \ \ \
| | * | | | | BUG#11761180 - 53646: MYISAMPACK CORRUPTS TABLES WITHSergey Vojtovich2011-09-166-5/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FULLTEXT INDEXES myisamchk may create incorrect fulltext index for compressed tables. Incorrect data pointer size was used while creating fulltext index.
| * | | | | | Merge from mysql-5.1.59-releasekaren.langford@oracle.com2011-09-1537-515/+294
| |\ \ \ \ \ \
| | | | * \ \ \ merge from 5.1 main minus merge jam pushesBjorn Munch2011-09-2013-83/+130
| | | | |\ \ \ \ | | |_|_|/ / / / | |/| | | | | |
| * | | | | | | Hopefully really final fix of Bug#11766591 59733: Possible deadlockMarko Mäkelä2011-09-141-2/+1
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when buffered changes are to be discarded sync_thread_add_level(level = SYNC_IBUF_INDEX_TREE): Relax a too strict condition that the thread must not be holding locks below SYNC_FSP_PAGE. It is perfectly valid to hold any latch above SYNC_IBUF_INDEX_TREE when acquiring the insert buffer tree latch.
| * | | | | | Re-enable the prefetch code in InnoDB internal SQL parser and fix twoVasil Dimov2011-09-131-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bugs in it - accessing uninitialized ::len member (thanks, Jimmy!) and a memory leak. This is a followup to vasil.dimov@oracle.com-20110909070724-jvirxnpkbxieauz5 which disabled the prefetch code.