1. 09 Nov, 2010 2 commits
    • Davi Arnaut's avatar
      Bug#57210: remove pstack · 95a7c4bd
      Davi Arnaut authored
      Quoting from the bug report:
      
      The pstack library has been included in MySQL since version
      4.0.0. It's useless and should be removed.
      
      Details: According to its own documentation, pstack only works
      on Linux on x86 in 32 bit mode and requires LinuxThreads and a
      statically linked binary. It doesn't really support any Linux
      from 2003 or later and doesn't work on any other OS.
      
      The --enable-pstack option is thus deprecated and has no effect.
      95a7c4bd
    • Bjorn Munch's avatar
      merge from 5.1-mtr · 3de865ec
      Bjorn Munch authored
      3de865ec
  2. 08 Nov, 2010 4 commits
  3. 07 Nov, 2010 1 commit
    • Dmitry Shulga's avatar
      A fix and a test case for Bug#47924 -main.log_tables times out · 59c9bdf5
      Dmitry Shulga authored
      sporadically.
      
      The cause of the sporadic time out was a leaking protection
      against the global read lock, taken by the RENAME statement,
      and not released in case of an error occurred during RENAME.
      The leaking protection counter would lead to the value of
      protect_against_global_read never dropping to 0.
      Consequently FLUSH TABLES in all connections, including the
      one that leaked the protection, could not proceed.
       
      The fix is to ensure that all branchesin RENAME code properly
      release GRL protection.
      
      mysql-test/r/log_tables.result:
        Added results for test for bug#47924.
      mysql-test/t/log_tables.test:
        Added test for bug#47924.
      sql/sql_rename.cc:
        mysql_rename_tables() modified: replaced return from function
        to goto to clean up code block in case of error.
      59c9bdf5
  4. 05 Nov, 2010 2 commits
    • Bjorn Munch's avatar
      Bug #57840 MTR: parallel execution breaks with smart ordering of test cases · 2e279d1c
      Bjorn Munch authored
      There were actually more problems in this area:
        Slaves (if any) were unconditionally restarted, this appears unnecessary.
        Sort criteria were suboptimal, included the test name.
      Added logic to "reserve" a sequence of tests with same config for one thread
      Got rid of sort_criteria hash, put it into the test case itself
      Adds little sanity check that expected worker picks up test
      Fixed some tests that may fail if starting on running server
      Some of these fail only if *same* test is repeated.
      Finally, special sorting of tests that do --force-restart
      2e279d1c
    • Guilhem Bichot's avatar
      BUG#57933 "add -Wdeclaration-after-statement to gcc builds"; · 0bf39f11
      Guilhem Bichot authored
      first part, for autotools build.
      
      config/ac-macros/maintainer.m4:
        Add the flag. With it, and as we use -Werror, we nicely get
        "error: ISO C90 forbids mixed declarations and code" if
        a declaration follows a statement in C code.
        Note that g++ refuses this flag.
      0bf39f11
  5. 03 Nov, 2010 3 commits
  6. 02 Nov, 2010 1 commit
  7. 01 Nov, 2010 1 commit
  8. 31 Oct, 2010 1 commit
    • Gleb Shchepa's avatar
      Bug #52160: crash and inconsistent results when grouping · 384b41b2
      Gleb Shchepa authored
                  by a function and column
      
      The bugreport reveals two different bugs about grouping
      on a function:
      
      1) grouping by the TIME_TO_SEC function result caused
         a server crash or wrong results and
      2) grouping by the function returning a blob caused
         an unexpected "Duplicate entry" error and wrong
         result.
      
      Details for the 1st bug:
      
      TIME_TO_SEC() returns NULL if its argument is invalid (empty
      string for example). Thus its nullability depends not only
      on the nullability of its arguments but also on their values.
      Fixed by (overoptimistically) setting TIME_TO_SEC() to be
      nullable despite the nullability of its arguments.
      
      Details for the 2nd bug:
      
      The server is unable to create indices on blobs without
      explicit blob key part length. However, this fact was
      ignored for blob function result fields of GROUP BY
      intermediate tables.
      Fixed by disabling GROUP BY index creation for blob
      function result fields like regular blob fields.
      
      
      mysql-test/r/func_time.result:
        Test case for bug #52160.
      mysql-test/r/type_blob.result:
        Test case for bug #52160.
      mysql-test/t/func_time.test:
        Test case for bug #52160.
      mysql-test/t/type_blob.test:
        Test case for bug #52160.
      sql/item_timefunc.h:
        Bug #52160: crash and inconsistent results when grouping
                    by a function and column
        
        TIME_TO_SEC() returns NULL if its argument is invalid (empty
        string for example). Thus its nullability depends not only
        Fixed by (overoptimistically) setting TIME_TO_SEC() to be
        nullable despite the nullability of its arguments.
      sql/sql_select.cc:
        Bug #52160: crash and inconsistent results when grouping
                    by a function and column
        
        The server is unable to create indices on blobs without
        explicit blob key part length. However, this fact was
        ignored for blob function result fields of GROUP BY
        intermediate tables.
        Fixed by disabling GROUP BY index creation for blob
        function result fields like regular blob fields.
      384b41b2
  9. 29 Oct, 2010 1 commit
  10. 28 Oct, 2010 2 commits
    • Calvin Sun's avatar
      Bug#52062: Compiler warning in os0file.c on windows 64-bit · da1e3612
      Calvin Sun authored
      On Windows, the parameter for number of bytes passed into WriteFile()
      and ReadFile() is DWORD. Casting is needed to silence the warning on
      64-bit Windows.
      
      Also, adding several asserts to ensure the variable for number of bytes
      is no more than 32 bits, even on 64-bit Windows.
      
      This is for InnoDB Plugin.
      
      rb://415
      Approved by: Inaam
      da1e3612
    • Calvin Sun's avatar
      Bug#52062: Compiler warning in os0file.c on windows 64-bit · e0e2446d
      Calvin Sun authored
      On Windows, the parameter for number of bytes passed into WriteFile()
      and ReadFile() is DWORD. Casting is needed to silence the warning on
      64-bit Windows.
      
      Also, adding several asserts to ensure the variable for number of bytes
      is no more than 32 bits, even on 64-bit Windows.
      
      This is for built-in InnoDB.
      
      rb://415
      Approved by: Inaam
      e0e2446d
  11. 27 Oct, 2010 2 commits
  12. 26 Oct, 2010 1 commit
  13. 25 Oct, 2010 2 commits
  14. 23 Oct, 2010 1 commit
    • unknown's avatar
      Bug#27606 GRANT statement should be replicated with DEFINER information · 650f0081
      unknown authored
      "Grantor" columns' data is lost when replicating mysql.tables_priv.
      Slave SQL thread used its default user ''@'' as the grantor of GRANT|REVOKE
      statements executing on it.
      
      In this patch, current user is put in query log event for all GRANT and REVOKE
      statement, SQL thread uses the user in query log event as grantor.
      
      
      mysql-test/suite/rpl/r/rpl_do_grant.result:
        Add test for this bug.
      mysql-test/suite/rpl/t/rpl_do_grant.test:
        Add test for this bug.
      sql/log_event.cc:
        Refactoring THD::current_user_used and related functions.
        current_user_used is used to judge if current user should be
        binlogged in query log event. So it is better to call it m_binlog_invoker.
        The related functions are renamed too.
      sql/sql_class.cc:
        Refactoring THD::current_user_used and related functions.
        current_user_used is used to judge if current user should be
        binlogged in query log event. So it is better to call it m_binlog_invoker.
        The related functions are renamed too.
      sql/sql_class.h:
        Refactoring THD::current_user_used and related functions.
        current_user_used is used to judge if current user should be
        binlogged in query log event. So it is better to call it m_binlog_invoker.
        The related functions are renamed too.
      sql/sql_parse.cc:
        Call binlog_invoker() for GRANT and REVOKE statements.
      650f0081
  15. 21 Oct, 2010 3 commits
    • Bjorn Munch's avatar
      Follow-up to Bug #55582 which allows checking strings in if · 09694be3
      Bjorn Munch authored
        Simplified cases where a select was used to compare variable against ''
      09694be3
    • unknown's avatar
      Bug#55478 Row events wrongly apply on the temporary table of the same name · ff9140b5
      unknown authored
      Rows events were applied wrongly on the temporary table with the same name.
      But rows events are generated only for base tables. As temporary
      table's data never be binlogged on row mode. Normally, base table of the
      same name cannot be updated if a temporary table has the same name.
      But there are two cases which can generate rows events on 
      the base table of same name.
            
      Case1: 'CREATE TABLE ... SELECT' statement.
      In mixed format, it will generate rows events if it is unsafe.
            
      Case2: Drop a transactional temporary table in a transaction
             (happens only on 5.5+).
      BEGIN;
      DROP TEMPORARY TABLE t1;       # t1 is a InnoDB table
      INSERT INTO t1 VALUES(rand()); # t1 is a MyISAM table
      COMMIT;
      'DROP TEMPORARY TABLE' will be put in the transaction cache and
      binlogged after the rows events generated by the 'INSERT' statement.
            
      After this patch, slave opens only base table when applying a rows event.
      ff9140b5
    • Jimmy Yang's avatar
      Fix Bug #57616 Sig 11 in dict_load_table() when failed to load · cd3f17bd
      Jimmy Yang authored
      index or foreign key
      
      Approved by Sunny Bains
      cd3f17bd
  16. 20 Oct, 2010 6 commits
  17. 19 Oct, 2010 7 commits