1. 11 Mar, 2009 10 commits
    • Davi Arnaut's avatar
      Bug#36540: CREATE EVENT and ALTER EVENT statements fail with large server_id · 402bc523
      Davi Arnaut authored
      The problem is that creating a event could fail if the value of
      the variable server_id didn't fit in the originator column of
      the event system table. The cause is two-fold: it was possible
      to set server_id to a value outside the documented range (from
      0 to 2^32-1) and the originator column of the event table didn't
      have enough room for values in this range.
      
      The log tables (general_log and slow_log) also don't have a proper
      column type to store the server_id and having a large server_id
      value could prevent queries from being logged.
      
      The solution is to ensure that all system tables that store the
      server_id value have a proper column type (int unsigned) and that
      the variable can't be set to a value that is not within the range.
      
      mysql-test/r/events_bugs.result:
        Add test case result for Bug#36540
      mysql-test/r/log_tables.result:
        Update column type.
      mysql-test/r/system_mysql_db.result:
        Update column type.
      mysql-test/r/variables.result:
        Add test case result for server_id value range.
      mysql-test/suite/sys_vars/r/server_id_basic_64.result:
        Update test case results.
      mysql-test/t/events_bugs.test:
        Add test case for Bug#36540
      mysql-test/t/log_tables.test:
        Fix column type.
      mysql-test/t/variables.test:
        Add test case for server_id value range.
      scripts/mysql_system_tables.sql:
        Columns that store the server_id value must be of type INT UNSIGNED,
        fix event (originator), general_log and slow_log (server_id) tables
        in accordance.
      scripts/mysql_system_tables_fix.sql:
        Columns that store the server_id value must be of type INT UNSIGNED,
        fix event (originator), general_log and slow_log (server_id) tables
        in accordance.
      sql/mysqld.cc:
        Set min and max values for the server_id variable.
        Unfortunately we can't easily change server_id variable type
        from ulong to uint32 because of the sys_var classes.
      402bc523
    • Georgi Kodinov's avatar
      merge of bug 42434 to 5.1-bugteam · f79cb0de
      Georgi Kodinov authored
      f79cb0de
    • Georgi Kodinov's avatar
      Revert the push for bug #39858 · a43992d7
      Georgi Kodinov authored
      a43992d7
    • Georgi Kodinov's avatar
      merged 5.0-bugteam->5.1-bugteam · 50936c99
      Georgi Kodinov authored
      50936c99
    • Georgi Kodinov's avatar
      merged 5.1-main -> 5.1-bugteam · fb36c977
      Georgi Kodinov authored
      fb36c977
    • Georgi Kodinov's avatar
      merged 5.0-main -> 5.0-bugteam · 6a99d1d4
      Georgi Kodinov authored
      6a99d1d4
    • Georgi Kodinov's avatar
      merged bug 43354 to 5.1-bugteam · ba1b5eb4
      Georgi Kodinov authored
      ba1b5eb4
    • Georgi Kodinov's avatar
      Bug #43354: Use key hint can crash server in explain extended query · d3d6f4fd
      Georgi Kodinov authored
            
      The copy of the original arguments of a aggregate function was not
      initialized until after fix_fields().
      Sometimes (e.g. when there's an error processing the statement)
      the print() can be called with no corresponding fix_fields() call.
            
      Fixed by adding a check if the Item is fixed before using the arguments
      copy.
      
      mysql-test/r/explain.result:
        Bug #43354: test case
      mysql-test/t/explain.test:
        Bug #43354: test case
      sql/item_sum.cc:
        Bug #43354: use the argument list copy only if it's initialized
      d3d6f4fd
    • Leonard Zhou's avatar
      Merge · 16d7c26b
      Leonard Zhou authored
      16d7c26b
    • Leonard Zhou's avatar
      BUG#39858 rpl.rpl_rotate (rpl.rpl_rotate_logs) failed on pushbuild: result mismatch · 3c5c8787
      Leonard Zhou authored
      The method to purge binary log files produces different results in some platforms.
      The reason is that the purge time is calculated based on table modified time and
      that can't guarantee to purge master-bin.000002 in all platforms.(eg. windows)
      
      Use a new way that sets the time to purge binlog file 1 second after the last modified time of master-bin.000002.
      That can be sure that the file is always deleted in any platform.
      
      mysql-test/suite/rpl/r/rpl_rotate_logs.result:
        Test result
      mysql-test/suite/rpl/t/rpl_rotate_logs.test:
        Change 'purge time' 1 sencond after the last modified time of master-bin.000002.
      3c5c8787
  2. 10 Mar, 2009 6 commits
  3. 09 Mar, 2009 20 commits
  4. 07 Mar, 2009 1 commit
  5. 06 Mar, 2009 3 commits