summaryrefslogtreecommitdiff
path: root/mysql-test/t
Commit message (Collapse)AuthorAgeFilesLines
* 5.2 mergemariadb-5.3.12Sergei Golubchik2013-01-282-0/+20
|\
| * 5.1 mergeSergei Golubchik2013-01-252-0/+20
| |\
| | * MDEV-729 lp:998028 - Server crashes on normal shutdown in closefrm after ↵mariadb-5.1.67Sergei Golubchik2013-01-251-0/+8
| | | | | | | | | | | | | | | | | | executing a query from MyISAM table don't write a key value into the record buffer - a key length can be larger then the record length.
| | * MDEV-759 lp:998340 - Valgrind complains on simple selects containing ↵Sergei Golubchik2013-01-251-0/+11
| | | | | | | | | | | | | | | | | | expression DAY(FROM_UNIXTIME(-1)) check item->null_value before using the result of item->val_int()
* | | MDEV-3875 Wrong result (missing row) on a DISTINCT query with the same ↵Sergei Golubchik2013-01-261-0/+24
| | | | | | | | | | | | | | | | | | subquery in the SELECT list and GROUP BY fix remove_dup_with_hash_index() and remove_dup_with_compare() to take NULLs into account
* | | The problem was that expression with field after transformation (on the ↵unknown2013-01-251-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | first execution) reached by fix_fields() (via reference) before row which it belongs to (on the second execution) and fix_field for row did not follow usual protocol for Items with argument (first check that the item fixed then call fix_fields). Item_row::fix_field fixed.
* | | 5.2 mergeSergei Golubchik2013-01-252-0/+61
|\ \ \ | |/ /
| * | MDEV-3909 remote user enumerationSergei Golubchik2013-01-251-0/+37
| | | | | | | | | | | | | | | | | | instead of returning Access denied on the incorrect user name, emulate the complete failed logic procedure, possibly with the change plugin packet.
| * | MDEV-3915 COM_CHANGE_USER allows fast password brute-forcingSergei Golubchik2013-01-251-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | allow only three failed change_user per connection. successful change_user do NOT reset the counter tests/mysql_client_test.c: make --error to work for --change_user errors
* | | Merge 5.2->5.3Igor Babaev2013-01-212-0/+26
|\ \ \ | |/ /
| * | Merge 5.1->5.2Igor Babaev2013-01-212-0/+26
| |\ \ | | |/
| | * Merge.Igor Babaev2013-01-212-0/+18
| | |\
| | | * Fixed bug mdev-4063 (bug #56927).Igor Babaev2013-01-212-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug could result in returning 0 for the expressions of the form <aggregate_function>(distinct field) when the system variable max_heap_table_size was set to a small enough number. It happened because the method Unique::walk() did not support the case when more than one pass was needed to merge the trees of distinct values saved in an external file. Backported a fix in grant_lowercase.test from mariadb 5.5.
| | * | MDEV-4029 SELECT on information_schema using a subquery locks up the ↵Sergei Golubchik2013-01-211-0/+9
| | |/ | | | | | | | | | | | | | | | | | | | | | information_schema table due to incorrect mutexes handling Early evaluation of subqueries in the WHERE conditions on I_S.*_STATUS tables, otherwise the subquery on this same table will try to acquire LOCK_status twice.
* | | MDEV-4056 fix.unknown2013-01-161-0/+26
| | | | | | | | | | | | | | | | | | The problem was that maybe_null of Item_row and its componetes was unsynced after update_used_tables() (and so pushed_cond_guards was not initialized but then requested). Fix updates Item_row::maybe_null on update_used_tables().
* | | MDEV-3900 Optimizer difference between MySQL and MariaDB with stored ↵unknown2013-01-171-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | functions in WHERE clause of UPDATE or DELETE statements Analysis The reason for the less efficient plan was result of a prior design decision - to limit the eveluation of constant expressions during optimization to only non-expensive ones. With this approach all stored procedures were considered expensive, and were not evaluated during optimization. As a result, SPs didn't participate in range optimization, which resulted in a plan with table scan rather than index range scan. Solution Instead of considering all SPs expensive, consider expensive only those SPs that are non-deterministic. If an SP is deterministic, the optimizer will checj if it is constant, and may eventually evaluate it during optimization.
* | | MDEV-3988 fix.unknown2013-01-161-0/+14
| | | | | | | | | | | | Subquery turned into constant too late to be excluded from grouping list so test for constant added to the create_temp_table().
* | | 5.2->5.3 mergeSergei Golubchik2013-01-1019-1010/+119
|\ \ \ | |/ /
| * | 5.1 mergeSergei Golubchik2013-01-1019-998/+119
| |\ \ | | |/
| | * mysql-5.1.67 mergeSergei Golubchik2013-01-0917-998/+87
| | |\
| | | * BUG#14659685 - main.mysqlbinlog_row_myisam andShivji Kumar Jha2012-10-308-954/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | main.mysqlbinlog_row_innodb are skipped by mtr === Problem === The following tests are wrongly placed in main suite and as a result these are not run with proper binlog format combinations. Some are always skipped by mtr. 1) mysqlbinlog_row_myisam 2) mysqlbinlog_row_innodb 3) mysqlbinlog_row.test 4) mysqlbinlog_row_trans.test 5) mysqlbinlog-cp932 6) mysqlbinlog2 7) mysqlbinlog_base64 === Background === mtr runs the tests placed in main suite with binlog format=stmt. Those that need to be tested against binlog format=row or mixed or more than one binlog format and require only one mysql server are placed in binlog suite. mtr runs tests in binlog suite with all three binlog formats(stmt,row and mixed). === Fix === 1) Moved the test listed in problem section above to binlog suite. 2) Added prefix "binlog_" to the name of each test case moved. Renamed the coresponding result files and option files accordingly. mysql-test/extra/binlog_tests/mysqlbinlog_row_engine.inc: include file for mysqlbinlog_row_myisam.test and mysqlbinlog_row_myisam.test which are being moved to binlog suite. mysql-test/suite/binlog/r/binlog_mysqlbinlog-cp932.result: result file for mysqlbinlog-cp932.test which is being moved to binlog suite. mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result: result file for mysqlbinlog2.test which is being moved to binlog suite. mysql-test/suite/binlog/r/binlog_mysqlbinlog_base64.result: result file for mysqlbinlog_base64.test which is being moved to binlog suite. mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result: result file for mysqlbinlog_row.test which is being moved to binlog suite. mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result: result file for mysqlbinlog_row_innodb.test which is being moved to binlog suite. mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result: result file for mysqlbinlog_row_myisam.test which is being moved to binlog suite. mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_trans.result: result file for mysqlbinlog_row_trans.test which is being moved to binlog suite. mysql-test/suite/binlog/t/binlog_mysqlbinlog-cp932-master.opt: option file for mysqlbinlog-cp932.test which is being moved to binlog suite. mysql-test/suite/binlog/t/binlog_mysqlbinlog-cp932.test: the test requires binlog format=stmt or mixed. Since, it was placed in main suite earlier, it was only run with binlog format=stmt, and hence this test was never run with binlog format=mixed. mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test: the test requires binlog format=stmt or mixed. Since, it was placed in main suite earlier, it was only run with binlog format=stmt, and hence this test was never run with binlog format=mixed. mysql-test/suite/binlog/t/binlog_mysqlbinlog_base64.test: the test requires binlog format=row. Since, it was placed in main suite earlier, it was only run with binlog format=stmt, and hence this test was always skipped by mtr. mysql-test/suite/binlog/t/binlog_mysqlbinlog_row.test: the test requires binlog format=row. Since, it was placed in main suite earlier, it was only run with binlog format=stmt, and hence this test was always skipped by mtr. mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_innodb.test: the test requires binlog format=row. Since, it was placed in main suite earlier, it was only run with binlog format=stmt, and hence this test was always skipped by mtr. mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_myisam.test: the test requires binlog format=row. Since, it was placed in main suite earlier, it was only run with binlog format=stmt, and hence this test was always skipped by mtr. mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_trans.test: the test requires binlog format=row. Since, it was placed in main suite earlier, it was only run with binlog format=stmt, and hence this test was always skipped by mtr.
| | | * Fix sp_notembedded.test.Alexander Nozdrin2012-10-291-10/+10
| | | |
| | | * Description:Akhila Maddukuri2012-09-262-29/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ----------- After compiling from source, during make test I got the following error: test main.loaddata failed with error CURRENT_TEST: main.loaddata mysqltest: At line 592: query 'LOAD DATA INFILE 'tmpp.txt' INTO TABLE t1 CHARACTER SET ucs2 (@b) SET a=REVERSE(@b)' failed: 1115: Unknown character set: 'ucs2' I noticed other tests are skipped because of no ucs2 main.mix2_myisam_ucs2 [ skipped ] Test requires:' have_ucs2' Should main.loaddata be skipped if there is no ucs2 How To Repeat: ------------- Run make test on compiled source that doesn't have ucs2 Suggested fix: ------------- the failing piece of the test should be moved from mysql-test/t/loaddata.test to mysql-test/t/ctype_ucs.test.
| | * | proactive s/strmov/strnmov/ in sql_acl.cc and related test casesSergei Golubchik2012-12-042-0/+31
| | | |
* | | | MDEV-3873 & MDEV-3876 & MDEV-3912 : Wrong result (extra rows) with ALL subqueryunknown2012-12-282-0/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | from a MERGE view. The problem was in the lost ability to be null for the table of a left join if it is a view/derived table. It hapenned because setup_table_map(), was called earlier then we merged the view or derived. Fixed by propagating new maybe_null flag during Item::update_used_tables(). Change in join_outer.test and join_outer_jcl6.test appeared because IS NULL reported no used tables (i.e. constant) for argument which could not be NULL and new maybe_null flag was propagated for IS NULL argument (Item_field) because table the Item_field belonged to changed its maybe_null status.
* | | | MDEV-3928: Assertion `example' failed in Item_cache::is_expensive_processor ↵unknown2012-12-191-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with a 2-level IN subquery Analysis: The following call stack shows that it is possible to set Item_cache::value_cached, and the relevant value without setting Item_cache::example. #0 Item_cache_temporal::store_packed at item.cc:8395 #1 get_datetime_value at item_cmpfunc.cc:915 #2 resolve_const_item at item.cc:7987 #3 propagate_cond_constants at sql_select.cc:12264 #4 propagate_cond_constants at sql_select.cc:12227 #5 optimize_cond at sql_select.cc:13026 #6 JOIN::optimize at sql_select.cc:1016 #7 st_select_lex::optimize_unflattened_subqueries at sql_lex.cc:3161 #8 JOIN::optimize_unflattened_subqueries at opt_subselect.cc:4880 #9 JOIN::optimize at sql_select.cc:1554 The fix is to set Item_cache_temporal::example even when the value is set directly by Item_cache_temporal::store_packed. This makes the Item_cache_temporal object consistent.
* | | | MDEV-3914 fix.unknown2012-12-051-0/+26
| | | | | | | | | | | | | | | | Fixed algorithm of detecting of first real table in view/subquery-in-the-FROM-clase.
* | | | MergeIgor Babaev2012-11-221-0/+35
|\ \ \ \
| * | | | Fixed LP bug #1002146 (bug mdev-645).Igor Babaev2012-11-211-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the setting of system variables does not allow to use join buffer for a join query with GROUP BY <f1,...> / ORDER BY <f1,...> then filesort is not needed if the first joined table is scanned in the order compatible with order specified by the list <f1,...>.
* | | | | MDEV-736 LP:1004615 - Unexpected warnings "Encountered illegal value '' when ↵Sergei Golubchik2012-11-171-1/+15
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | converting to DECIMAL" on a query with aggregate functions and GROUP BY fix: don't call field->val_decimal() if the field->is_null() because the buffer at field->ptr might not hold a valid decimal value sql/item_sum.cc: do not call field->val_decimal() if the field->is_null() storage/maria/ma_blockrec.c: cleanup storage/maria/ma_rrnd.c: cleanup strings/decimal.c: typo
* | | | Merge MariaDB 5.2->5.3unknown2012-11-201-0/+11
|\ \ \ \ | |/ / /
| * | | Merge MariaDB 5.1->5.2.unknown2012-11-201-0/+11
| |\ \ \ | | |/ /
| | * | followup fixes for MySQL Bug #13889741: HANDLE_FATAL_SIGNAL IN _DB_ENTER_ | ↵Sergei Golubchik2012-11-121-0/+7
| | | | | | | | | | | | | | | | HANDLE_FATAL_SIGNAL IN STRNLEN
| | * | add a test case for MySQL Bug #13889741: HANDLE_FATAL_SIGNAL IN _DB_ENTER_ | ↵Sergei Golubchik2012-11-091-0/+4
| | | | | | | | | | | | | | | | HANDLE_FATAL_SIGNAL IN STRNLEN
| | * | Updated test results after the mysql 5.1 merge.unknown2012-11-071-3/+3
| | | |
* | | | MDEV-3801unknown2012-11-191-8/+9
| | | | | | | | | | | | | | | | Adjust unstable test case.
* | | | MDEV-3801 Reproducible sub select join crash on 5.3.8 and 5.3.9unknown2012-11-191-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | Properly drop all unused keys. Patch by Igor Babaev.
* | | | adjust openssl_1 test as in 5.2 (no idea why this didn't merge)unknown2012-11-091-3/+3
| | | |
* | | | merge test case adjustments from 5.2unknown2012-11-091-1/+2
|\ \ \ \ | |/ / /
| * | | Removed the dependency on PBXT from tests information_schema_all_engines, ↵unknown2012-11-091-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | and is_columns_is. Made information_schema_all_engines stable by adding "sorted_result".
* | | | Merge MariaDB 5.1.66 -> 5.2 -> 5.3unknown2012-11-091-3/+9
|\ \ \ \ | |/ / /
| * | | Merge MariaDB 5.1.66 -> 5.2.12unknown2012-11-081-3/+9
| |\ \ \ | | |/ /
| | * | Merge MySQL 5.1.66 -> MariaDB 5.1.65unknown2012-11-061-3/+9
| | |\ \ | | | |/
| | | * Bug #13115401: -SSL-KEY VALUE IS NOT VALIDATED AND IT ALLOWS INSECURE Venkata Sidagam2012-08-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CONNECTIONS IF SPE Problem description: -ssl-key value is not validated, you can assign any bogus text to --ssl-key and it is not verified that it exists, and more importantly, it allows the client to connect to mysqld. Fix: Added proper validations checks for --ssl-key. Note: 1) Documentation changes require for 5.1, 5.5, 5.6 and trunk in the sections listed below and the details are : http://dev.mysql.com/doc/refman/5.6/en/ssl-options.html#option_general_ssl and REQUIRE SSL section of http://dev.mysql.com/doc/refman/5.6/en/grant.html 2) Client having with option '--ssl', should able to get ssl connection. This will be implemented as part of separate fix in 5.6 and trunk.
| | | * Bug #12876932 - INCORRECT SELECT RESULT ON FEDERATED TABLEVenkata Sidagam2012-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem description: Table 't' created with two colums having compound index on both the columns under innodb/myisam engine at remote machine. In the local machine same table is created undet the federated engine. A select having where clause with along 'AND' operation gives wrong results on local machine. Analysis: The given query at federated engine is wrongly transformed by federated::create_where_from_key() function and the same was sent to the remote machine. Hence the local machine is showing wrong results. Given query "select c1 from t where c1 <= 2 and c2 = 1;" Query transformed, after ha_federated::create_where_from_key() function is: SELECT `c1`, `c2` FROM `t` WHERE (`c1` IS NOT NULL ) AND ( (`c1` >= 2) AND (`c2` <= 1) ) and the same sent to real_query(). In the above the '<=' and '=' conditions were transformed to '>=' and '<=' respectively. ha_federated::create_where_from_key() function behaving as below: The key_range is having both the start_key and end_key. The start_key is used to get "(`c1` IS NOT NULL )" part of the where clause, this transformation is correct. The end_key is used to get "( (`c1` >= 2) AND (`c2` <= 1) )", which is wrong, here the given conditions('<=' and '=') are changed as wrong conditions('>=' and '<='). The end_key is having {key = 0x39fa6d0 "", length = 10, keypart_map = 3, flag = HA_READ_AFTER_KEY} The store_length is having value '5'. Based on store_length and length values the condition values is applied in HA_READ_AFTER_KEY switch case. The switch case 'HA_READ_AFTER_KEY' is applicable to only the last part of the end_key and for previous parts it is going to 'HA_READ_KEY_OR_NEXT' case, here the '>=' is getting added as a condition instead of '<='. Fix: Updated the 'if' condition in 'HA_READ_AFTER_KEY' case to affect for all parts of the end_key. i.e 'i > 0' will used for end_key, Hence added it in the if condition. mysql-test/suite/federated/federated.test: modified the federated.inc file location mysql-test/suite/federated/federated_archive.test: modified the federated.inc file location mysql-test/suite/federated/federated_bug_13118.test: modified the federated.inc file location mysql-test/suite/federated/federated_bug_25714.test: modified the federated.inc file location mysql-test/suite/federated/federated_bug_35333.test: modified the federated.inc file location mysql-test/suite/federated/federated_debug.test: modified the federated.inc file location mysql-test/suite/federated/federated_innodb.test: modified the federated.inc file location mysql-test/suite/federated/federated_server.test: modified the federated.inc file location mysql-test/suite/federated/federated_transactions.test: modified the federated.inc file location mysql-test/suite/federated/include/federated.inc: moved the file from federated suite to federated/include folder mysql-test/suite/federated/include/federated_cleanup.inc: moved the file from federated suite to federated/include folder mysql-test/suite/federated/include/have_federated_db.inc: moved the file from federated suite to federated/include folder storage/federated/ha_federated.cc: updated the 'if condition' in ha_federated::create_where_from_key() function.
* | | | Merge.Igor Babaev2012-11-021-0/+58
|\ \ \ \
| * | | | Fixed bug mdev-585 (LP bug #637962)Igor Babaev2012-11-011-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If, when executing a query with ORDER BY col LIMIT n, the optimizer chose an index-merge scan to access the table containing col while there existed an index defined over col then optimizer did not consider the possibility of using an alternative range scan by this index to avoid filesort. This could cause a performance degradation if the optimizer flag index_merge was set up to 'on'.
* | | | | Merge 5.2 -> 5.3unknown2012-11-014-0/+130
|\ \ \ \ \ | |/ / / / |/| / / / | |/ / /
| * | | Merge 5.1 -> 5.2unknown2012-11-011-0/+8
| |\ \ \ | | |/ /
| | * | Fixed MDEV-612, LP:1010759 - Valgrind error ↵Michael Widenius2012-10-311-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ha_maria::check_if_incompatible_data on mysql-test/r/partition.result: Added test case mysql-test/t/partition.test: Added test case sql/ha_partition.cc: Removed printing of not initialized variable storage/maria/ha_maria.cc: Don't copy variables that are not initialized