1. 04 Sep, 2014 4 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
    • Alexander Barkov's avatar
      Using more Item_string_sys · c9d3b27d
      Alexander Barkov authored
      c9d3b27d
    • Alexander Barkov's avatar
      MDEV-6044 MySQL BUG#12735829 - SPACE() FUNCTION WARNING REFERS TO REPEAT() IN... · 58eb51d1
      Alexander Barkov authored
      MDEV-6044 MySQL BUG#12735829 - SPACE() FUNCTION WARNING REFERS TO REPEAT() IN ER_WARN_ALLOWED_PACKET_OVERFLOWED
      Merged from 5.6
      
      58eb51d1
  2. 03 Sep, 2014 2 commits
  3. 02 Sep, 2014 6 commits
  4. 01 Sep, 2014 1 commit
    • Alexander Barkov's avatar
      MDEV-6661 PI() does not work well in UCS2/UTF16/UTF32 context · 1427e1db
      Alexander Barkov authored
      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().
      1427e1db
  5. 25 Aug, 2014 1 commit
    • Jan Lindström's avatar
      MDEV-6590: InnoDB recover ends in signal 11 · 18b307a7
      Jan Lindström authored
      Analysis: When database is migrated from 5.5 or earlier and
      database needs crash recovery, there is possibility that
      SYS_DATAFILES system table does not exists, but
      crash recovery in function dict_check_tablespaces_and_store_max_id()
      assumes that SYS_DATAFILES exists.
      
      Fix: If SYS_DATAFILES does not exists, create it before
      we end up to function dict_check_tablespaces_and_store_max_id()
      on crash recovery.
      18b307a7
  6. 21 Aug, 2014 1 commit
  7. 10 Aug, 2014 1 commit
    • Sergei Golubchik's avatar
      sanity · b5ebc211
      Sergei Golubchik authored
      mysql-test/mysql-test-run.pl:
        fix the message
      b5ebc211
  8. 20 Aug, 2014 2 commits
  9. 19 Aug, 2014 1 commit
    • Kristian Nielsen's avatar
      MDEV-6321: close_temporary_tables() in format description event not serialised correctly · 453c29c3
      Kristian Nielsen authored
      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.
      453c29c3
  10. 02 Jul, 2014 1 commit
    • Kristian Nielsen's avatar
      MDEV-6321: close_temporary_tables() in format description event not serialised correctly · 4cb1e0ee
      Kristian Nielsen authored
      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.
      4cb1e0ee
  11. 19 Aug, 2014 2 commits
    • Michael Widenius's avatar
      Automatic merge from 5.5 · bd2117d1
      Michael Widenius authored
      Fixed 2 failing tests by replacing result files
      bd2117d1
    • Michael Widenius's avatar
      MDEV-6450 - MariaDB crash on Power8 when built with advance tool chain · 5569132f
      Michael Widenius authored
      Part of this work is based on Stewart Smitch's memory barrier and lower priori
      patches for power8.
      
      - Added memory syncronization for innodb & xtradb for power8.
      - Added HAVE_WINDOWS_MM_FENCE to CMakeList.txt
      - Added os_isync to fix a syncronization problem on power
      - Added log_get_lsn_nowait which is now used srv_error_monitor_thread to ensur
        if log mutex is locked.
      
      All changes done both for InnoDB and Xtradb
      5569132f
  12. 15 Aug, 2014 1 commit
    • Kristian Nielsen's avatar
      MDEV-6551: Some replication errors are ignored if slave_parallel_threads > 0 · cfa1ce81
      Kristian Nielsen authored
      The problem occured when using parallel replication, and an error occured that
      caused the SQL thread to stop when the IO thread had already reached a
      following binlog file from the master (or otherwise performed a relay log
      rotation).
      
      In this case, the Rotate Event at the end of the relay log file could still be
      executed, even though an earlier event in that relay log file had gotten an
      error. This would cause the position to be incorrectly updated, so that upon
      restart of the SQL thread, the event that had failed would be silently skipped
      and ignored, causing replication corruption.
      
      Fixed by checking before executing Rotate Event, whether an earlier event
      has failed. If so, the Rotate Event is not executed, just dequeued, same as
      for other normal events following a failing event.
      cfa1ce81
  13. 14 Aug, 2014 2 commits
    • Michael Widenius's avatar
      If one uses 3 --verbose options to mysql_upgrade or mysqlcheck one will now... · 65ac881c
      Michael Widenius authored
      If one uses 3 --verbose options to mysql_upgrade or mysqlcheck one will now get on stdout all ALTER, RENAME and CHECK commands that mysqlcheck executes.
      If one uses 4 --verbose to mysql_upgrade it will also write out all mysqlcheck commands invoked.
      
      
      mysql-test/r/mysql_upgrade.result:
        Updated results from changing phases
      mysql-test/r/mysql_upgrade_no_innodb.result:
        dated results from changing phases
      mysql-test/r/mysql_upgrade_ssl.result:
        dated results from changing phases
      65ac881c
    • Michael Widenius's avatar
      Added Innobase .ic and errmsg-utf8.txt to tagged files · 258ecf55
      Michael Widenius authored
      Fixed compiler warning
      
      storage/connect/tabdos.cpp:
        Fixed compiler warning
      support-files/build-tags:
        Added Innobase .ic and errmsg-utf8.txt to tagged files
        Speed up script
      258ecf55
  14. 13 Aug, 2014 4 commits
    • Kristian Nielsen's avatar
      Change a couple of permissions that cause lintian warnings in .deb packaging... · f2cbca79
      Kristian Nielsen authored
      Change a couple of permissions that cause lintian warnings in .deb packaging and don't really hurt to fix.
      f2cbca79
    • Kristian Nielsen's avatar
      MDEV-6549, failing to update gtid_slave_pos for a transaction that was retried. · ec05fea0
      Kristian Nielsen authored
      The bug was that in some cases, if a replicated transaction was rolled back
      due to deadlock, during the subsequent retry of that transaction, the
      gtid_slave_pos would _not_ be updated with the new GTID, leaving the GTID
      position of the slave incorrect.
      
      Fix this by ensuring during the retry that we clear the flag that marks that
      the GTID has already been recorded in gtid_slave_pos, so that the update of
      gtid_slave_pos will be done again during the retry.
      
      In the original bug, the symptom was an assertion due to OPTION_GTID_BEGIN not
      being cleared during the retry of the transaction. The reason was some code in
      handling of a COMMIT query event, which would not clear the flag when not
      recording a GTID in gtid_slave_pos. This commit also fixes that code to always
      clear the OPTION_GTID_BEGIN flag for clarity, though it is actually not
      possible for OPTION_GTID_BEGIN to become set unless a GTID is pending for
      update (after fixing the bug described above).
      ec05fea0
    • Jan Lindström's avatar
      MDEV-6546: innodb.innodb_simulate_comp_failures_small fails · 9dc738bf
      Jan Lindström authored
      sporadically
      
      Fix: Modify test to be smaller so that testcase timeout does not
      trigger. We already have a test for --big-test setup
      (innodb.innodb_simulate_comp_failures).
      9dc738bf
    • Jan Lindström's avatar
      MDEV-6546: innodb.innodb_simulate_comp_failures_small fails · 354f3f1f
      Jan Lindström authored
      sporadically
      
      Fix: Modify test to be smaller so that testcase timeout does not
      trigger. We already have a test for --big-test setup 
      (innodb.innodb_simulate_comp_failures).
      354f3f1f
  15. 12 Aug, 2014 4 commits
  16. 11 Aug, 2014 1 commit
  17. 08 Aug, 2014 3 commits
  18. 07 Aug, 2014 3 commits