summaryrefslogtreecommitdiff
path: root/mysql-test/t
Commit message (Collapse)AuthorAgeFilesLines
* 5.5 mergeSergei Golubchik2014-03-2610-47/+209
|\
| * MDEV-5955 Server crashes in handler::ha_external_lock or assertion ↵Sergei Golubchik2014-03-261-0/+10
| | | | | | | | | | | | `m_lock_type == 2' fails in handler::ha_close on disconnect with a locked temporary table first unlock locked tables, then close and remove temporary
| * 5.3 mergeSergei Golubchik2014-03-252-0/+39
| |\
| | * MDEV-5783 Assertion `0' failed in make_sortkey(SORTPARAM*, uchar*, uchar*) ↵Alexander Barkov2014-03-231-0/+21
| | | | | | | | | | | | on ORDER BY HEX( UNCOMPRESSED_LENGTH( pk ) )
| | * MergeSergey Petrunya2014-03-181-0/+18
| | |\
| | | * MDEV-5811: Server crashes in best_access_path with materialization+semijoin ↵Sergey Petrunya2014-03-131-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and big_tables=ON - With big_tables=ON, materialized table will use Aria (or MyISAM) SE, which allows prefix key reads. However, the temp.table has rec_per_key=NULL which causes the optimizer to crash when attempting to read index statistics for a prefix index read. - Fixed by providing a rec_per_key array with zeros (i.e. "no statistics data")
| | * | 5.2 mergeSergei Golubchik2014-03-165-8/+50
| | |\ \
| | | * \ 5.1 mergeSergei Golubchik2014-03-165-8/+50
| | | |\ \
| | | | * \ mysql-5.1.73 mergeSergei Golubchik2014-03-154-5/+49
| | | | |\ \
| * | | | | | mysqltest bug: reset --replace command after everySergei Golubchik2014-03-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | error message (because error messages use replacements)
| * | | | | | 5.3-mergeSergei Golubchik2014-03-165-1/+112
| |\ \ \ \ \ \ | | |/ / / / /
| | * | | | | MDEV-5446: Assertion `!table || (!table->read_set || ↵unknown2014-03-141-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bitmap_is_set(table->read_set, field_index))' fails on EXPLAIN EXTENDED with VALUES function field_index should be set correctly for null field created by Item_insert_value::fix_fields().
| | * | | | | 5.2 mergeSergei Golubchik2014-03-131-0/+29
| | |\ \ \ \ \ | | | |/ / / / | | | | | | / | | | |_|_|/ | | |/| | |
| | | * | | unix_socket bypasses make_if_fail by not doing any network readsSergei Golubchik2014-03-131-0/+29
| | | | | |
| | * | | | MDEV-5717: Server crash with insert statement containing DEFAULT into viewunknown2014-03-121-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | Item_default_value::arg can be NULL so walk() should take it into consideration.
| | * | | | MDEV-5740: Assertion ↵unknown2014-03-071-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `!derived->first_select()->exclude_from_table_unique_test || derived->outer_select()-> exclude_from_table_unique_test' failed on 2nd execution of PS with derived_merge Do not check tables of executed units. Debug info about stages of derived tables execution added.
| | * | | | Fixed bug mdev-5686.Igor Babaev2014-03-061-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The calls of the function remove_eq_conds() may change the and/or structure of the where conditions. So JOIN::equal_cond should be updated for non-recursive calls of remove_eq_conds().
| * | | | | MergeSergey Petrunya2014-03-112-46/+47
| |\ \ \ \ \
| | * | | | | MDEV-5177: ha_partition and innodb index intersection produce fewer rows ↵Sergey Petrunya2014-03-112-46/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (MySQL Bug#70703) (This is attempt at fix #2) (re-commit with fixed typo) - Moved the testcase from partition_test to partition_innodb.test where it can really work. - Made ordered index scans over ha_partition tables to satisfy ROR property for the case where underlying table uses extended keys.
| * | | | | | Fixed MDEV-5724 "Server crashes on SQL select containing more group by and ↵Michael Widenius2014-03-101-0/+96
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | left join statements using innodb tables" The problem was that a big record was allocated on the stack, which casued stack to run out. Fixed by using my_safe_alloca() instead of my_alloca() when allocating records. Now only records <= 16384 are allocated on the stack. mysql-test/r/stack-crash.result: Added test case mysql-test/t/stack-crash.test: Added test case storage/maria/ma_blockrec.c: Use my_safe_alloca() instead of my_alloca() storage/maria/ma_dynrec.c: Use my_safe_alloca() instead of my_alloca() storage/maria/maria_def.h: Added MARIA_MAX_RECORD_ON_STACK storage/maria/maria_pack.c: Use my_safe_alloca() instead of my_alloca()
* | | | | | MDEV-5861 MySQL Bug#12601974 - STORED PROCEDURE ↵Sergei Golubchik2014-03-261-0/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SQL_MODE=NO_BACKSLASH_ESCAPES IGNORED AND BREAKS REPLICATION escape usernames in CREATE/DROP USER error messages according to NO_BACKSLASH_ESCAPES
* | | | | | MDEV-5909 MySQL BUG#11748924 PARTITIONS: TOO-LONG COMMENT CAUSES NO WARNINGSergei Golubchik2014-03-261-0/+46
| | | | | |
* | | | | | build_frm_image(): don't try to guess the "real table name" from theSergei Golubchik2014-03-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | field list, it doesn't work if ALTER TABLE has replaced all fields. Instead, pass the correct original table name down from the caller.
* | | | | | MDEV-5815 MySQL BUG#11751736: DROP DATABASE STATEMENT SHOULD REMOVE .OLD ↵Sergei Golubchik2014-03-261-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SUFFIX FROM DATABASE DIRECTORY Delete .OLD and .TMD files when a MyISAM table is dropped. Same for Aria. sql/sql_db.cc: dead code - *.TMD cannot be deleted from here.
* | | | | | MDEV-5823 MySQL bug#11760213-52599: ALTER TABLE REMOVE PARTITIONING ON ↵Sergei Golubchik2014-03-212-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NON-PARTITIONED TABLE CORRUPTS MYISAM add the test case only
* | | | | | MDEV-5846 MySQL Bug #18144 - Cost with FORCE/USE index seems incorrect in ↵Sergei Golubchik2014-03-201-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | some cases.
* | | | | | MDEV-5820 MySQL Bug #54805 definitions in regex/my_regex.h conflict with ↵Sergei Golubchik2014-03-201-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | /usr/include/regex.h
* | | | | | MDEV-5849 MySQL bug#12602983 - User without privilege on routine can ↵Sergei Golubchik2014-03-201-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | discover its existence by executing "select non_existing_func();" or by "call non_existing_proc()" add or move privilege checks before existence checks
* | | | | | MDEV-5858 MySQL Bug#12744991 - DECIMAL_ROUND(X,D) GIVES WRONG RESULTS WHEN D ↵Sergei Golubchik2014-03-201-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | == N*(-9) don't use mysql-5.6 change. correct fix: zero-out rounded tail after the number was shifted because of the carry digit (otherwise the carry digit will be zeroed out too).
* | | | | | MDEV-5894 MySQL BUG#34750: Print database name in Unknown Table error messageSergei Golubchik2014-03-201-0/+37
| | | | | |
* | | | | | MDEV-5898 FOUND_ROWS() return incorrect value when using DISTINCTSergei Golubchik2014-03-191-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | revert the fix for MDEV-5549, use a different approach.
* | | | | | MDEV-5781 Item_sum_std::val_real(): Assertion `nr >= 0.0' fails on query ↵Alexander Barkov2014-03-231-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | with STDDEV_POP, ROUND and variable
* | | | | | A joint patch for:Alexander Barkov2014-03-231-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - MDEV-5689 ExtractValue(xml, 'substring(/x,/y)') crashes - MDEV-5709 ExtractValue() with XPath variable references returns wrong result. Description: 1. The main problem was that that nodeset_func->fix_fields() was called in Item_func_xml_extractvalue::val_str() and Item_func_xml_update::val_str(), which led in some cases to execution of the XPath engine *before* having a parsed XML value. Moved to Item_xml_str_func::fix_fields(). 2. Cleanup: added a new method Item_xml_str_func::fix_fields() and moved most of the code from Item_xml_str_func::fix_length_and_dec() to Item_xml_str_func::fix_fields(), to follow the usual Item layout. 3. Cleanup: a parsed XML value is useless without the raw XML value it was built from. Previously the parsed and the raw values where stored in separate String instances. It was hard to follow how they are synchronized. Added a helper class XML which contains both parsed and raw values. Makes things easier to read and modify. 4. MDEV-5709: const_item() could incorrectly return a "true" result when XPath expression contains users/SP variable references. Now nodeset_func->const_item() is also taken into account to catch such cases. 5. Minor code enhancements.
* | | | | | MDEV-5870 Assertion `ltime->neg == 0' fails with COALESCE, ADDDATE, MAKEDATEAlexander Barkov2014-03-231-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A huge number in the "day" part of an interval made the code to return a negative date erroneously. Adding a test to return an error on a too large "day" value.
* | | | | | Fixed bug mdev-5931.Igor Babaev2014-03-221-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After constant table row substitution the where condition may be converted to always true. The function calculate_cond_selectivity_for_table() should take into account this possibility.
* | | | | | MDEV-5917: EITS: different order of predicates in IN (...) causes different ↵Sergey Petrunya2014-03-211-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | estimates - Save range key before making field->pos_in_interval() call (like we do for non-equality ranges)
* | | | | | Automatic mergeMichael Widenius2014-03-202-1/+36
|\ \ \ \ \ \
| * | | | | | MDEV-5854 Interrupted CREATE OR REPLACE is written into binlog, and in a ↵Michael Widenius2014-03-192-1/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wrong format mysql-test/r/create_or_replace2.result: Added test case mysql-test/t/create_or_replace.test: Fixed comment mysql-test/t/create_or_replace2.test: Added test case sql/sql_base.cc: Safety fix: Don't let threads with query_id=0 free temporary tables as this may free temporary tables not in use. This is mostly the case for the slave io threads, as most other threads has thd->query_id != 0. sql/sql_table.cc: Added comment. Ignore kill when opening temporary table for CREATE ... LIKE. This fixed the original isue
* | | | | | | Merge.Igor Babaev2014-03-191-0/+55
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | |
| * | | | | | Fixed bug mdev-5191.Igor Babaev2014-03-181-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Corrected cost estimates when a join buffer is used and the optimizer is requested to use condition selectivities.
* | | | | | | MergeSergey Petrunya2014-03-171-0/+22
|\ \ \ \ \ \ \
| * | | | | | | MDEV-4410: update does not want to use a covering index, but select uses itSergey Petrunya2014-03-161-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - If an UPDATE 1) modifies the key it is using, and 2) has ORDER BY ... LIMIT which matches the key it is using, Then we should use "Using buffer", not "Using filesort".
* | | | | | | | create_or_replace test failed with embedded-server due to differentElena Stepanova2014-03-151-0/+6
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | thread IDs
* | | | | | | MDEV-5814: MySQL Bug#13948247 DIVISION BY 0 IN GET_BEST_DISJUNCT_QUICK WITH ↵Sergey Petrunya2014-03-141-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FORCE INDEX GROUP BY - Adopt MySQL's fix: don't run index_merge optimizer if the table statistics reports that the table has 0 rows.
* | | | | | | MergeSergey Petrunya2014-03-142-0/+79
|\ \ \ \ \ \ \
| * | | | | | | Bug #13571700 TINYBLOB NOT NULL, CRASH IN PROTOCOL::NET_STORE_DATASergey Petrunya2014-03-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Backport testcase from mysql-5.6
| * | | | | | | Bug#45227: Lost HAVING clause led to a wrong result.Sergey Petrunya2014-03-071-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Backport testcase from mysql-5.6
| * | | | | | | BUG#13803810: TOO FEW ROWS RETURNED FOR RANGE ACCESS IN VARCHAR INDEX USING ↵Sergey Petrunya2014-03-071-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DATETIME VALUE - Backport the testcase from mysql-5.6
| * | | | | | | BUG#13731380: RANGE OPTIMIZER CALLS RECORDS_IN_RANGE() FOR OPEN RANGESergey Petrunya2014-03-071-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Backport testcase from mysql-5.6
* | | | | | | | MDEV-5819: MySQL Bug #13500371 63704: CONVERSION OF '1.' TO A NUMBER GIVES ↵unknown2014-03-141-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ERROR 1265 (WARN_DATA_TRUNCATED) Fix by MySQL ported