1. 22 Sep, 2016 1 commit
    • Alexander Barkov's avatar
      MDEV-10425 Assertion `collation.derivation == DERIVATION_IMPLICIT' failed in... · 7e4eb990
      Alexander Barkov authored
      MDEV-10425 Assertion `collation.derivation == DERIVATION_IMPLICIT' failed in Item_func_conv_charset::fix_length_and_dec()
      MDEV-10850 Wrong result for WHERE .. (f2=TO_BASE64('test') OR f2=TO_BASE64('TEST'))
      
      Problem N1: MDEV-10425
      Item_func_{md5|sha|sha2}::fix_length_and_dec() changed args[0]->collation
      to force binary comparison in args[0]->eq().
      It was done to treat e.g. MD5('a') and MD5('A') as different values.
      It is wrong for a Item_func_xxx to modify its arguments.
      Item_func_conv_charset did not expect that and crashed on assert.
      
      Problem N2: MDEV-10850
      Item_func_to_base64, Item_func_password, Item_func_hex are also case sensitive
      hash functions, but they did not compare their arguments as binary.
      
      Solution:
      - Removing the code changing args[0]->collation
      - Introducing Item_str_ascii_checksum_func as a common parent
        for Item_func_{md5|sha|sha2|password|hex|to_base64}
        and overriding its eq() method to compare arguments binary.
      7e4eb990
  2. 21 Sep, 2016 2 commits
  3. 20 Sep, 2016 1 commit
  4. 09 Sep, 2016 2 commits
  5. 08 Sep, 2016 1 commit
    • Kristian Nielsen's avatar
      Parallel replication async deadlock kill · 7e0c9de8
      Kristian Nielsen authored
      When a deadlock kill is detected inside the storage engine, the kill
      is not done immediately, to avoid calling back into the storage engine
      kill_query method with various lock subsystem mutexes held. Instead the
      kill is queued and done later by a slave background thread.
      
      This patch in preparation for fixing TokuDB optimistic parallel
      replication, as well as for removing locking hacks in InnoDB/XtraDB in
      10.2.
      
      Signed-off-by: Kristian Nielsen <knielsen at knielsen-hq.org>
      7e0c9de8
  6. 06 Sep, 2016 1 commit
  7. 05 Sep, 2016 2 commits
  8. 02 Sep, 2016 2 commits
  9. 31 Aug, 2016 2 commits
  10. 30 Aug, 2016 1 commit
  11. 29 Aug, 2016 2 commits
  12. 27 Aug, 2016 1 commit
  13. 26 Aug, 2016 3 commits
  14. 25 Aug, 2016 5 commits
  15. 24 Aug, 2016 6 commits
  16. 23 Aug, 2016 4 commits
  17. 22 Aug, 2016 4 commits