1. 16 Sep, 2014 1 commit
  2. 15 Sep, 2014 5 commits
    • Michael Widenius's avatar
      Auto merge · 8db1f728
      Michael Widenius authored
      8db1f728
    • Michael Widenius's avatar
      Don't give warning if there are two unique keys used with INSERT .. ON DUPLICATE KEY UPDATE. · 8e4566e9
      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
      8e4566e9
    • Michael Widenius's avatar
      Fixed randomly failing test · e167c48a
      Michael Widenius authored
      e167c48a
    • Elena Stepanova's avatar
      Changes in storage_engine test suite: · b41d5aeb
      Elena Stepanova authored
        - added more logic for ON DUPICATE KEY UPDATE upon Monty's request;
        - added an overlay for XtraDB
      b41d5aeb
    • Michael Widenius's avatar
      Use LOCK_show_status when we add things to all_status_vars · 7a50ce1d
      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
      7a50ce1d
  3. 13 Sep, 2014 1 commit
  4. 12 Sep, 2014 6 commits
  5. 11 Sep, 2014 8 commits
    • Elena Stepanova's avatar
      Fixes in storage_engine test suite · d2ae40ac
      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)
      d2ae40ac
    • Michael Widenius's avatar
      Automatic merge · c6051a4b
      Michael Widenius authored
      c6051a4b
    • Michael Widenius's avatar
      MDEV-6255 DUPLICATE KEY Errors on SELECT .. GROUP BY that uses temporary and filesort. · c4f5326b
      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.
      c4f5326b
    • Sergei Golubchik's avatar
      XtraDB 5.6.20-68.0 · 4a68817d
      Sergei Golubchik authored
      4a68817d
    • Sergei Golubchik's avatar
      InnoDB 5.6.20 · 75796d9e
      Sergei Golubchik authored
      75796d9e
    • Jan Lindström's avatar
      MDEV-6729: InnoDB: Failing assertion: state == TRX_STATE_NOT_STARTED in · c30a8442
      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.
      c30a8442
    • Sergei Golubchik's avatar
      percona-server-5.6.20-68.0 · 89b6517c
      Sergei Golubchik authored
      89b6517c
    • Sergei Golubchik's avatar
      5.6.20 · 993395bf
      Sergei Golubchik authored
      993395bf
  6. 10 Sep, 2014 5 commits
  7. 09 Sep, 2014 1 commit
  8. 08 Sep, 2014 2 commits
    • Michael Widenius's avatar
      Fixed two bugs with CREATE OR REPLACE and LOCK TABLES: · 9c79227c
      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
      9c79227c
    • Sergei Golubchik's avatar
      4d4ce59d
  9. 07 Sep, 2014 5 commits
  10. 06 Sep, 2014 3 commits
  11. 05 Sep, 2014 1 commit
  12. 04 Sep, 2014 2 commits
    • Alexander Barkov's avatar
      - MDEV-6695 Bad column name for UCS2 string literals · 9392d0e2
      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.
      9392d0e2
    • Alexander Barkov's avatar
      Creating a new class in_string::Item_string_for_in_vector · bf4347eb
      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.
      bf4347eb