1. 13 Oct, 2010 1 commit
  2. 12 Oct, 2010 4 commits
  3. 11 Oct, 2010 11 commits
  4. 10 Oct, 2010 2 commits
  5. 09 Oct, 2010 2 commits
    • unknown's avatar
      Manual merge · 56edc1df
      unknown authored
      56edc1df
    • unknown's avatar
      Bug#55375 Transaction bigger than max_binlog_cache_size crashes slave · 10812c07
      unknown authored
      When slave executes a transaction bigger than slave's max_binlog_cache_size,
      slave will crash. It is caused by the assert that server should only roll back
      the statement but not the whole transaction if the error ER_TRANS_CACHE_FULL 
      happens. But slave sql thread always rollbacks the whole transaction when
      an error happens.
                  
      Ather this patch, we always clear any error set in sql thread(it is different
      from the error in 'SHOW SLAVE STATUS') and it is cleared before rolling back
      the transaction.
      
      
      mysql-test/suite/rpl/r/rpl_binlog_max_cache_size.result:
        SET binlog_cache_size and max_binlog_cache_size for all test cases.
        Add test case for bug#55375.
      mysql-test/suite/rpl/t/rpl_binlog_max_cache_size-master.opt:
        binlog_cache_size and max_binlog_cache_size can be set in the client connection.
        so remove this option file.
      mysql-test/suite/rpl/t/rpl_binlog_max_cache_size.test:
        SET binlog_cache_size and max_binlog_cache_size for all test cases.
        Add test case for bug#55375.
      sql/log_event.cc:
        Some functions don't return the error code, so it is a wrong error code.
        The error should always be set into thd->main_da. So we use 
        slave_rows_error_report to report the right error.
      sql/slave.cc:
        exec_relay_log_event() need call cleanup_context() to clear context. 
        clearup_context() will call end_trans().
                
        Clear thd's error before cleanup_context. It avoid to trigger the assert
        which cause this bug.
      10812c07
  6. 08 Oct, 2010 15 commits
    • Dmitry Lenev's avatar
      Merged recent changes from mysql-5.5-bugteam into · 1af8cfa0
      Dmitry Lenev authored
      mysql-5.5-runtime tree.
      1af8cfa0
    • Davi Arnaut's avatar
      Bug#45288: pb2 returns a lot of compilation warnings on linux · f60106f8
      Davi Arnaut authored
      Fix assorted compiler warnings.
      
      sql/mysqld.cc:
        Do not declare max_page_size twice. If large pages support
        is enabled, the code expects the size in max_desired_page_size.
      storage/innobase/include/ibuf0ibuf.h:
        Remove trailing comma. Only present in C99.
        
        Approved by: Vasil (via IRC)
      storage/innobase/include/row0row.h:
        Remove trailing comma. Only present in C99.
        
        Approved by: Vasil (via IRC)
      strings/my_vsnprintf.c:
        No need to assert the obvious.
      f60106f8
    • Alexander Barkov's avatar
      The fix for · 3fdcf206
      Alexander Barkov authored
       Bug#55744 GROUP_CONCAT + CASE + ucs return garbage
      revealed problems in how character set aggregation
      code works with prepared statements.
      
      This patch fixes (hopefully) the problems.
      3fdcf206
    • Davi Arnaut's avatar
      Bug#42733: Type-punning warnings when compiling MySQL -- strict aliasing violations. · c192be20
      Davi Arnaut authored
      Due to the extent of aliasing violations in the MySQL source
      code, at this time it is safer to disable strict aliasing related
      optimizations in release builds.
      
      As of this patch, only GCC enables strict aliasing by default.
      Hence, use the -fno-strict-aliasing option to disable the
      aliasing rules.
      
      cmake/build_configurations/mysql_release.cmake:
        Add -fno-strict-aliasing to release builds.
      c192be20
    • Mats Kindahl's avatar
      Merging with mysql-5.5-bugteam. · d40abf91
      Mats Kindahl authored
      d40abf91
    • Mats Kindahl's avatar
      WL#5363: Thread Pool Service Interface · 0a9c3968
      Mats Kindahl authored
      Adding a comment to scheduler_types on
      the default values used.
      0a9c3968
    • Mats Kindahl's avatar
      Bug #57338: Extreneous server variable thread_pool_size · 96daec35
      Mats Kindahl authored
      The server contained code for the server variable and
      option thread_pool_size, but this server variable where
      not used anywhere.
      
      The variable is probably remains from backporting too
      much from 6.0 (specifically, the thread pool
      implementation was not backported from 6.0, which this
      variable is associated with).
      
      This patch eliminates the variable from the server.
      96daec35
    • Davi Arnaut's avatar
      Bug#56822: Add a thread state for sessions waiting on the query cache lock · 15ccca1d
      Davi Arnaut authored
      Only wait for a single debug signal at a time as the signal state
      is global. Also, do not activate the query cache debug sync points
      if the thread has no associated THD session.
      
      mysql-test/t/query_cache_debug.test:
        Only wait for a single debug signal at a time as the signal state
        is global.
      sql/sql_cache.cc:
        Do not execute the debug sync point if the thread has no associated
        THD session. This scenario happens for federated threads.
      15ccca1d
    • Tor Didriksen's avatar
      Bug#57209 valgrind + Assertion failed: dst > buf · c8d7a31f
      Tor Didriksen authored
      Buffer overrun when trying to format DBL_MAX
      
      
      mysql-test/r/func_math.result:
        Add test case for Bug#57209
      mysql-test/t/func_math.test:
        Add test case for Bug#57209
      sql/item_strfunc.cc:
        Allocate a larger buffer for the result.
      c8d7a31f
    • Vasil Dimov's avatar
      Adjust results files after innodb_file_per_table became 0. · f9e19fe4
      Vasil Dimov authored
      In calvin.sun@oracle.com-20101005183830-p81bemgffq8l2en9 the default
      value of innodb_file_per_table was changed from 1 to 0.
      f9e19fe4
    • Sergey Vojtovich's avatar
      Fixed plugin_load_option failure, when example storage · 8284a378
      Sergey Vojtovich authored
      engine is not available. We need to add loose prefix
      to example load option.
      
      8284a378
    • Alexey Botchkov's avatar
      Bug#30025 Mysqld prints out warnings/errors being run with --no-defaults --help · 5f318d4a
      Alexey Botchkov authored
              now do no initializations for the --help.
              Do it for --verbose --help though.
      
      per-file comments:
        sql/mysqld.cc
      Bug#30025 Mysqld prints out warnings/errors being run with --no-defaults --help
              quit with the help message at once as --help was given
      5f318d4a
    • Alexey Botchkov's avatar
      Bug#35269 mysqlcheck behaves different depending on order of parameters · 42dc7264
      Alexey Botchkov authored
              Issue an error if user specifies multiple commands to run.
              Also there was an unnoticed bug that DO_CHECK was actually 0 which lead
              to wrong actions in some cases.
              The mysqlcheck.test contained commands with the suspicious meaning
              for the above reason. Extra commands removed from there.
      
      per-file commands:
        client/mysqlcheck.c
      Bug#35269      mysqlcheck behaves different depending on order of parameters
              Drop with an error if multiple commands.
        mysql-test/r/mysqlcheck.result
      Bug#35269      mysqlcheck behaves different depending on order of parameters
              result completed.
        mysql-test/t/mysqlcheck.test
      Bug#35269      mysqlcheck behaves different depending on order of parameters
              testcase added.
              not-working commands removed from some mysqlcheck calls.
      42dc7264
    • Davi Arnaut's avatar
      Bug#45288: pb2 returns a lot of compilation warnings on linux · 75447106
      Davi Arnaut authored
      Fix warnings related to the use of the deprecated gets() function
      and passing NULL to non-pointer argument of the sys_var constructor.
      
      plugin/auth/dialog.c:
        Do not use the deprecated gets() function.
      sql/sys_vars.h:
        Do not pass NULL to a non-pointer argument of the sys_var constructor.
      75447106
    • Davi Arnaut's avatar
      Bug#56822: Add a thread state for sessions waiting on the query cache lock · 28be8f91
      Davi Arnaut authored
      Move Query_cache_wait_state declaration out of a debug block.
      28be8f91
  7. 07 Oct, 2010 5 commits
    • Luis Soares's avatar
      fcc741f3
    • Davi Arnaut's avatar
      Bug#56822: Add a thread state for sessions waiting on the query cache lock · 36051b01
      Davi Arnaut authored
      The problem was that threads waiting on the query cache lock
      are not easily seen due to the lack of a state indicating that
      the thread is waiting on the said lock. This made it difficult
      for users to quickly spot (for example, via SHOW PROCESSLIST)
      a query cache contention problem.
      
      The solution is to update the thread state when the query cache
      lock needs to be acquired. Whenever the lock is to be acquired,
      the thread state is updated to "Waiting for query cache lock"
      and is reset once the lock is granted or the wait is interrupted.
      The intention is to make query cache related hangs more evident.
      
      To further investigate query cache related locking problems, one
      may use PERFORMANCE_SCHEMA to track the overhead associated with
      the locking bits and determine which particular lock is being a
      contention point.
      
      sql/sql_cache.cc:
        Set and reset the thread state whenever a attempt to lock the
        query cache is made.
        
        Use DEBUG_SYNC instead of the now unnecessary wait_for_kill hack.
      36051b01
    • Evgeny Potemkin's avatar
      Auto-merged. · 7365a389
      Evgeny Potemkin authored
      7365a389
    • Evgeny Potemkin's avatar
      Bug#57095: Wrongly chosen expression cache type led to a wrong result. · 731dcfc7
      Evgeny Potemkin authored
      The coalesce function returned DATETIME type due to a DATETIME argument, but
      since it's not a date/time function it can't return correct int value for
      it. Nevertheless Item_datetime_cache was chosen to cache coalesce's result
      and that led to a wrong result.
      
      Now Item_datetime_cache is used only for those function that could return
      correct int representation of DATETIME values.
      
      
      mysql-test/r/type_datetime.result:
        Added a test case for the bug#57095.
      mysql-test/t/type_datetime.test:
        Added a test case for the bug#57095.
      sql/item.cc:
        Bug#57095: Wrongly chosen expression cache type led to a wrong result.
        Now Item_datetime_cache is used only for those function that could return
        correct int representation of DATETIME values.
      731dcfc7
    • Dmitry Lenev's avatar
      Fix for bug#57061 "User without privilege on routine can · eaae6752
      Dmitry Lenev authored
      discover its existence".
      
      The problem was that user without any privileges on 
      routine was able to find out whether it existed or not.
      DROP FUNCTION and DROP PROCEDURE statements were 
      checking if routine being dropped existed and reported 
      ER_SP_DOES_NOT_EXIST error/warning before checking 
      if user had enough privileges to drop it.
      
      This patch solves this problem by changing code not to 
      check if routine exists before checking if user has enough 
      privileges to drop it. Moreover we no longer perform this 
      check using a separate call instead we rely on 
      sp_drop_routine() returning SP_KEY_NOT_FOUND if routine 
      doesn't exist.
      
      This change also simplifies one of upcoming patches
      refactoring global read lock implementation.
      
      mysql-test/r/grant.result:
        Updated test case after fixing bug#57061 "User without
        privilege on routine can discover its existence". Removed
        DROP PROCEDURE/FUNCTION statements which have started to
        fail after this fix (correctly). There is no need in
        dropping routines in freshly created database anyway.
      mysql-test/r/sp-security.result:
        Added new test case for bug#57061 "User without privilege
        on routine can discover its existence". Updated existing
        tests according to new behaviour.
      mysql-test/suite/funcs_1/r/innodb_storedproc_06.result:
        Updated test case after fixing bug#57061 "User without
        privilege on routine can discover its existence".
        Now we drop routines under user which has enough
        privileges to do so.
      mysql-test/suite/funcs_1/r/memory_storedproc_06.result:
        Updated test case after fixing bug#57061 "User without
        privilege on routine can discover its existence".
        Now we drop routines under user which has enough
        privileges to do so.
      mysql-test/suite/funcs_1/r/myisam_storedproc_06.result:
        Updated test case after fixing bug#57061 "User without
        privilege on routine can discover its existence".
        Now we drop routines under user which has enough
        privileges to do so.
      mysql-test/suite/funcs_1/storedproc/storedproc_06.inc:
        Updated test case after fixing bug#57061 "User without
        privilege on routine can discover its existence".
        Now we drop routines under user which has enough
        privileges to do so.
      mysql-test/t/grant.test:
        Updated test case after fixing bug#57061 "User without
        privilege on routine can discover its existence". Removed
        DROP PROCEDURE/FUNCTION statements which have started to
        fail after this fix (correctly). There is no need in
        dropping routines in freshly created database anyway.
      mysql-test/t/sp-security.test:
        Added new test case for bug#57061 "User without privilege
        on routine can discover its existence". Updated existing
        tests according to new behaviour.
      sql/sp.cc:
        Removed sp_routine_exists_in_table() which is no longer
        used.
      sql/sp.h:
        Removed sp_routine_exists_in_table() which is no longer
        used.
      sql/sql_parse.cc:
        When dropping routine we no longer check if routine exists 
        before checking if user has enough privileges to do so. 
        Moreover we no longer perform this check using a separate 
        call instead we rely on sp_drop_routine() returning 
        SP_KEY_NOT_FOUND if routine doesn't exist.
      eaae6752