summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb_plugin/t
Commit message (Collapse)AuthorAgeFilesLines
* Merge with 5.2.Michael Widenius2011-12-1125-72/+1819
|\ | | | | | | no_error handling for select (used by INSERT ... SELECT) still needs to be fixed, but I will do that in a separate commit
| * Merge with 5.1Michael Widenius2011-12-011-1/+2
| |\
| | * Fixed that --with-libedit --without-readline worksMichael Widenius2011-12-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed buildbot failures (compiler warnings, failing tests) cmd-line-utils/libedit/map.c: Fixed compiler warning cmd-line-utils/libedit/terminal.c: Fixed compiler warning cmd-line-utils/libedit/tty.c: Fixed compiler warning configure.in: Fixed that --with-libedit --without-readline works mysql-test/suite/innodb_plugin/t/innodb_misc1.test: Fixed test that failed when characterset was missing
| * | Merge with 5.1Michael Widenius2011-11-304-5/+7
| |\ \ | | |/
| | * Fixed compiler warnings and other bugs found by buildbot.Michael Widenius2011-11-303-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | client/mysqltest.cc: Free mutex after usage (fixes valgrind warnings in embedded server) mysql-test/include/gis_keys.inc: Fixed failure in innodb.gis_test mysql-test/r/gis.result: Updated result mysql-test/suite/innodb/r/innodb_gis.result: Updated results mysql-test/suite/innodb/t/innodb_bug38231.test: Added handling of timeouts (happend on some servers in buildbot) mysql-test/suite/innodb_plugin/r/innodb_gis.result: Updated results mysql-test/suite/innodb_plugin/t/innodb.test: Use error names instead of numbers mysql-test/suite/innodb_plugin/t/innodb_misc1.test: This test requires utf8 mysql-test/suite/innodb_plugin/t/innodb_mysql.test: This test requires Xtradb sql/sql_base.cc: Don't print table names for placeholders. sql/sql_show.cc: Temporary fix: Save and restore db and table_name in mysqld_show_create (to get rid of valgrind warning) A better solution that needs to be investgated is to not change these fields in mysql_derived_prepare() sql/sql_view.cc: Fixed valgrind warning storage/xtradb/handler/ha_innodb.cc: Don't access THD directly
| * | Fix testcases:Vladislav Vaintroub2011-11-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. main.merge fails with errno 13 in copy_file(). The reason for the error is that copy_file tries to create a file with the same name as recently deleted one, and there is still an open handle for the deleted file. To fix, use my_delete_allow_opened() for MTR's delete_file. On Windows, this renames file to unique name prior to deletion, and prevents EACCES errors for files opened with FILE_SHARE_DELETE. 2. innodb_bug59641 generates warnings, after server was killed and restarted in the test case. The warnings are about test_suppression table (needs to be repaired, as it that was written just prior to the crash) Fixed by using FLUSH TABLES after populating warning suppression table.
| * | after merge fixesSergei Golubchik2011-11-282-2/+2
| |/ | | | | | | | | | | | | | | | | | | sql/sql_base.cc: fix a memory leak storage/xtradb/handler/ha_innodb.cc: fix for a visual studio storage/xtradb/row/row0ins.c: valgrind complains about uninitialized variable. incorrect errors in the innodb.test too
| * Merge with MySQL 5.1.60Michael Widenius2011-11-2322-76/+1569
| |\
| | * Bug#13390506 - VALGRIND FAILURE AFTER THE FIX FOR 13371000Inaam Rana2011-11-182-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rb://816 approved by: Marko Makela The title is misleading. This bug was actually introduced by bug 12635227 and was unearthed by a later optimization. We need to free buf_page_t structs that we are allocating using malloc() at shutdown.
| | * Merge from mysql-5.1.60-releaseKaren Langford2011-11-174-1/+1215
| | |\
| | | * Revert most of revno 3560.9.1 (Bug#12704861)Marko Mäkelä2011-10-261-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | 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-262-0/+1179
| | | |
| | | * Bug#13002783 PARTIALLY UNINITIALIZED CASCADE UPDATE VECTORMarko Mäkelä2011-10-251-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * | Bug #12842206 INNODB LOCKING REGRESSION FOR INSERT IGNORE: Add a test case.Marko Mäkelä2011-11-101-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug was accidentally fixed by fixing Bug#11759688 52020: InnoDB can still deadlock on just INSERT...ON DUPLICATE KEY a.k.a. the reintroduction of Bug#7975 deadlock without any locking, simple select and update
| | * | Bug#11759688 52020: InnoDB can still deadlock on just INSERT...ON DUPLICATE KEYMarko Mäkelä2011-11-101-0/+186
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a.k.a. Bug#7975 deadlock without any locking, simple select and update Bug#7975 was reintroduced when the storage engine API was made pluggable in MySQL 5.1. Instead of looking at thd->lex directly, we rely on handler::extra(). But, we were looking at the wrong extra() flag, and we were ignoring the TRX_DUP_REPLACE flag in places where we should obey it. innodb_replace.test: Add tests for hopefully all affected statement types, so that bug should never ever resurface. This kind of tests should have been added when fixing Bug#7975 in MySQL 5.0.3 in the first place. rb:806 approved by Sunny Bains
| | * Bug #12844282 62075: MTR TESTS SHOULD NOT HAVE TO SAVE & RESET ↵Bjorn Munch2011-09-2714-61/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Bug 12963823 - Crash in Purge thread under unusual circumstances.unknown2011-09-201-19/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Fixes of testcases after merge with MySQL 5.1.59Michael Widenius2011-11-232-0/+4
| | |
| * | Initail merge with MySQL 5.1 (XtraDB still needs to be merged)Michael Widenius2011-11-215-12/+259
| |\ \ | | |/ | | | | | | Fixed up copyright messages.
| | * Bug#12704861 Corruption after a crash during BLOB updateMarko Mäkelä2011-08-291-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix of Bug#12612184 broke crash recovery. When a record that contains off-page columns (BLOBs) is updated, we must first write redo log about the BLOB page writes, and only after that write the redo log about the B-tree changes. The buggy fix would log the B-tree changes first, meaning that after recovery, we could end up having a record that contains a null BLOB pointer. Because we will be redo logging the writes off the off-page columns before the B-tree changes, we must make sure that the pages chosen for the off-page columns are free both before and after the B-tree changes. In this way, the worst thing that can happen in crash recovery is that the BLOBs are written to free pages, but the B-tree changes are not applied. The BLOB pages would correctly remain free in this case. To achieve this, we must allocate the BLOB pages in the mini-transaction of the B-tree operation. A further quirk is that BLOB pages are allocated from the same file segment as leaf pages. Because of this, we must temporarily "hide" any leaf pages that were freed during the B-tree operation by "fake allocating" them prior to writing the BLOBs, and freeing them again before the mtr_commit() of the B-tree operation, in btr_mark_freed_leaves(). btr_cur_mtr_commit_and_start(): Remove this faulty function that was introduced in the Bug#12612184 fix. The problem that this function was trying to address was that when we did mtr_commit() the BLOB writes before the mtr_commit() of the update, the new BLOB pages could have overwritten clustered index B-tree leaf pages that were freed during the update. If recovery applied the redo log of the BLOB writes but did not see the log of the record update, the index tree would be corrupted. The correct solution is to make the freed clustered index pages unavailable to the BLOB allocation. This function is also a likely culprit of InnoDB hangs that were observed when testing the Bug#12612184 fix. btr_mark_freed_leaves(): Mark all freed clustered index leaf pages of a mini-transaction allocated (nonfree=TRUE) before storing the BLOBs, or freed (nonfree=FALSE) before committing the mini-transaction. btr_freed_leaves_validate(): A debug function for checking that all clustered index leaf pages that have been marked free in the mini-transaction are consistent (have not been zeroed out). btr_page_alloc_low(): Refactored from btr_page_alloc(). Return the number of the allocated page, or FIL_NULL if out of space. Add the parameter "mtr_t* init_mtr" for specifying the mini-transaction where the page should be initialized, or if this is a "fake allocation" (init_mtr=NULL) by btr_mark_freed_leaves(nonfree=TRUE). btr_page_alloc(): Add the parameter init_mtr, allowing the page to be initialized and X-latched in a different mini-transaction than the one that is used for the allocation. Invoke btr_page_alloc_low(). If a clustered index leaf page was previously freed in mtr, remove it from the memo of previously freed pages. btr_page_free(): Assert that the page is a B-tree page and it has been X-latched by the mini-transaction. If the freed page was a leaf page of a clustered index, link it by a MTR_MEMO_FREE_CLUST_LEAF marker to the mini-transaction. btr_store_big_rec_extern_fields_func(): Add the parameter alloc_mtr, which is NULL (old behaviour in inserts) and the same as local_mtr in updates. If alloc_mtr!=NULL, the BLOB pages will be allocated from it instead of the mini-transaction that is used for writing the BLOBs. fsp_alloc_from_free_frag(): Refactored from fsp_alloc_free_page(). Allocate the specified page from a partially free extent. fseg_alloc_free_page_low(), fseg_alloc_free_page_general(): Add the parameter "mtr_t* init_mtr" for specifying the mini-transaction where the page should be initialized, or NULL if this is a "fake allocation" that prevents the reuse of a previously freed B-tree page for BLOB storage. If init_mtr==NULL, try harder to reallocate the specified page and assert that it succeeded. fsp_alloc_free_page(): Add the parameter "mtr_t* init_mtr" for specifying the mini-transaction where the page should be initialized. Do not allow init_mtr == NULL, because this function is never to be used for "fake allocations". mtr_t: Add the operation MTR_MEMO_FREE_CLUST_LEAF and the flag mtr->freed_clust_leaf for quickly determining if any MTR_MEMO_FREE_CLUST_LEAF operations have been posted. row_ins_index_entry_low(): When columns are being made off-page in insert-by-update, invoke btr_mark_freed_leaves(nonfree=TRUE) and pass the mini-transaction as the alloc_mtr to btr_store_big_rec_extern_fields(). Finally, invoke btr_mark_freed_leaves(nonfree=FALSE) to avoid leaking pages. row_build(): Correct a comment, and add a debug assertion that a record that contains NULL BLOB pointers must be a fresh insert. row_upd_clust_rec(): When columns are being moved off-page, invoke btr_mark_freed_leaves(nonfree=TRUE) and pass the mini-transaction as the alloc_mtr to btr_store_big_rec_extern_fields(). Finally, invoke btr_mark_freed_leaves(nonfree=FALSE) to avoid leaking pages. buf_reset_check_index_page_at_flush(): Remove. The function fsp_init_file_page_low() already sets bpage->check_index_page_at_flush=FALSE. There is a known issue in tablespace extension. If the request to allocate a BLOB page leads to the tablespace being extended, crash recovery could see BLOB writes to pages that are off the tablespace file bounds. This should trigger an assertion failure in fil_io() at crash recovery. The safe thing would be to write redo log about the tablespace extension to the mini-transaction of the BLOB write, not to the mini-transaction of the record update. However, there is no redo log record for file extension in the current redo log format. rb:693 approved by Sunny Bains
| | * Bug#12770537 I_S.TABLES.DATA_LENGTH does not show on-disk sizeMarko Mäkelä2011-08-081-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | for compressed InnoDB tables ha_innodb::info_low(): For calculating data_length or index_length, use the compressed page size for compressed tables instead of UNIV_PAGE_SIZE. rb:714 approved by Sunny Bains
| | * Bug#12637786 was fixed with rb:692 by marko. But that fix has a remainingunknown2011-07-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug. It added this assert; ut_ad(ind_field->prefix_len); before a section of code that assumes there is a prefix_len. The patch replaced code that explicitly avoided this with a check for prefix_len. It turns out that the purge thread can get to that assert without a prefix_len because it does not use a row_ext_t* . When UNIV_DEBUG is not defined, the affect of this is that the purge thread sets the dfield->len to zero and then cannot find the entry in the index to purge. So secondary index entries remain unpurged. This patch does not do the assert. Instead, it uses 'if (ind_field->prefix_len) {...}' around the section of code that assumes a prefix_len. This is the way the patch I provided to Marko did it. The test case is simply modified to do a sleep(10) in order to give the purge thread a chance to run. Without the code change to row0row.c, this modified testcase will assert if InnoDB was compiled with UNIV_DEBUG. I tried to sleep(5), but it did not always assert.
| | * Merge from mysql-5.1.58-releaseKaren Langford2011-07-061-2/+60
| | |\
| | | * merge of mysql-5.1->mysql-5.1-securityGeorgi Kodinov2011-06-061-0/+20
| | | |\
| | | * | Bug#12429576 Assertion failure on purge of column prefix indexMarko Mäkelä2011-05-191-2/+61
| | | | |
| | * | | Bug#12637786 Wrong secondary index entries on CHAR and VARCHAR columnsMarko Mäkelä2011-06-301-0/+16
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | row_build_index_entry(): In innodb_file_format=Barracuda (ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED), a secondary index on a full column can refer to a field that is stored off-page in the clustered index record. Take that into account. rb:692 approved by Jimmy Yang
| | * | Fix for bug #11762012 - "54553: INNODB ASSERTS IN Dmitry Lenev2011-05-261-0/+20
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HA_INNOBASE::UPDATE_ROW, TEMPORARY TABLE, TABLE LOCK". Attempt to update an InnoDB temporary table under LOCK TABLES led to assertion failure in both debug and production builds if this temporary table was explicitly locked for READ. The same scenario works fine for MyISAM temporary tables. The assertion failure was caused by discrepancy between lock that was requested on the rows of temporary table at LOCK TABLES time and by update operation. Since SQL-layer requested a read-lock at LOCK TABLES time InnoDB engine assumed that upcoming statements which are going to be executed under LOCK TABLES will only read table and therefore should acquire only S-lock. An update operation broken this assumption by requesting X-lock. Possible approaches to fixing this problem are: 1) Skip locking of temporary tables as locking doesn't make any sense for connection-local objects. 2) Prohibit changing of temporary table locked by LOCK TABLES ... READ. Unfortunately both of these approaches have drawbacks which make them unviable for stable versions of server. So this patch takes another approach and changes code in such way that LOCK TABLES for a temporary table will always request write lock. In 5.1 version of this patch switch from read lock to write lock is done inside of InnoDBs handler methods as doing it on SQL-layer causes compatibility troubles with FLUSH TABLES WITH READ LOCK. mysql-test/suite/innodb/r/innodb_mysql.result: Added test for bug #11762012 - "54553: INNODB ASSERTS IN HA_INNOBASE::UPDATE_ROW, TEMPORARY TABLE, TABLE LOCK". mysql-test/suite/innodb/t/innodb_mysql.test: Added test for bug #11762012 - "54553: INNODB ASSERTS IN HA_INNOBASE::UPDATE_ROW, TEMPORARY TABLE, TABLE LOCK". mysql-test/suite/innodb_plugin/r/innodb_mysql.result: Added test for bug #11762012 - "54553: INNODB ASSERTS IN HA_INNOBASE::UPDATE_ROW, TEMPORARY TABLE, TABLE LOCK". mysql-test/suite/innodb_plugin/t/innodb_mysql.test: Added test for bug #11762012 - "54553: INNODB ASSERTS IN HA_INNOBASE::UPDATE_ROW, TEMPORARY TABLE, TABLE LOCK". storage/innobase/handler/ha_innodb.cc: Assume that a temporary table locked by LOCK TABLES can be updated even if it was only locked for read and therefore an X-lock should be always requested for such tables. storage/innodb_plugin/handler/ha_innodb.cc: Assume that a temporary table locked by LOCK TABLES can be updated even if it was only locked for read and therefore an X-lock should be always requested for such tables.
| | * Bug #11766513 - 59641: Prepared XA transaction in system after hard crashMarko Mäkelä2011-04-071-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | causes future shutdown hang InnoDB would hang on shutdown if any XA transactions exist in the system in the PREPARED state. This has been masked by the fact that MySQL would roll back any PREPARED transaction on shutdown, in the spirit of Bug #12161 Xa recovery and client disconnection. [mysql-test-run] do_shutdown_server: Interpret --shutdown_server 0 as a request to kill the server immediately without initiating a shutdown procedure. xid_cache_insert(): Initialize XID_STATE::rm_error in order to avoid a bogus error message on XA ROLLBACK of a recovered PREPARED transaction. innobase_commit_by_xid(), innobase_rollback_by_xid(): Free the InnoDB transaction object after rolling back a PREPARED transaction. trx_get_trx_by_xid(): Only consider transactions whose trx->is_prepared flag is set. The MySQL layer seems to prevent attempts to roll back connected transactions that are in the PREPARED state from another connection, but it is better to play it safe. The is_prepared flag was introduced in the InnoDB Plugin. trx_n_prepared: A new counter, counting the number of InnoDB transactions in the PREPARED state. logs_empty_and_mark_files_at_shutdown(): On shutdown, allow trx_n_prepared transactions to exist in the system. trx_undo_free_prepared(), trx_free_prepared(): New functions, to free the memory objects of PREPARED transactions on shutdown. This is not needed in the built-in InnoDB, because it would collect all allocated memory on shutdown. The InnoDB Plugin needs this because of innodb_use_sys_malloc. trx_sys_close(): Invoke trx_free_prepared() on all remaining transactions.
| | * Load the innodb plugin instead of builtin in innodb_plugin.innodb_bug59410Vasil Dimov2011-04-061-1/+1
| | | | | | | | | | | | | | | Spotted by: Marko
| | * Add the testcase for Bug#59410 to 5.1/InnoDB PluginVasil Dimov2011-04-051-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | Bug#59410 read uncommitted: unlock row could not find a 3 mode lock on the record This bug is present only in 5.6 but I am adding the test case to earlier versions to ensure it never appears in earlier versions too.
* | | Set new default values for the optimizer switch flags 'derived_merge'Igor Babaev2011-11-261-0/+2
| | | | | | | | | | | | and 'derived_with_keys'. Now they are set on by default.
* | | Currently innodb_plugin does not support ICP. Part2.Igor Babaev2011-11-241-0/+3
| | |
* | | Currently innodb_plugin does not support ICP.Igor Babaev2011-11-241-0/+3
| | |
* | | Automerge 5.2->5.3unknown2011-07-311-0/+2
|\ \ \ | |/ /
| * | Speed up mysql-test-run.pl.unknown2011-07-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem was the parsing of test suite files for various tags and options. This was done inefficiently, and include files were re-parsed for every place they were included. This caused a delay of 20 seconds or so before the first test started to run. By parsing more efficiently and re-using first parse for subsequent inclusion of the same file, time spent parsing is reduced to less than 1 second, and start appears instantaneous. (With this patch, full ./mtr runs in 3 minutes on my laptop (release build.) mysql-test/suite/innodb_plugin/t/innodb_bug52663.test: Test is fairly slow, so try to avoid getting stuck with it at the end while other workers are idle.
* | | Merge from 5.2unknown2011-07-211-44/+0
|\ \ \ | |/ /
| * | Removed incorrect fix and its test suite (the test suit is duplicate).unknown2011-07-211-44/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed explains of previous patch. mysql-test/r/explain.result: Fixed explains of previous patch. mysql-test/r/join_outer.result: Fixed explains of previous patch. mysql-test/r/negation_elimination.result: Fixed explains of previous patch. mysql-test/r/view.result: Fixed explains of previous patch. mysql-test/suite/innodb/r/innodb_mysql.result: Removed duplicate test suite. mysql-test/suite/innodb/t/innodb_mysql.test: Removed duplicate test suite. mysql-test/suite/innodb_plugin/r/innodb_mysql.result: Removed duplicate test suite. mysql-test/suite/innodb_plugin/t/innodb_mysql.test: Removed duplicate test suite. sql/opt_range.h: Removed incorrect fix. sql/records.cc: Removed incorrect fix.
* | | merge with 5.1-microSergei Golubchik2011-06-071-6/+0
|\ \ \
* | | | More changes from optimizer_use_mrr to optimizer_switchSergey Petrunya2011-06-031-4/+2
| | | |
* | | | automatic merge with 5.2Michael Widenius2011-05-281-0/+4
|\ \ \ \ | | |/ / | |/| |
| * | | Disable call to setpriority() in pbxt. This caused mysqld to run with nice ↵Michael Widenius2011-05-261-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | priority -19, which was far from optimal. mysql-test/suite/innodb/r/innodb_bug60049.result: Updated results mysql-test/suite/innodb/t/innodb_bug60049.test: Force global.innodb_fast_shutdown to 0 as test require it mysql-test/suite/innodb_plugin/t/innodb_bug60049.test: Force global.innodb_fast_shutdown to 0 as test require it storage/pbxt/src/pthread_xt.cc: Disable call to setpriority()
* | | | Merge with 5.1-microsecondsMichael Widenius2011-05-281-1/+0
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A lot of small fixes and new test cases. client/mysqlbinlog.cc: Cast removed client/mysqltest.cc: Added missing DBUG_RETURN include/my_pthread.h: set_timespec_time_nsec() now only takes one argument mysql-test/t/date_formats.test: Remove --disable_ps_protocl as now also ps supports microseconds mysys/my_uuid.c: Changed to use my_interval_timer() instead of my_getsystime() mysys/waiting_threads.c: Changed to use my_hrtime() sql/field.h: Added bool special_const_compare() for fields that may convert values before compare (like year) sql/field_conv.cc: Added test to get optimal copying of identical temporal values. sql/item.cc: Return that item_int is equal if it's positive, even if unsigned flag is different. Fixed Item_cache_str::save_in_field() to have identical null check as other similar functions Added proper NULL check to Item_cache_int::save_in_field() sql/item_cmpfunc.cc: Don't call convert_constant_item() if there is nothing that is worth converting. Simplified test when years should be converted sql/item_sum.cc: Mark cache values in Item_sum_hybrid as not constants to ensure they are not replaced by other cache values in compare_datetime() sql/item_timefunc.cc: Changed sec_to_time() to take a my_decimal argument to ensure we don't loose any sub seconds. Added Item_temporal_func::get_time() (This simplifies some things) sql/mysql_priv.h: Added Lazy_string_decimal() sql/mysqld.cc: Added my_decimal constants max_seconds_for_time_type, time_second_part_factor sql/table.cc: Changed expr_arena to be of type CONVENTIONAL_EXECUTION to ensure that we don't loose any items that are created by fix_fields() sql/tztime.cc: TIME_to_gmt_sec() now sets *in_dst_time_gap in case of errors This is needed to be able to detect if timestamp is 0 storage/maria/lockman.c: Changed from my_getsystime() to set_timespec_time_nsec() storage/maria/ma_loghandler.c: Changed from my_getsystime() to my_hrtime() storage/maria/ma_recovery.c: Changed from my_getsystime() to mmicrosecond_interval_timer() storage/maria/unittest/trnman-t.c: Changed from my_getsystime() to mmicrosecond_interval_timer() storage/xtradb/handler/ha_innodb.cc: Added support for new time,datetime and timestamp unittest/mysys/thr_template.c: my_getsystime() -> my_interval_timer() unittest/mysys/waiting_threads-t.c: my_getsystime() -> my_interval_timer()
| * | | lp:743017 Diverging results with TIME(3) and ranges depending on the ↵Sergei Golubchik2011-03-291-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | execution plan in 5.1-micro rewrite get_innobase_type_from_mysql_type() to use types as reported by the Field objects, instead of relying on ad-hoc assumptions.
* | | | Merge with 5.3 mainMichael Widenius2011-05-161-0/+2
|\ \ \ \
| * \ \ \ automergeunknown2011-05-111-0/+2
| |\ \ \ \
| | * | | | Fix race in testcase innodb_plugin.group_commit_no_optimize_threadunknown2011-05-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was that connection con5, which is supposed to be the leader for the third group, could if timing was bad end up as participant in the second group, causing the test to fail. Fixed by ensuring that group 2 is running before starting the transaction for group 3.
* | | | | | Merge with MariaDB 5.2Michael Widenius2011-05-107-5/+314
|\ \ \ \ \ \ | |/ / / / / |/| | | / / | | |_|/ / | |/| | |
| * | | | Merge with MySQL 5.1.57/58Michael Widenius2011-05-027-5/+314
| |\ \ \ \ | | | |_|/ | | |/| | | | | | | Moved some BSD string functions from Unireg
| | * | | Bug #11762804 55442: MYSQLD DEBUG CRASHES WHILE RUNNING ↵Bjorn Munch2011-03-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MYISAM_CRASH_BEFORE_FLUSH_KEYS.TEST This will cause affected tests to skip if CrashReporter would popup Found 5 tests that needed modification
| | * | | Merge mysql-5.1-innodb -> mysql-5.1Vasil Dimov2011-02-182-6/+24
| | |\ \ \