1. 19 Jun, 2009 9 commits
    • Georgi Kodinov's avatar
      automerge · 2a116612
      Georgi Kodinov authored
      2a116612
    • Georgi Kodinov's avatar
      Bug #36654: mysqld_multi cannot start instances with different versions · c5d904eb
      Georgi Kodinov authored
      occasionally.
      
      mysql_multi can call mysqld_safe. In doing this it's not changing the 
      current working directory. This may cause confusion in the case where 
      mysqld_multi is handling instances of servers of different versions 
      and the current working directory is the installation directory of one 
      of these servers.
      
      Fixed by enhancing the meaning of basedir in [mysqldN] sections of 
      mysqld_multi. If specified, mysqld_multi will change the current 
      working directory to the basedir directory before starting the server 
      in mysqld_multi ... start ... and then change it back to what it was.
      c5d904eb
    • V Narayanan's avatar
      merging with mysql-5.0-bugteam · 81dbbd68
      V Narayanan authored
      81dbbd68
    • V Narayanan's avatar
      Bug#43572 Handle failures from hash_init · 728d3c39
      V Narayanan authored
            
      Failure to allocate memory for the hash->array element,
      caused hash_init to return without initializing the other
      members of the hash. Thus although the dynamic array
      buffer may be allocated at a later point in the code, the
      incompletely initialized hash caused fatal failures.
      
      This patch moves the initialization of the other members
      of the hash above the array allocation, so that the usage
      of this hash will not result in fatal failures.
      728d3c39
    • Alfranio Correia's avatar
      Post-fix for BUG#43929. · 5289e1a9
      Alfranio Correia authored
      5289e1a9
    • Sergey Glukhov's avatar
      null merge · cf66632d
      Sergey Glukhov authored
      cf66632d
    • Staale Smedseng's avatar
      Null-merge from 5.0-bugteam · c3ef506a
      Staale Smedseng authored
      c3ef506a
    • Staale Smedseng's avatar
      Bug #32223 SETting max_allowed_packet variable · 2b48caa4
      Staale Smedseng authored
            
      Inconsistent behavior of session variable max_allowed_packet 
      (and net_buffer_length); only assignment to the global variable 
      has any effect, without this being obvious to the user.
            
      The patch for Bug#22891 is backported to 5.0, making the two
      session variables read-only. As this is a backport to GA 
      software, the error used when trying to assign to the read-
      only variable is ER_UNKNOWN_ERROR. The error message is the 
      same as in 5.1+.
      2b48caa4
    • Sergey Glukhov's avatar
      Bug#44834 strxnmov is expected to behave as you'd expect · c92abdc2
      Sergey Glukhov authored
      The problem: described in the bug report.
      The fix:
      --increase buffers where it's necessary
        (buffers which are used in stxnmov)
      --decrease buffer lengths which are used
      c92abdc2
  2. 18 Jun, 2009 7 commits
    • Davi Arnaut's avatar
      Bug#42599: error: `pthread_setschedprio' was not declared in this scope · f6ea8b76
      Davi Arnaut authored
      The problem was that a pthread.h header used by gcc did not
      declare the pthread_setscheprio, yet the function is implemented
      by the function is implemented, causing a autoconf check to pass
      and compilation with C++ to fail. The solution is to add a
      autoconf check to ensure that the function is properly declared.
      f6ea8b76
    • Alfranio Correia's avatar
    • Alfranio Correia's avatar
      2cf77a8e
    • Alfranio Correia's avatar
    • Alfranio Correia's avatar
    • Alfranio Correia's avatar
      BUG#43929 binlog corruption when max_binlog_cache_size is exceeded · ac1b464a
      Alfranio Correia authored
      Large transactions and statements may corrupt the binary log if the size of the
      cache, which is set by the max_binlog_cache_size, is not enough to store the
      the changes.
      
      In a nutshell, to fix the bug, we save the position of the next character in the
      cache before starting processing a statement. If there is a problem, we simply
      restore the position thus removing any effect of the statement from the cache.
      Unfortunately, to avoid corrupting the binary log, we may end up loosing changes
      on non-transactional tables if they do not fit in the cache. In such cases, we
      store an Incident_log_event in order to stop the slave and alert users that some
      changes were not logged.
      
      Precisely, for every non-transactional changes that do not fit into the cache,
      we do the following:
        a) the statement is *not* logged
        b) an incident event is logged after committing/rolling back the transaction,
        if any. Note that if a failure happens before writing the incident event to
        the binary log, the slave will not stop and the master will not have reported
        any error.
        c) its respective statement gives an error
      
      For transactional changes that do not fit into the cache, we do the following:
        a) the statement is *not* logged
        b) its respective statement gives an error
      
      To work properly, this patch requires two additional things. Firstly, callers to
      MYSQL_BIN_LOG::write and THD::binlog_query must handle any error returned and
      take the appropriate actions such as undoing the effects of a statement. We
      already changed some calls in the sql_insert.cc, sql_update.cc and sql_insert.cc
      modules but the remaining calls spread all over the code should be handled in
      BUG#37148. Secondly, statements must be either classified as DDL or DML because
      DDLs that do not get into the cache must generate an incident event since they
      cannot be rolled back.
      ac1b464a
    • Martin Hansson's avatar
      Merge · 0a214a42
      Martin Hansson authored
      0a214a42
  3. 17 Jun, 2009 17 commits
  4. 16 Jun, 2009 7 commits