- 15 Sep, 2014 3 commits
-
-
Michael Widenius authored
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
-
Michael Widenius authored
-
Michael Widenius authored
This was missing in my last commit for fixing possible lockups in SHOW STATUS. sql/log.cc: Fixed comment sql/sql_show.cc: Use LOCK_show_status when we add things to all_status_vars sql/sql_test.cc: Remove not needed mutex_lock
-
- 13 Sep, 2014 1 commit
-
-
Alexander Barkov authored
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.
-
- 12 Sep, 2014 6 commits
-
-
Sergei Golubchik authored
-
Alexander Barkov authored
MDEV-6737 Stored routines do now work with swe7: "The table mysql.proc is 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.
-
Michael Widenius authored
-
Michael Widenius authored
Instead we use LOCK_status only to protect summary of thread statistics and use a new mutex, LOCK_show_status to protect concurrent SHOW STATUS. sql/mysqld.cc: Add LOCK_show_status Don't free LOCK_status while calculating status variables. sql/mysqld.h: Add LOCK_show_status sql/sql_show.cc: Use LOCK_show_status to protect SHOW STATUS instead of LOCK_status.
-
Michael Widenius authored
strings/ctype-uca.c: HASH needs to be done in opposite order to preserve partitioned tables
-
Alexander Barkov authored
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".
-
- 11 Sep, 2014 8 commits
-
-
Elena Stepanova authored
- after a change in 5.6.20, tests with big blobs require bigger innodb_log_file_size value; - innobase relay was running with the default InnoDB (XtraDB)
-
Michael Widenius authored
-
Michael Widenius authored
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.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Jan Lindström authored
file trx0trx.ic line 60 Problem was that trx might have not been started when we enter release savepoint, this can happen when trx with savepoint is already aborted or when we try to release non-existing savepoint.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 10 Sep, 2014 5 commits
-
-
Sergei Golubchik authored
SQLCOM_CREATE_INDEX was missing CF_REPORT_PROGRESS flag
-
Sergei Golubchik authored
make slave_skip_counter and max_relay_log_size ulonglong (sysvars should generally never be ulong)
-
Sergei Golubchik authored
check_engine() was not called for assisted discovery
-
Sergei Golubchik authored
MDEV-6565 search order for my.cnf inconsistent in docs/use, and global override with build-time -DDEFAULT_SYSCONFDIR is ignored don't let INSTALL_SYSCONFDIR overwrite DEFAULT_SYSCONFDIR
-
Sergei Golubchik authored
-
- 09 Sep, 2014 1 commit
-
-
Michael Widenius authored
Moved freeing of mutex earlier, as we don't need to have log_space_cond locked for doing rotate_relay_log() sql/slave.cc: Moved freeing of mutex earlier, as we don't need to have log_space_cond locked for doing rotate_relay_log()
-
- 08 Sep, 2014 2 commits
-
-
Michael Widenius authored
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
-
Sergei Golubchik authored
-
- 07 Sep, 2014 5 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
MDEV-6580 Assertion `thd' failed in my_malloc_size_cb_func upon writing status report into error log thd is NULL in the signal handler, display_table_locks() should expect that
-
Sergei Golubchik authored
merge the fix
-
- 06 Sep, 2014 3 commits
-
-
Olivier Bertrand authored
modified: storage/connect/ha_connect.cc - Suppress "Position array is null" warning. modified: storage/connect/filamtxt.cpp storage/connect/mysql-test/connect/r/part_table.result
-
Sergei Golubchik authored
MDEV-6610 Assertion `thd->is_error() || thd->killed' failed in 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.
-
Sergei Golubchik authored
master_info_index becomes zero during shutdown. check that it's valid (under a mutex) before dereferencing.
-
- 05 Sep, 2014 1 commit
-
-
Olivier Bertrand authored
modified: storage/connect/ha_connect.cc
-
- 04 Sep, 2014 4 commits
-
-
Alexander Barkov authored
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.
-
Alexander Barkov authored
and moving set_value() from Item_string to Item_string_for_in_vector, as set_value() updates the members incompletely (e.g. does not update max_length), so it was dangerous to have set_value() available in Item_string.
-
Alexander Barkov authored
-
Alexander Barkov authored
MDEV-6044 MySQL BUG#12735829 - SPACE() FUNCTION WARNING REFERS TO REPEAT() IN ER_WARN_ALLOWED_PACKET_OVERFLOWED Merged from 5.6
-
- 03 Sep, 2014 1 commit
-
-
Alexander Barkov authored
-