1. 03 Aug, 2015 1 commit
    • Jan Lindström's avatar
      Merge commit '96badb16' into 10.0 · 9a5787db
      Jan Lindström authored
      Conflicts:
      	client/mysql_upgrade.c
      	mysql-test/r/func_misc.result
      	mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result
      	mysql-test/suite/innodb/r/innodb-fk.result
      	mysql-test/t/subselect_sj_mat.test
      	sql/item.cc
      	sql/item_func.cc
      	sql/log.cc
      	sql/log_event.cc
      	sql/rpl_utility.cc
      	sql/slave.cc
      	sql/sql_class.cc
      	sql/sql_class.h
      	sql/sql_select.cc
      	storage/innobase/dict/dict0crea.c
      	storage/innobase/dict/dict0dict.c
      	storage/innobase/handler/ha_innodb.cc
      	storage/xtradb/dict/dict0crea.c
      	storage/xtradb/dict/dict0dict.c
      	storage/xtradb/handler/ha_innodb.cc
      	vio/viosslfactories.c
      9a5787db
  2. 31 Jul, 2015 10 commits
  3. 29 Jul, 2015 2 commits
  4. 27 Jul, 2015 7 commits
  5. 26 Jul, 2015 2 commits
    • Monty's avatar
      Added easy way to assert if another thread has died. · 517ef2bd
      Monty authored
      Added some extra safety asserts in MyISAM key cache.
      
      my_thread_var->init is now:
      0 at startup
      1 at init
      2 when thread dies
      517ef2bd
    • Monty's avatar
      Fixed MDEV-8428: Mangled DML statements on 2nd level slave when enabling binlog checksums · f3e578ab
      Monty authored
      Fix was to add a test in Query_log_event::Query_log_event() if we are using
      CREATE ... SELECT and in this case use trans cache, like we do on the master.
      This avoid using (with doesn't have checksum)
      
      Other things:
      - Removed dummy call my_checksum(0L, NULL, 0)
      - More DBUG_PRINT
      - Cleaned up Log_event::need_checksum() to make it more readable (similar as in MySQL 5.6)
      - Renamed variable that was hiding another one in create_table_imp()
      f3e578ab
  6. 25 Jul, 2015 2 commits
    • Monty's avatar
      Fixed memory loss detected on P8. This can happen when we call after_flush but... · e40bc659
      Monty authored
      Fixed memory loss detected on P8. This can happen when we call after_flush but never call after_rollback() or after_commit().
      
      The old code used pthread_setspecific() to store temporary data used by the thread.
      This is not safe when used with thread pool, as the thread may change for the transaction.
      
      The fix is to save the data in THD, which is guaranteed to be properly freed.
      I also fixed the code so that we don't do a malloc() for every transaction.
      e40bc659
    • Monty's avatar
      Fixed warnings and errors found by buildbot · 71153414
      Monty authored
      field.cc
      - Fixed warning about overlapping memory copy (backport from 10.0)
      
      Item_subselect.cc
      - Fixed core dump in main.view
      - Problem was that thd->lex->current_select->master_unit()->item was not set, which caused crash in maxr_as_dependent
      
      sql/mysqld.cc
      - Got error on shutdown as we where freeing mutex before all THD objects was freed
        (~THD uses some mutex). Fixed by during shutdown freeing THD inside mutex.
      
      sql/log.cc
      - log_space_lock and LOCK_log where locked in inconsistenly. Fixed by not having a log_space_lock around purge_logs.
      
      sql/slave.cc
      - Remove unnecessary log_space_lock
      - Move cond_broadcast inside lock to ensure we don't miss the signal
      71153414
  7. 24 Jul, 2015 1 commit
  8. 23 Jul, 2015 2 commits
    • Dmitry Lenev's avatar
      MDEV-5997 - MySQL bug#11759114 - '51401: GRANT TREATS NONEXISTENT · a6ab8ef9
      Dmitry Lenev authored
      FUNCTIONS/PRIVILEGES DIFFERENTLY'
      
      Fix for bug#11759114 - '51401: GRANT TREATS NONEXISTENT
      FUNCTIONS/PRIVILEGES DIFFERENTLY'.
      
      The problem was that attempt to grant EXECUTE or ALTER
      ROUTINE privilege on stored procedure which didn't exist
      succeed instead of returning an appropriate error like
      it happens in similar situation for stored functions or
      tables.
      
      The code which handles granting of privileges on individual
      routine calls sp_exist_routines() function to check if routine
      exists and assumes that the 3rd parameter of the latter
      specifies whether it should check for existence of stored
      procedure or function. In practice, this parameter had
      completely different meaning and, as result, this check was
      not done properly for stored procedures.
      
      This fix addresses this problem by bringing sp_exist_routines()
      signature and code in line with expectation of its caller.
      Conflicts:
      	mysql-test/r/grant.result
      	mysql-test/t/grant.test
      	sql/sp.cc
      a6ab8ef9
    • Sergey Vojtovich's avatar
      MDEV-8399 - [PATCH] Missing Sanity Checks for memory allocation in MariaDB · d897015d
      Sergey Vojtovich authored
      - since param is quite small store it on stack
      - fixed a few memory leaks
      d897015d
  9. 22 Jul, 2015 1 commit
  10. 21 Jul, 2015 1 commit
    • Jan Lindström's avatar
      MDEV-8474: InnoDB sets per-connection data unsafely · 7a967021
      Jan Lindström authored
      Analysis: At check_trx_exists function InnoDB allocates
      a new trx if no trx is found from thd but this newly
      allocated trx is not registered to thd. This is unsafe,
      because nothing prevents InnoDB plugin from being uninstalled
      while there's active transaction. This can cause crashes, hang
      and any other odd behavior. It may also corrupt stack, as
      functions pointers are not available after dlclose.
      
      Fix: The fix is to use thd_set_ha_data() when
      manipulating per-connection handler data. It does appropriate
      plugin locking.
      7a967021
  11. 20 Jul, 2015 2 commits
  12. 19 Jul, 2015 2 commits
  13. 16 Jul, 2015 5 commits
  14. 14 Jul, 2015 2 commits