summaryrefslogtreecommitdiff
path: root/mysql-test
Commit message (Collapse)AuthorAgeFilesLines
* Merge 10.0.14 into 10.1Sergei Golubchik2014-10-15264-457/+31502
|\
| * MDEV-6776 ujis and eucjmps erroneously accept 0x8EA0 as a valid byte sequenceAlexander Barkov2014-09-244-0/+74
| |
| * 5.5 mergeSergei Golubchik2014-09-232-2/+70
| |\
| | * MDEV-6743 crash in GROUP_CONCAT(IF () ORDER BY 1)Michael Widenius2014-09-232-2/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/r/func_group.result: Test case mysql-test/t/func_group.test: Test case sql/item_sum.cc: Restore ORDER for prepared statements
| * | Adding tests for handling 0x5C as the second byte in a multi-byte sequence,Alexander Barkov2014-09-235-0/+97
| | | | | | | | | | | | | | | | | | | | | and as a escape character when SET NAMES xxx, character_set_connection=binary; for cp932,big5,gbk,sjis
| * | Fixed test failuresMichael Widenius2014-09-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added comments Ensure that tokudb test works even if jemalloc is not installed Removed not referenced function Item::remove_fixed() mysql-test/suite/rpl/t/rpl_gtid_reconnect.test: Fixed race condition sql/item.cc: Indentation fix sql/item.h: Removed not used function Added comment sql/sql_select.cc: Fixed indentation storage/tokudb/mysql-test/rpl/include/have_tokudb.opt: Ensure that tokudb test works even if jemalloc is not installed storage/tokudb/mysql-test/tokudb/suite.opt: Ensure that tokudb test works even if jemalloc is not installed storage/tokudb/mysql-test/tokudb_add_index/suite.opt: Ensure that tokudb test works even if jemalloc is not installed storage/tokudb/mysql-test/tokudb_alter_table/suite.opt: Ensure that tokudb test works even if jemalloc is not installed storage/tokudb/mysql-test/tokudb_bugs/suite.opt: Ensure that tokudb test works even if jemalloc is not installed storage/tokudb/mysql-test/tokudb_mariadb/suite.opt: Ensure that tokudb test works even if jemalloc is not installed
| * | print binlog unsafe errors at log_warnings level 1, not 2.Sergei Golubchik2014-09-181-1/+1
| | |
| * | MDEV-6752 Trailing incomplete characters are not replaced to question marks ↵Alexander Barkov2014-09-183-1/+79
| | | | | | | | | | | | on conversion
| * | fix intermittent failures of main.create_or_replace test in buildbotSergei Golubchik2014-09-172-12/+12
| | | | | | | | | | | | | | | don't kill statements in the default connection, kill them in a connection that will be closed - it'll guarantee that `KILL con_id` will not apply to unrelated statements.
| * | mergeSergei Golubchik2014-09-1616-11/+538
| |\ \
| | * | fixes for test casesSergei Golubchik2014-09-162-2/+4
| | | |
| | * | 5.5 mergeSergei Golubchik2014-09-1614-9/+534
| | |\ \ | | | |/
| | | * for mysql-test: fix mysqlhotcopy script to return a predictable exit codeSergei Golubchik2014-09-161-1/+1
| | | |
| | | * 5.3 mergeSergei Golubchik2014-09-126-4/+463
| | | |\
| | | | * Fixed bug mdev-6292.Igor Babaev2014-09-094-4/+282
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoided exponential recursive calls of JOIN_CACHE::join_records() in the case of non-nested outer joins. A different solution is required to resolve this performance problem for nested outer joins.
| | | | * Merge.Igor Babaev2014-08-042-0/+181
| | | | |\
| | | | | * Fixed bug mdev-5721.Igor Babaev2014-07-312-0/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not define a look-up key for a temporary table if its length exceeds the maximum length of such keys.
| | | * | | MDEV-6526 INFO_SRC and INFO_BIN installed wrongSergei Golubchik2014-09-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | don't install them at all
| | | * | | MDEV-6619 SHOW PROCESSLIST returns empty result set after KILL QUERYSergei Golubchik2014-09-122-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | don't send an OK packet if the SHOW PROCESSLIST was killed
| | | * | | MDEV-6682 innodb.innodb_simulate_comp_failures_small is too slow Jan Lindström2014-09-032-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if it's run on a real disk Made test smaller.
| | | * | | MDEV-6673 I_S.SESSION_VARIABLES shows global valuesSergei Golubchik2014-08-312-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | only look at lex->option_type if it's a SHOW command, not a SELECT
| | | * | | MDEV-6601 Assertion `!thd->in_active_multi_stmt_transa ction() || ↵Sergei Golubchik2014-08-252-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | thd->in_multi_stmt_transaction_mode()' failed on executing a stored procedure with commit Don't restore the whole of thd->server_status after a routine invocation, only restore SERVER_STATUS_CURSOR_EXISTS and SERVER_STATUS_LAST_ROW_SENT, as --ps --embedded needs. In particular, don't restore SERVER_STATUS_IN_TRANS.
| * | | | | Auto mergeMichael Widenius2014-09-166-22/+20
| |\ \ \ \ \
| | * | | | | Don't give warning if there are two unique keys used with INSERT .. ON ↵Michael Widenius2014-09-164-22/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DUPLICATE KEY UPDATE. We should assume that the store engine will report the first duplicate key for this case. Old code of suppression of unsafe logging error with LIMIT didn't work, because of wrong usage of my_interval_timer(). Suppress unsafe logging errors to the error log if we get too many unsafe logging errors in a short time. This is to not overflow the error log with meaningless errors. - Each error code is suppressed and counted separately. - We do a 5 minute suppression of new errors if we get more than 10 errors in that time. Only print unsafe logging errors if log_warnings > 1. mysql-test/suite/binlog/r/binlog_stm_unsafe_warning.result: Update test results as INSERT ... ON DUPLICATE KEY UPDATE doesn't get logged anymore mysql-test/suite/binlog/r/binlog_unsafe.result: Update test results as INSERT ... ON DUPLICATE KEY UPDATE doesn't get logged anymore mysql-test/suite/engines/README: Fixed typos mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: Update test results as INSERT ... ON DUPLICATE KEY UPDATE doesn't get logged anymore sql/sql_base.cc: Don't log warning if there are two unique keys used with INSERT .. ON DUPLICATE KEY UPDATE. We should assume that the store engine will report the first duplicate key for this case. sql/sql_class.cc: Suppress error in binary log if we get too many unsafe logging errors in a short time. Only print unsafe logging errors if log_warnings > 1
| | * | | | | Fixed randomly failing testMichael Widenius2014-09-152-0/+6
| | | | | | |
| * | | | | | Changes in storage_engine test suite:Elena Stepanova2014-09-152-0/+49
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - added more logic for ON DUPICATE KEY UPDATE upon Monty's request; - added an overlay for XtraDB
| * | | | | - Adding big5, cp932, gbk, sjis tests covering characters that canAlexander Barkov2014-09-139-0/+960
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | have 0x5C as the second byte in a multi-byte character. - Adding big5 tests covering an unassigned character 0xC840 being stored into char/varchar/text/enum columns.
| * | | | MDEV-6737 Stored routines do now work with swe7: "The table mysql.proc is ↵Alexander Barkov2014-09-122-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | missing, corrupt, or contains bad data" Fixed the bug itself. Also, added "SET NAMES swe7" which was forgotten in the previous commit, so latin1 was actually tested lati1 instead of swe7 in a mistake. Now it tests swe7.
| * | | | Adding thorough tests covering what happens with escaped sequencesAlexander Barkov2014-09-1217-0/+21909
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in the SQL parser. Various backslash escapes and quote-quote escaped sequences are covered in combination with single and multi-byte characters. This is especially important for the character sets that can have 0x5C as the second byte in a multi-byte character (big5, cp932, gbk, sjis). swe7 is also a special character set, because in swe7 0x5C is used for both escape character and for "LATIN CAPITAL LETTER O WITH DIAERESIS".
| * | | | Automatic mergeMichael Widenius2014-09-1113-3/+220
| |\ \ \ \
| | * | | | MDEV-6255 DUPLICATE KEY Errors on SELECT .. GROUP BY that uses temporary and ↵Michael Widenius2014-09-118-3/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | filesort. The problem was that my_hash_sort didn't properly delete end-space characters properly, so strings that should compare identically was seen as different strings. (Space was handled correctly, but not NBSP) This caused duplicate key errors when a heap table was converted to Aria as part of overflow in group by. Fixed by removing all characters that compares as end space when creating a hash. Other things: - Fixed that --sorted_results also works for errors in mysqltest. - Speed up hash by not comparing strings that has different hash. - Speed up many my_hash_sort functions by using registers to calculate hash instead of pointers. This was previously done for some functions, but not for all. - Made a macro of the hash function, to simplify code and to be able to experiment with new hash functions. client/mysqltest.cc: Fixed that --sorted_results also works for error messages. mysql-test/r/ctype_partitions.result: New test to ensure that partitions on hash works mysql-test/suite/multi_source/gtid.result: Updated result mysql-test/suite/multi_source/gtid.test: Test that --sorted_result works for error messages mysql-test/suite/multi_source/gtid_ignore_duplicates.result: Updated result mysql-test/suite/multi_source/gtid_ignore_duplicates.test: Updated result mysql-test/suite/multi_source/load_data.result: Updated result mysql-test/suite/multi_source/load_data.test: Updated result mysql-test/t/ctype_partitions.test: New test to ensure that partitions on hash works storage/heap/hp_write.c: Speed up hash by not comparing strings that has different hash. storage/maria/ma_check.c: Extra debug strings/ctype-bin.c: Use macro for hash function strings/ctype-latin1.c: Use macro for hash function Use registers to calculate hash (speedup) strings/ctype-mb.c: Use macro for hash function Use registers to calculate hash (speedup) strings/ctype-simple.c: Use macro for hash function Use same variable names as in other my_hash_sort functions. Update my_hash_sort_simple() to properly remove end space (patch by Bar) strings/ctype-uca.c: Ignore duplicated space inside strings and end space in my_hash_sort_uca(). This fixed MDEV-6255 Use macro for hash function Use registers to calculate hash (speedup) strings/ctype-ucs2.c: Use macro for hash function Use registers to calculate hash (speedup) strings/ctype-utf8.c: Use macro for hash function Use registers to calculate hash (speedup) strings/strings_def.h: Made a macro of the hash function, to simplify code and to be able to experiment with new hash functions.
| | * | | | Fixed two bugs with CREATE OR REPLACE and LOCK TABLES:Michael Widenius2014-09-085-0/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MDEV-6560 Assertion `! is_set() ' failed in Diagnostics_area::set_ok_status on killing CREATE OR REPLACE MDEV-6525 Assertion `table->pos_in_locked _tables == __null || table->pos_in_locked_tables->table = table' failed in mark_used_tables_as_free_for_reuse, locking problems and binlogging problems on CREATE OR REPLACE under lock. mysql-test/r/create_or_replace.result: Added test for MDEV-6560 mysql-test/t/create_or_replace.test: Added test for MDEV-6560 mysql-test/valgrind.supp: Added suppression for OpenSuse 12.3 sql/sql_base.cc: More DBUG sql/sql_class.cc: Changed that thd_sqlcom_can_generate_row_events() does not report that CREATE OR REPLACE is generating row events. This is safe as this function is only used by InnoDB/XtraDB to check if a query is generating row events as part of another transaction. As CREATE is always run as it's own transaction, this isn't a problem. This fixed MDEV-6525. sql/sql_table.cc: Remember if reopen_tables() generates an error (which can only happen in case of KILL). This fixed MDEV-6560
| * | | | | InnoDB 5.6.20Sergei Golubchik2014-09-114-10/+10
| |/ / / /
| * | | | MDEV-6580 Assertion `thd' failed in my_malloc_size_cb_func upon writing ↵Sergei Golubchik2014-09-072-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | status report into error log thd is NULL in the signal handler, display_table_locks() should expect that
| * | | | MDEV-6610 Assertion `thd->is_error() || thd->killed' failed in ↵Sergei Golubchik2014-09-062-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql_execute_command on executing an SP with repeated CREATE TABLE .. SELECT the bug was introduced by CREATE OR REPLACE implementation. CREATE IF NOT EXISTS ... SELECT was returning an error status to the caller, while sending an ok packet to the user. SP code was not prepared for that and trusted that error status means an error.
| * | | | - MDEV-6695 Bad column name for UCS2 string literalsAlexander Barkov2014-09-044-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Item_string constructors called set_name() on the source string, which was wrong because in case of UCS2/UTF16/UTF32 the source value might be a not well formed string (e.g. have incomplete leftmost character). Now set_name() is called on str_value after its copied (with optionally left zero padding) from the source string. - MDEV-6694 Illegal mix of collation with a PS parameter Item_param::convert_str_value() did not set repertoire. Introducing a new structure MY_STRING_METADATA to collect character length and repertoire of a string in a single loop, to avoid two separate loops. Adding a new class Item_basic_value::Metadata as a convenience wrapper around MY_STRING_METADATA, to reuse the code between Item_string and Item_param.
| * | | | MDEV-6044 MySQL BUG#12735829 - SPACE() FUNCTION WARNING REFERS TO REPEAT() ↵Alexander Barkov2014-09-043-8/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IN ER_WARN_ALLOWED_PACKET_OVERFLOWED Merged from 5.6
| * | | | MDEV-6688 Illegal mix of collation with bit string B'01100001'Alexander Barkov2014-09-032-0/+22
| | | | |
| * | | | MDEV-6462: Slave replicating using GTID doesn't recover correctly when ↵Kristian Nielsen2014-09-022-0/+279
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master crashes in the middle of transaction If the slave gets a reconnect in the middle of a GTID event group, normally it will re-fetch that event group, skipping the first part that was already queued for the SQL thread. However, if the master crashed while writing the event group, the group is incomplete. This patch detects this case and makes sure that the transaction is rolled back and nothing is skipped from any following event groups. Similarly, a network proxy might cause the reconnect to end up on a different master server. Detect this by noticing a different server_id, and similarly in this case roll back the partially received group.
| * | | | MDEV-6683 A parameter and a string literal with the same values are not ↵Alexander Barkov2014-09-032-4/+19
| | | | | | | | | | | | | | | | | | | | recognized as equal by the optimizer
| * | | | MDEV-6679 Different optimizer plan for "a BETWEEN 'string' AND ?" and "a ↵Alexander Barkov2014-09-022-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BETWEEN ? AND 'string'" Item_string::eq() and Item_param::eq() in string context behaved differently. Introducing a new class Item_basic_value to share the eq() code between literals (Item_int, Item_double, Item_string, Item_null) and Item_param.
| * | | | MDEV-6682 innodb.innodb_simulate_comp_failures_small is too slow Jan Lindström2014-09-022-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if it's run on a real disk Made test smaller.
| * | | | A clean-up for the previous patchAlexander Barkov2014-09-022-0/+12
| | | | |
| * | | | MDEV-6661 PI() does not work well in UCS2/UTF16/UTF32 contextAlexander Barkov2014-09-018-0/+233
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MDEV-6666 Malformed result for CONCAT(utf8_column, binary_string) Item_static_string_func::safe_charset_converter() and Item_hex_string::safe_charset_converter() did not handle character sets with mbminlen>1 properly, as well as did not handle conversion from binary to multi-byte well. Introducing Item::const_charset_converter(), to reuse it in a number of Item_*::safe_charset_converter().
| * | | | MDEV-6625 SHOW GRANTS for current_user_name@wrong_host_nameSergei Golubchik2014-08-212-0/+9
| | | | |
| * | | | sanitySergei Golubchik2014-08-103-37/+25
| | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/mysql-test-run.pl: fix the message
| * | | | Fix test case that requires dbug to not fail in release build.Kristian Nielsen2014-08-201-0/+1
| | | | |
| * | | | MDEV-6321: close_temporary_tables() in format description event not ↵Kristian Nielsen2014-08-192-0/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | serialised correctly Follow-up patch, fixing a possible deadlock issue. If the master crashes in the middle of an event group, there can be an active transaction in a worker thread when we encounter the following master restart format description event. In this case, we need to notify that worker thread to abort and roll back the partial event group. Otherwise a deadlock occurs: the worker thread waits for the commit that never arrives, and the SQL driver thread waits for the worker thread to complete its event group, which it never does.
| * | | | MDEV-6321: close_temporary_tables() in format description event not ↵Kristian Nielsen2014-07-023-0/+230
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | serialised correctly When a master server starts up, it logs a special format_description event at the start of a new binlog to mark that is has restarted. This is used by a slave to drop all temporary tables - this is needed in case the master crashed and did not have a chance to send explicit DROP TEMPORARY TABLE statements to the slave. In parallel replication, we need to be careful when dropping the temporary tables - we need to be sure that no prior events are still executing that might be using the temporary tables to be dropped, _and_ that no following events have started executing that might have created new temporary tables that should not be dropped. This was not handled correctly, which could cause errors about access to not existing temporary tables or even crashes. This patch implements that such format_description events cause serialisation of event execution; all prior events are executed to completion first, then the format_description event is executed, dropping temporary tables, then following events are queued for execution. Master restarts should be sufficiently infrequent that the resulting loss of parallelism should be of minimal impact.
| * | | | Automatic merge from 5.5Michael Widenius2014-08-193-9/+12
| |\ \ \ \ | | |/ / / | | | | | | | | | | Fixed 2 failing tests by replacing result files