1. 04 Jan, 2012 1 commit
  2. 03 Jan, 2012 1 commit
  3. 02 Jan, 2012 2 commits
    • Tatjana Azundris Nuernberg's avatar
      ed1ba992
    • Tatjana Azundris Nuernberg's avatar
      BUG#11755281/47032: ERROR 2006 / ERROR 2013 INSTEAD OF PROPER ERROR MESSAGE · 251fa88a
      Tatjana Azundris Nuernberg authored
      If init_command was incorrect, we couldn't let users execute
      queries, but we couldn't report the issue to the client either
      as it does not expect error messages before even sending a
      command. Thus, we simply disconnected them without throwing
      a clear error.
      
      We now go through the proper sequence once (without executing
      any user statements) so we can report back what the problem
      is. Only then do we disconnect the user.
      
      As always, root remains unaffected by this as init_command is
      (still) not executed for them.
      
      mysql-test/r/init_connect.result:
        We now report a proper error if init_command fails.
        Expect as much.
      mysql-test/t/init_connect.test:
        We now report a proper error if init_command fails.
        Expect as much.
      sql/sql_connect.cc:
        If init_command fails, throw an error explaining this to
        the user.
      251fa88a
  4. 29 Dec, 2011 5 commits
  5. 28 Dec, 2011 2 commits
    • Marko Mäkelä's avatar
      Merge mysql-5.1 to mysql-5.5. · 1b6cb012
      Marko Mäkelä authored
      1b6cb012
    • Marko Mäkelä's avatar
      Bug#13418934 REMOVE HAVE_PURIFY DEPENDENCES FROM INNODB · e498a1bf
      Marko Mäkelä authored
      InnoDB: Remove HAVE_purify, UNIV_INIT_MEM_TO_ZERO, UNIV_SET_MEM_TO_ZERO.
      
      The compile-time setting HAVE_purify can mask potential bugs.
      It is being set in PB2 Valgrind runs. We should simply get rid of it,
      and replace it with UNIV_MEM_INVALID() to declare uninitialized memory
      as such in Valgrind-instrumented binaries.
      
      os_mem_alloc_large(), ut_malloc_low(): Remove the parameter set_to_zero.
      
      ut_malloc(): Define as a macro that invokes ut_malloc_low().
      
      buf_pool_init(): Never initialize the buffer pool frames. All pages
      must be initialized before flushing them to disk.
      
      mem_heap_alloc(): Never initialize the allocated memory block.
      
      os_mem_alloc_nocache(), ut_test_malloc(): Unused function, remove.
      
      rb:813 approved by Jimmy Yang
      e498a1bf
  6. 26 Dec, 2011 1 commit
  7. 24 Dec, 2011 1 commit
  8. 23 Dec, 2011 5 commits
    • Nirbhay Choubey's avatar
      Bug#12809202 61854: MYSQLDUMP --SINGLE-TRANSACTION · 5e487124
      Nirbhay Choubey authored
                   --FLUSH-LOG BREAKS CONSISTENCY
      
      The transaction started by mysqldump gets committed
      implicitly when flush-log is specified along with
      single-transaction option, and hence can break
      consistency.
      
      This is because, COM_REFRESH is executed in order
      to flush logs and starting from 5.5 this command
      performs an implicit commit.
      
      Fixed by making sure that COM_REFRESH is executed
      before the transaction has started and not after it.
      
      Note : This patch triggers following behavioral
             changes in mysqldump :
      
      1) After this patch we no longer flush logs before
         dumping each database if --single-transaction
         option is given like it was done before (in the
         absence of --lock-all-tables and --master-data
         options).
      
      2) Also, after this patch, we start acquiring
         FTWRL before flushing logs in cases when only
         --single-transaction and --flush-logs are given.
         It becomes safe to use mysqldump with these two
         options and without --master-data parameter for
         backups.
      
      
      client/mysqldump.c:
        Bug#12809202 61854: MYSQLDUMP --SINGLE-TRANSACTION
                     --FLUSH-LOG BREAKS CONSISTENCY
        
        Added logic to make sure that, if flush-log option
        is specified, mysql_refresh() is never executed after
        the transaction has started.
        
        Added verbose messages for all the executions of
        mysql_refresh() in order to track its invocation.
      mysql-test/r/mysqldump.result:
        Added test case for Bug#12809202.
      mysql-test/t/mysqldump.test:
        Added test case for Bug#12809202.
      5e487124
    • Ramil Kalimullin's avatar
      Auto-merge from mysql-5.1. · a3380233
      Ramil Kalimullin authored
      a3380233
    • Ramil Kalimullin's avatar
      Fix for bug#11758931 - 51196: SLAVE SQL: GOT AN ERROR WRITING · 289af257
      Ramil Kalimullin authored
      COMMUNICATION PACKETS, ERROR_CODE: 1160
      
      Addendum: for some queries table->in_use might be NULL -
      check it.
      289af257
    • Ramil Kalimullin's avatar
      Auto-merge from mysq-5.1. · d0ed9f43
      Ramil Kalimullin authored
      d0ed9f43
    • Ramil Kalimullin's avatar
      Fix for bug#11758931 - 51196: SLAVE SQL: GOT AN ERROR WRITING · 790a3a46
      Ramil Kalimullin authored
      COMMUNICATION PACKETS, ERROR_CODE: 1160
      
      If idle FEDERATED table is evicted from the table cache when 
      a connection to remote server is lost, query that initiated 
      eviction may fail.
      If this query is executed by slave SQL thread it may fail as well.
      
      An error of close was stored in diagnostics area, which was later
      attributed to the statement that caused eviction.
      
      With this patch FEDERATED clears an error of close.
      790a3a46
  9. 22 Dec, 2011 5 commits
  10. 21 Dec, 2011 3 commits
  11. 16 Dec, 2011 5 commits
  12. 15 Dec, 2011 2 commits
    • Chaithra Gopalareddy's avatar
      Bug#13344643:Format function in view looses locale information · 7615cb08
      Chaithra Gopalareddy authored
      Problem description:
      When a view is created using function FORMAT and if FORMAT function uses locale
      option,definition of view saved into server doesn't contain that locale information,
      Ex:
      create  table test2 (bb decimal (10,2));
      insert into test2 values (10.32),(10009.2),(12345678.21);
      create view test3 as select format(bb,1,'sk_SK') as cc from test2;
      select * from test3;
      +--------------+
      | cc           |
      +--------------+
      | 10.3         |
      | 10,009.2     |
      | 12,345,678.2 |
      +--------------+
      3 rows in set (0.02 sec)
      
      show create view test3
                      View: test3
               Create View: CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost`
      SQL SECURITY DEFINER VIEW `test3` AS select format(`test2`.`bb`,1) AS `cc`
      from `test2`
      character_set_client: latin1
      collation_connection: latin1_swedish_ci
      1 row in set (0.02 sec)
      
      Problem Analysis:
      The function Item_func_format::print() which prints the query string to create
      the view does not print the third argument (i.e the locale information). Hence
       view is created without locale information. 
      
      Problem Solution:
      If argument count is more than 2 we now print the third argument onto the query string.
      
      Files changed:
      sql/item_strfunc.cc
      Function call changes: Item_func_format::print()
      mysql-test/t/select.test
      Added test case to test the bug
      mysql-test/r/select.result
      Result of the test case appended here
      
      
      7615cb08
    • Tor Didriksen's avatar
      Bug#13463417 63487: ANNOYING TRACE MESSAGE IN CMAKE CODE · b507df61
      Tor Didriksen authored
      Remove it.
      b507df61
  13. 14 Dec, 2011 3 commits
    • Andrei Elkin's avatar
      · be7fc143
      Andrei Elkin authored
      bug#13437900
      post-push changes to please solaris compiler.
      be7fc143
    • Andrei Elkin's avatar
      Bug#13437900 - VALGRIND REPORTS A LEAK FOR REPL_IGNORE_SERVER_IDS · ed3e19ac
      Andrei Elkin authored
      There was memory leak when running some tests on PB2.
      The reason of the failure is an early return from change_master()
      that was supposed to deallocate a dyn-array.
      
      Actually the same bug58915 was fixed in trunk with relocating the dyn-array
      destruction into THD::cleanup_after_query() which can't be bypassed.
      The current patch backports magne.mahre@oracle.com-20110203101306-q8auashb3d7icxho
      and adds two optimizations: were done: the static buffer for the dyn-array to base on,
      and the array initialization is called precisely when it's necessary rather than
      per each CHANGE-MASTER as before.
      
      
      mysql-test/suite/rpl/t/rpl_empty_master_host.test:
        the test is binlog-format insensitive so it will be run with MIXED mode only.
      mysql-test/suite/rpl/t/rpl_server_id_ignore.test:
        the test is binlog-format insensitive so it will be run with MIXED mode only.
      sql/sql_class.cc:
        relocating the dyn-array
        destruction into THD::cleanup_after_query().
      sql/sql_lex.cc:
        LEX.mi zero initialization is done in LEX().
      sql/sql_lex.h:
        Optimization for repl_ignore_server_ids to base on a static buffer
        which size is chosen to fit to most common use cases.
      sql/sql_repl.cc:
        dyn-array destruction is relocated to THD::cleanup_after_query().
      sql/sql_yacc.yy:
        Refining logics of Lex->mi.repl_ignore_server_ids initialization.
        The array is initialized once a corresponding option in CHANGE MASTER token sequence
        is found.
      ed3e19ac
    • Georgi Kodinov's avatar
      Addendum to the fix for bug #11754011: fixed a testcase result to include · 2b05ef11
      Georgi Kodinov authored
      the new --slow-start-timeout option's help output
      2b05ef11
  14. 13 Dec, 2011 3 commits
    • Georgi Kodinov's avatar
      Bug#11754011: 45546: START WINDOWS SERVICE, THEN EXECUTE WHAT IS NEEDED. · a64a25ba
      Georgi Kodinov authored
      Added a global read-only option slow-start-timeout to control the
      Windows service control manager's service start timeout, that was
      currently hard-coded to be 15 seconds.
      The default of the new option is 15 seconds.
      The timeout can also be set to 0 (to mean no timeout applicable).
      a64a25ba
    • Annamalai Gurusami's avatar
      76383243
    • Annamalai Gurusami's avatar
      Bug #13117023: Innodb increments handler_read_key when it should not · ad84fb5c
      Annamalai Gurusami authored
      The counter handler_read_key (SSV::ha_read_key_count) is incremented 
      incorrectly.
      
      The mysql server maintains a per thread system_status_var (SSV)
      object.  This object contains among other things the counter
      SSV::ha_read_key_count. The purpose of this counter is to measure the
      number of requests to read a row based on a key (or the number of
      index lookups).
      
      This counter was wrongly incremented in the
      ha_innobase::innobase_get_index(). The fix removes
      this increment statement (for both innodb and innodb_plugin).
      
      The various callers of the innobase_get_index() was checked to
      determine if anybody must increment this counter (if they first call
      innobase_get_index() and then perform an index lookup).  It was found
      that no caller of innobase_get_index() needs to worry about the
      SSV::ha_read_key_count counter.
      ad84fb5c
  15. 12 Dec, 2011 1 commit