1. 14 Jan, 2009 3 commits
    • Ramil Kalimullin's avatar
      Fix for · 34776294
      Ramil Kalimullin authored
      bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
      triggers
      and
      #41385: Crash when attempting to repair a #mysql50# upgraded table
      with triggers.
      
      Problem:
      1. trigger code didn't assume a table name may have
      a "#mysql50#" prefix, that may lead to a failing ASSERT().
      2. "ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME" failed
      for databases with "#mysql50#" prefix if any trigger.
      3. mysqlcheck --fix-table-name didn't use UTF8 as a default
      character set that resulted in (parsing) errors for tables with
      non-latin symbols in their names and definitions of triggers.
      
      Fix:
      1. properly handle table/database names with "#mysql50#" prefix.
      2. handle --default-character-set mysqlcheck option;
      if mysqlcheck is launched with --fix-table-name or --fix-db-name
      set default character set to UTF8 if no --default-character-set
      option given.
      
      Note: if given --fix-table-name or --fix-db-name option,
      without --default-character-set mysqlcheck option
      default character set is UTF8.
      34776294
    • He Zhenxing's avatar
      Auto merge · 2c1cf1a0
      He Zhenxing authored
      2c1cf1a0
    • He Zhenxing's avatar
      BUG#41986 Replication slave does not pick up proper AUTO_INCREMENT value for Innodb tables · 99045507
      He Zhenxing authored
      The next number (AUTO_INCREMENT) field of the table for write
      rows events are not initialized, and cause some engines (innodb)
      not correctly update the tables's auto_increment value.
      
      This patch fixed this problem by honor next number fields if present.
      99045507
  2. 13 Jan, 2009 6 commits
  3. 12 Jan, 2009 5 commits
  4. 09 Jan, 2009 18 commits
  5. 08 Jan, 2009 7 commits
    • Davi Arnaut's avatar
      Auto-merge from upstream 5.1-bugteam · 8ce156a6
      Davi Arnaut authored
      8ce156a6
    • Horst Hunger's avatar
      8c294458
    • Davi Arnaut's avatar
      Bug#41889: Test main.innodb_bug38231 is failing w/embedded server (server crash) · e39288b4
      Davi Arnaut authored
      The problem is that a mysql connection instance is not thread-safe
      and reentrant, meaning that it can't be used concurrently and can't
      be re-entered while it's already running. This applies for any form
      of the server (embedded or not), but this rule can be violated in a
      test case if the test sends a new command without waiting for the
      result of previous command that was sent asynchronously and this can
      lead to hangs when over a network or to crashes under embedded server
      as the server query execution path will be re-entered concurrently
      with the same connection structure.
      
      The solution is to rework the test case so that the aforementioned
      rule is obeyed.
      e39288b4
    • Mattias Jonsson's avatar
      merge · ec9f8852
      Mattias Jonsson authored
      ec9f8852
    • Tatiana A. Nurnberg's avatar
      Bug#41470: DATE_FORMAT() crashes the complete server with a valid date · 17bbe30c
      Tatiana A. Nurnberg authored
      Passing dubious "year zero" in non-zero date (not "0000-00-00") could
      lead to negative value for year internally, while variable was unsigned.
      This led to Really Bad Things further down the line.
      
      Now doing calculations with signed type for year internally.
      17bbe30c
    • Timothy Smith's avatar
      Auto-merge from upstream 5.1-bugteam · 72982373
      Timothy Smith authored
      72982373
    • Timothy Smith's avatar
      Fix a few problems after latest bunch of InnoDB snapshot changes: · e6100a22
      Timothy Smith authored
      The binlog_innodb test was sensitive to what tests ran before it.  Now run
      FLUSH STATUS before performing operations that need to be checked.
      
      sys_var_thd_ulong::update() was improperly casting an option value from
      ulonglong to ulong before comparing it to the max allowed value.  On systems
      where ulong and ulonglong are of different size, this caused values greater
      than ULONG_MAX to wrap around (not be truncated to ULONG_MAX, which appears to
      have been the intention of the original coder), and caused some checks to work
      incorrectly.  This wasn't generally visible to the user, because later checks
      would prevent the wrapped-around value from being used.  But it caused warning
      messages to differ between 32- and 64-bit platforms.  Fix is to just remove the
      cast.  Also added a DBUG_ASSERT to ensure that the value really is capped
      properly before finally stuffing it into the ulong.
      e6100a22
  6. 07 Jan, 2009 1 commit