summaryrefslogtreecommitdiff
path: root/mysql-test
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '10.0' into 10.1Sergei Golubchik2015-10-1279-267/+1803
|\
| * fixes for buildbot:Sergei Golubchik2015-10-101-2/+68
| | | | | | | | | | * update *.result files * fix XtraDB for Windows (again)
| * Merge branch 'merge-perfschema-5.6' into 10.0Sergei Golubchik2015-10-092-0/+35
| |\
| | * 5.6.27Sergei Golubchik2015-10-094-2/+39
| | |
| * | Merge branch '5.5' into 10.0Sergei Golubchik2015-10-0954-191/+1431
| |\ \
| | * | fixes for buildbot:mariadb-5.5.46Sergei Golubchik2015-10-091-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | * OSX (mysqlimport freeing unallocated memory) * Windows (didn't compile MSI) * fulltest2 (innodb crashes in --embedded --big)
| | * | Merge remote-tracking branch 'mysql/5.5' into 5.5Sergei Golubchik2015-10-0836-71/+352
| | |\ \
| | | * | Bug#20198490 : LOWER_CASE_TABLE_NAMES=0 ON WINDOWS LEADS TOArun Kuruvila2015-08-2115-54/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PROBLEMS Description:- Server variable "--lower_case_tables_names" when set to "0" on windows platform which does not support case sensitive file operations leads to problems. A warning message is printed in the error log while starting the server with "--lower_case_tables_names=0". Also according to the documentation, seting "lower_case_tables_names" to "0" on a case-insensitive filesystem might lead to index corruption. Analysis:- The problem reported in the bug is:- Creating an INNODB table 'a' and executing a query, "INSERT INTO a SELECT a FROM A;" on a server started with "--lower_case_tables_names=0" and running on a case-insensitive filesystem leads innodb to flat spin. Optimizer thinks that "a" and "A" are two different tables as the variable "lower_case_table_names" is set to "0". As a result, optimizer comes up with a plan which does not need a temporary table. If the same table is used in select and insert, a temporary table is needed. This incorrect optimizer plan leads to infinite insertions. Fix:- If the server is started with "--lower_case_tables_names" set to 0 on a case-insensitive filesystem, an error, "The server option 'lower_case_table_names'is configured to use case sensitive table names but the data directory is on a case-insensitive file system which is an unsupported combination. Please consider either using a case sensitive file system for your data directory or switching to a case-insensitive table name mode.", is printed in the server error log and the server exits.
| | | * | Bug #16171518 - LOAD XML DOES NOT HANDLE EMPTY ELEMENTSShishir Jaiswal2015-08-184-0/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DESCRIPTION =========== Inability of mysql LOAD XML command to handle empty XML tags i.e. <row><tag/></row>. Also the behaviour is wrong and (different than above) when there is a space in empty tag i.e. <row><tag /></row> ANALYSIS ======== In read_xml() the case where we encounter a close tag ('/') we're decreasing the 'level' blindly which is wrong. Actually when its an without-space-empty-tag (succeeding char is '>'), we need to skip the decrement. In other words whenever we hit a close tag ('/'), decrease the 'level' only when (i) It's not an (without space) empty tag i.e. <tag/> or, (ii) It is of format <row col="val" .../> FIX === The switch case for '/' is modified. We've removed the blind decrement of 'level'. We do it only when its not an without-space-empty-tag. Also we are setting 'in_tag' to false to let program know that we're done reading current tag (required in the case of format <row col="val" .../>)
| | | * | BUG#11754258: INCORRECT ERROR MESSAGE WHEN CREATING UNSAFEKarthik Kamath2015-08-181-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VIEW It appears that the code refactoring done as part of the patch for the MySQL BUG#11749859 fixed this issue. This issue is not reproducible on MySQL 5.5+ versions now. As part of this patch, the test file "mysqldump.test" has been updated to remove the comment which was referring to the bug and also the line which suppresses the warning.
| | | * | Merge branch 'mysql-5.1' into mysql-5.5Mithun C Y2015-08-172-2/+2
| | | |\ \
| | | | * | Bug #21350175: SUBQUERIES IN PROCEDURE CLAUSE OF SELECT STATEMENT CAUSES ↵Mithun C Y2015-08-172-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SERVER FAILURES. Analysis : ========== During JOIN::prepare of sub-query which creates the derived tables we call setup_procedure. Here we call fix_fields for parameters of procedure clause. Calling setup_procedure at this point may cause issue. If sub-query is one of parameter being fixed it might lead to complicated dependencies on derived tables being prepared. SOLUTION : ========== In 5.6 with WL#6242, we have made procedure clause parameters can only be NUM, so sub-queries are not allowed as parameters. So in 5.5 we can block sub-queries in procedure clause parameters. This eliminates above conflicting dependencies.
| | | * | | Follow-up fix : Bug #18145121 - DEPRECATED PERL SYNTAX IN MTRsayantan dutta2015-08-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit 1bfe5f724bc4c24da635f632247e7d263aa53970) Conflicts: mysql-test/lib/mtr_cases.pm
| | | * | | Follow up Fix: Bug #18145121 - DEPRECATED PERL SYNTAX IN MTRsayantan dutta2015-08-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit 3eb933e0eb55f962404a04741767177e12a9885f) Conflicts: mysql-test/mysql-test-run.pl
| | | * | | BUG#19886430: VIEW CREATION WITH NAMED COLUMNS, OVER UNION,Nisha Gopalakrishnan2015-07-232-0/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IS REJECTED. Analysis ======== View creation with named columns over UNION is rejected. Consider the following view definition: CREATE VIEW v1 (fld1, fld2) AS SELECT 1 AS a, 2 AS b UNION ALL SELECT 1 AS a, 1 AS a; A 'duplicate column' error was reported due to the duplicate alias name in the secondary SELECT. The VIEW column names are either explicitly specified or determined from the first SELECT (which can be auto generated if not specified). Since a duplicate column name check was performed even for the secondary SELECTs, an error was reported. Fix ==== Check for duplicate column names only for the named columns if specified or only for the first SELECT.
| | | * | | Bug #21143080: UPDATE ON VARCHAR AND TEXT COLUMNS PRODUCESreeharsha Ramanavarapu2015-07-162-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | INCORRECT RESULTS Issue: ----- Updating varchar and text fields in the same update statement can produce incorrect results. When a varchar field is assigned to the text field and the varchar field is then set to a different value, the text field's result contains the varchar field's new value. SOLUTION: --------- Currently the blob type does not allocate space for the string to be stored. Instead it contains a pointer to the varchar string. So when the varchar field is changed as part of the update statement, the value contained in the blob also changes. The fix would be to actually store the value by allocating space for the blob's string. We can avoid allocating this space when the varchar field is not being written into.
| | | * | | Bug#21374104 SETUP_TIMERS INITIALIZATION ASSUMES CYCLE TIMER IS ALWAYS AVAILABLEChristopher Powers2015-07-102-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | For WAIT events, fall back to other timers if CYCLE is not available.
| | | * | | Merge branch 'mysql-5.1' into mysql-5.5Sreeharsha Ramanavarapu2015-07-104-0/+21
| | | |\ \ \ | | | | |/ /
| | | | * | Bug #20238729: ILLEGALLY CRAFTED UTF8 SELECT PROVIDES NOSreeharsha Ramanavarapu2015-07-102-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WARNINGS Backporting to 5.1 and 5.5
| | | * | | Bug#18487951 - QUERY_CACHE_MIN_RES_UNIT SET TO ZERO, CRASHES IN ↵Praveenkumar Hulakund2015-07-031-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QUERY_CACHE::FIND_BIN Follow up patch to fix sys_vars.query_cache_min_res_unit_basic_32 test failure.
| | | * | | Bug #20772273 : MYSQLIMPORT --USE-THREADS DOESN'T USEArun Kuruvila2015-06-302-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MULTIPLE THREADS Description:- The utility "mysqlimport" does not use multiple threads for the execution with option "--use-threads". "mysqlimport" while importing multiple files and multiple tables, uses a single thread even if the number of threads are specified with "--use-threads" option. Analysis:- This utility uses ifdef HAVE_LIBPTHREAD to check for libpthread library and if defined uses libpthread library for mutlithreaing. Since HAVE_LIBPTHREAD is not defined anywhere in the source, "--use-threads" option is silently ignored. Fix:- "-DTHREADS" is set to the COMPILE_FLAGS which will enable pthreads. HAVE_LIBPTHREAD macro is removed.
| | | * | | BUG#20310212 PARTITION DDL- CRASH AFTER THD::NOCHECK_REGISTER_ITEM_Debarun Banerjee2015-06-242-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem : --------- Issue-1: The root cause for the issues is that (col1 > 1) is not a valid partition function and we should have thrown error at much early stage [partition_info::check_partition_info]. We are not checking sub-partition expression when partition expression is NULL. Issue-2: Potential issue for future if any partition function needs to change item tree during open/fix_fields. We should release changed items, if any, before doing closefrm when we open the partitioned table during creation in create_table_impl. Solution : ---------- 1.check_partition_info() - Check for sub-partition expression even if no partition expression. [partition by ... columns(...) subpartition by hash(<expr>)] 2.create_table_impl() - Assert that the change list is empty before doing closefrm for partitioned table. Currently no supported partition function seems to be changing item tree during open. Reviewed-by: Mattias Jonsson <mattias.jonsson@oracle.com> RB: 9345
| | * | | | MDEV-8796 Delete with sub query with information_schema.TABLES deletes too ↵Sergei Golubchik2015-10-082-23/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | many rows make_cond_for_info_schema() does preserve outer fields
| | * | | | MDEV-7846: Server crashes in Item_subselect::fix_fields or fails with Thread ↵Oleksandr Byelkin2015-10-066-0/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stack overrun Substitute into transformed subselects original left expression and than register its change in case it was substituted.
| | * | | | MDEV-7445:Server crash with Signal 6Oleksandr Byelkin2015-10-066-5/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MDEV-7565: Server crash with Signal 6 (part 2) followup test suite and its fix.
| | * | | | MDEV-7445: Server crash with Signal 6Oleksandr Byelkin2015-10-066-0/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem was in rewriting left expression which had 2 references on it. Solved with making subselect reference main. Item_in_optimized can have not Item_in_subselect reference in left part so type casting with no check is dangerous. Item::cols() should be checked after Item::fix_fields().
| | * | | | MDEV-7565: Server crash with Signal 6 (part 2)Oleksandr Byelkin2015-10-066-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | Preparation of subselect moved earlier (before checks which needs it prepared).
| | * | | | Bug #68148: drop index on a foreign key column leads to missing tableJan Lindström2015-09-302-0/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MDEV-8845: Table disappear after modifying FK Added test case.
| | * | | | MDEV-8624: MariaDB hangs on query with many logical conditionOleksandr Byelkin2015-09-282-0/+397
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Made no_rows_in_result()/restore_to_before_no_rows_in_result() not looking annecessary deep with walk() method.
| | * | | | MDEV-8154 rpl.show_status_stop_slave_race-7126 sporadically causes internal ↵Elena Stepanova2015-09-282-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | check failure The patch was pushed into 10.0, but it needs to be applied to 5.5 as well
| | * | | | MDEV-7330 plugins.feedback_plugin_send fails sporadically in buildbotElena Stepanova2015-09-272-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test restarts the server and expects that the feedback plugin will send a report on shutdown, and will write about it in the error log. But the server is only given 10 sec to shut down properly, which is not always enough. Added a parameter to restart_mysqld.inc, and set it to a bigger value in feedback_plugin_send
| | * | | | MDEV-7933 plugins.feedback_plugin_send depends on being executed after ↵Elena Stepanova2015-09-273-5/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | plugins.feedback_plugin_load The culprit is the feedback_plugin_load test, which is run both separately and from inside feedback_plugin_send.test. The test queries I_S.FEEDBACK, and every time it does, 'FEEDBACK used' value is increased. Fixed by checking that the value is increased instead of recording the actual value in the result file.
| | * | | | MDEV-8849 rpl.rpl_innodb_bug30888 sporadically fails in buildbot with ↵Elena Stepanova2015-09-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | testcase timeout The test would take really long if it was run without --mem. Fixed by adding --innodb-flush-log-at-trx-commit=2
| | * | | | MDEV-8841 innodb_zip.innodb-create-options fails in buildbotElena Stepanova2015-09-241-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The real problem is that when innodb.xa_recovery test intentionally crashes the server, system tables can be opened and marked as crashed, and the next test in line gets blamed for the error which appears in the error log. Fixed by flushing the tables before crashing the server
| | * | | | MDEV-8473: mysqlbinlog -v does not properly decode DECIMAL values in an RBR logOleksandr Byelkin2015-09-073-75/+75
| | | | | | | | | | | | | | | | | | | | | | | | Backport of upstream patch. revno: 5696
| | * | | | MDEV-8663: IF Statement returns multiple values erroneously (or Assertion ↵Oleksandr Byelkin2015-09-042-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `!null_value' failed in Item::send(Protocol*, String*)) Postreview addons by Bar Fix: keeping contract: NULL value mean NULL pointer in val_str and val_deciman.
| * | | | | remove --default-myisam from mtrSergei Golubchik2015-10-091-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | it was never doing anything anyway
| * | | | | Better error messages if slave is not properly configuredMonty2015-10-082-2/+2
| | | | | |
| * | | | | Allow row events in replication stream for slave in all casesMonty2015-10-084-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (even when configured with --binlog-format=statement). Before we got an error on the slave and the slave stopped if the master was configured with --binlog-format=mixed or --binlog-format=row.
| * | | | | Fix for MDEV-8321, MDEV-6223Sergei Petrunia2015-10-062-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EXPLAIN INSERT ... SELECT tried to use SELECT's execution path. This caused a collection of problems: - SELECT_DESCRIBE flag was not put into select_lex->options, which means it was not in JOIN::select_options either (except for the first member of the UNION). - This caused UNION members to be executed. They would attempt to write join output rows to the output. - (Actual cause of the crash) second join sibling would call result->send_eof() when finished execution. Then, Explain_query::print_explain would attempt to write to query output again, and cause an assertion due to non-empty query output.
| * | | | | MDEV-8299: MyISAM or Aria table gets corrupted after EXPLAIN INSERT and INSERTSergei Petrunia2015-10-062-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [EXPLAIN] INSERT .. SELECT creates a select_insert object. select_insert calls handler->start_bulk_insert() during initialization. For MyISAM/Aria this requires that a matching call to handler->end_bulk_insert() call is made. Regular INSERT .. SELECT accomplishes this by calling either select_result->send_eof() or select_result->abort_result_set(). EXPLAIN INSERT ... SELECT didn't call either, which resulted in improper de-initializaiton of handler object. Make it call abort_result_set(), which invokes handler->end_bulk_insert().
| * | | | | Fix sporadic test failure in rpl_gtid_mdev4820.testKristian Nielsen2015-09-222-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use sync_with_master_gtid.inc instead of --sync_with_master. The latter is not correct because the test case uses RESET MASTER; this invalidates the existing binlog positions on the slave. In this particular case, there was a small window where --sync_with_master could trigger too early (on the old position), causing the test case to miss one event.
| * | | | | Backport to 10.0: MDEV-8779: mysqld got signal 11 in ↵Sergei Petrunia2015-09-212-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sql/opt_range_mrr.cc:100(step_down_to) The crash was caused by range optimizer using RANGE_OPT_PARAM::min_key (and max_key) to store keys. Buffer size was a good upper bound for range analysis and partition pruning, but not for EITS selectivity calculations. Fixed by making these buffers variable-size. The sizes are calculated from [pseudo]indexes used for range analysis.
| * | | | | MDEV-7990: ERROR 1526 when procedure executed for second time ALTER TABLE ↵Oleksandr Byelkin2015-09-142-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | partition ... pMAX values less than MAXVALUE Made dipper copy of the lists, so now one execution has no influence on the other.
| * | | | | Merge.Kristian Nielsen2015-09-121-2/+2
| |\ \ \ \ \
| * \ \ \ \ \ Merge MDEV-8193 into 10.0Kristian Nielsen2015-09-112-0/+80
| |\ \ \ \ \ \
| * | | | | | | MDEV-8443: mysql-test - innodb.innodb_simulate_comp_failures 'innodb_plugin' ↵Jan Lindström2015-09-042-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is failing Reduce the number of rounds and operations to avoid testcase timeout.
| * | | | | | | Merge MDEV-8725 into 10.0Kristian Nielsen2015-09-022-0/+40
| |\ \ \ \ \ \ \
* | | | | | | | | s/--silent/--silent-startup/Sergei Golubchik2015-10-111-2/+2
| | | | | | | | |
* | | | | | | | | fix feedback plugin testsSergei Golubchik2015-10-112-0/+2
| | | | | | | | |