1. 13 May, 2020 4 commits
  2. 12 May, 2020 6 commits
    • Alexander Barkov's avatar
      MDEV-20261 NULL passed to String::eq, SEGV, server crash, regression in 10.4 · 9f209681
      Alexander Barkov authored
      Type_handler_xxx::Item_const_eq() can handle only non-NULL values.
      The code in Item_basic_value::eq() did not take this into account.
      
      Adding a test to detect three different combinations:
      - Both values are NULLs, return true.
      - Only one value is NULL, return false.
      - Both values are not NULL, call Type_handler::Item_const_eq()
        to check equality.
      9f209681
    • Vlad Lesin's avatar
      MDEV-22398: mariabackup.innodb_xa_rollback fails on repeat · 218d20ff
      Vlad Lesin authored
      Flush LSN to system tablespace on innodb shutdown if XA is rolled back by
      mariabackup.
      218d20ff
    • Marko Mäkelä's avatar
      Merge mariadb-10.5.3 into 10.5 · 0186b0a0
      Marko Mäkelä authored
      0186b0a0
    • Daniel Bartholomew's avatar
      bump the VERSION · 9810e0a7
      Daniel Bartholomew authored
      9810e0a7
    • Marko Mäkelä's avatar
      Cleanup: Remove InnoDB wrappers of thd_charset(), thd_query_safe() · 0e6a5786
      Marko Mäkelä authored
      innobase_get_charset(), innobase_get_stmt_safe(): Remove.
      It is more efficient and readable to invoke thd_charset()
      and thd_query_safe() directly, without a non-inlined wrapper function.
      0e6a5786
    • Marko Mäkelä's avatar
      MDEV-22529 thd_query_safe() isn’t, causing InnoDB to hang · a2560b00
      Marko Mäkelä authored
      The function thd_query_safe() is used in the implementation of the
      following INFORMATION_SCHEMA views:
      
          information_schema.innodb_trx
          information_schema.innodb_locks
          information_schema.innodb_lock_waits
          information_schema.rocksdb_trx
      
      The implementation of the InnoDB views is in trx_i_s_common_fill_table().
      This function invokes trx_i_s_possibly_fetch_data_into_cache(),
      which will acquire lock_sys->mutex and trx_sys->mutex in order to
      protect the set of active transactions and explicit locks.
      While holding those mutexes, it will traverse the collection of
      InnoDB transactions. For each transaction, thd_query_safe() will be
      invoked.
      
      When called via trx_i_s_common_fill_table(), thd_query_safe()
      is acquiring THD::LOCK_thd_data while holding the InnoDB locks.
      This will cause a deadlock with THD::awake() (such as executing
      KILL QUERY), because THD::awake() could invoke lock_trx_handle_wait(),
      which attempts to acquire lock_sys->mutex while already holding
      THD::lock_thd_data.
      
      thd_query_safe(): Invoke mysql_mutex_trylock() instead of
      mysql_mutex_lock(). Return the empty string if the mutex
      cannot be acquired without waiting.
      a2560b00
  3. 11 May, 2020 11 commits
  4. 09 May, 2020 11 commits
  5. 08 May, 2020 8 commits