1. 28 Oct, 2018 2 commits
  2. 27 Oct, 2018 5 commits
  3. 25 Oct, 2018 3 commits
  4. 24 Oct, 2018 4 commits
  5. 23 Oct, 2018 2 commits
  6. 20 Oct, 2018 1 commit
  7. 19 Oct, 2018 3 commits
    • Sergei Golubchik's avatar
      MDEV-13912 mysql_upgrade: case (in)sensitivity for stored procedures · d851dd61
      Sergei Golubchik authored
      mysql_upgrade used to convert all columns of mysql.db to
      utf8_general_ci and then back to utf8_bin. In two separate ALTER's.
      
      This failed if UNIQUE indexes in mysql.db contained entries
      that differ only in the letter case.
      d851dd61
    • Sergey Vojtovich's avatar
      Remove unused code. · 64239419
      Sergey Vojtovich authored
      64239419
    • Sergey Vojtovich's avatar
      MDEV-14815 - Server crash or AddressSanitizer errors or valgrind warnings · 4ac85d6f
      Sergey Vojtovich authored
                   in thr_lock / has_old_lock upon FLUSH TABLES
      
      Explicit partition access of partitioned MEMORY table under LOCK TABLES
      may cause subsequent statements to crash the server, deadlock, trigger
      valgrind warnings or ASAN errors. Freed memory was being used due to
      incorrect cleanup.
      
      At least MyISAM and InnoDB don't seem to be affected, since their
      THR_LOCK structures don't survive FLUSH TABLES. MEMORY keeps table shared
      data (including THR_LOCK) even if there're no open instances.
      
      There's partition_info::lock_partitions bitmap, which holds bits of
      partitions allowed to be accessed after pruning. This bitmap is
      updated for each individual statement.
      
      This bitmap was abused in ha_partition::store_lock() such that when we
      need to unlock a table, locked by LOCK TABLES, only locks for partitions
      that were accessed by previous statement were released.
      
      Eventually FLUSH TABLES frees THR_LOCK_DATA objects, which are still
      linked into THR_LOCK lists. When such THR_LOCK gets reused we end up with
      freed memory access.
      
      Fixed by using ha_partition::m_locked_partitions bitmap similarly to
      ha_partition::external_lock().
      4ac85d6f
  8. 17 Oct, 2018 2 commits
  9. 16 Oct, 2018 3 commits
  10. 15 Oct, 2018 6 commits
  11. 13 Oct, 2018 1 commit
  12. 12 Oct, 2018 3 commits
  13. 10 Oct, 2018 1 commit
  14. 09 Oct, 2018 1 commit
    • Vladislav Vaintroub's avatar
      MDEV-17413 Crash in my_malloc_size_cb_func() during shutdown with · 00ddc8bc
      Vladislav Vaintroub authored
      forceful connection close.
      
      Fix is to ensure that when close_connection() is called from shutdown
      thread, current_thd is set. This that allocation callback for THD specific
      memory won't assert(in debug version), or crash (in 10.1 and later)
      
      close_connection() allocates THD specific memory e.g when it writes
      the final error packet, and compression is ON for the connection.
      00ddc8bc
  15. 07 Oct, 2018 2 commits
    • Igor Babaev's avatar
      MDEV-17382 Hash join algorithm should not be used to join materialized · bd219043
      Igor Babaev authored
                 derived table / view by equality
      
      Now rows of a materialized derived table are always put into a
      temporary table before join operation. If BNLH is used to join this
      table with the result of a partial join then both operands of the
      join are actually put into main memory. In most cases this is not
      efficient.
      We could avoid this by sending the rows of the derived table directly
      to the join operation. However this kind of data flow is not supported
      yet.
      Fixed by not allowing usage of hash join algorithm to join a materialized
      derived table if it's joined by an equality predicate of the form
      f=e where f is a field of the derived table.
      bd219043
    • Igor Babaev's avatar
      MDEV-17382 Hash join algorithm should not be used to join materialized · 0b7339eb
      Igor Babaev authored
                 derived table / view by equality
      
      Now rows of a materialized derived table are always put into a
      temporary table before join operation. If BNLH is used to join this
      table with the result of a partial join then both operands of the
      join are actually put into main memory. In most cases this is not
      efficient.
      We could avoid this by sending the rows of the derived table directly
      to the join operation. However this kind of data flow is not supported
      yet.
      Fixed by not allowing usage of hash join algorithm to join a materialized
      derived table if it's joined by an equality predicate of the form
      f=e where f is a field of the derived table.
      0b7339eb
  16. 01 Oct, 2018 1 commit