1. 04 Jan, 2011 2 commits
    • Jon Olav Hauglid's avatar
      Merge from mysql-5.1 to mysql-5.5. · 80332053
      Jon Olav Hauglid authored
      No conflicts.
      80332053
    • Jon Olav Hauglid's avatar
      Bug #50619 assert in handler::update_auto_increment · 78df8c4f
      Jon Olav Hauglid authored
      This assert could be triggered if -1 was inserted into
      an auto increment column by a statement writing more than
      one row.
      
      Unless explicitly given, an interval of auto increment values
      is generated when a statement first needs an auto increment
      value. The triggered assert checks that the auto increment
      counter is equal to or higher than the lower bound of this
      interval.
      
      Generally, the auto increment counter starts at 1 and is
      incremented by 1 each time it is used. However, inserting an
      explicit value into the auto increment column, sets the auto
      increment counter to this value + 1 if this value is higher
      than the current value of the auto increment counter.
      
      This bug was triggered if the explicit value was -1. Since the
      value was converted to unsigned before any comparisons were made,
      it was found to be higher than the current vale of the auto
      increment counter and the counter was set to -1 + 1. This value
      was below the reserved interval and caused the assert to be
      triggered the next time the statement tried to write a row.
      
      With the patch for Bug#39828, this bug is no longer repeatable.
      Now, -1 + 1 is detected as an "overflow" which causes the auto
      increment counter to be set to ULONGLONG_MAX. This avoids hitting
      the assert for the next insert and causes a new interval of
      auto increment values to be generated. This resolves the issue.
      
      This patch therefore only contains a regression test and no code
      changes. Test case added to auto_increment.test.
      78df8c4f
  2. 03 Jan, 2011 2 commits
  3. 31 Dec, 2010 2 commits
  4. 30 Dec, 2010 1 commit
  5. 29 Dec, 2010 8 commits
  6. 28 Dec, 2010 2 commits
    • Kent Boortz's avatar
      Merge · 920d185f
      Kent Boortz authored
      920d185f
    • Kent Boortz's avatar
      - Added/updated copyright headers · fddb1f1b
      Kent Boortz authored
      - Removed files specific to compiling on OS/2
      - Removed files specific to SCO Unix packaging
      - Removed "libmysqld/copyright", text is included in documentation
      - Removed LaTeX headers for NDB Doxygen documentation
      - Removed obsolete NDB files
      - Removed "mkisofs" binaries
      - Removed the "cvs2cl.pl" script
      - Changed a few GPL texts to use "program" instead of "library"
      fddb1f1b
  7. 24 Dec, 2010 2 commits
  8. 21 Dec, 2010 15 commits
    • Anitha Gopi's avatar
      BUG #59055: RQG was broken after the checkin that removed rpl and rpl_ndb... · c6b05a9a
      Anitha Gopi authored
      BUG #59055: RQG was broken after the checkin that removed rpl and rpl_ndb suites. RQG uses MTR V1 and that still has these in the default suite. Removing these from V1. Also removing references to ndb tests in some more disabled.def files
      c6b05a9a
    • Sergey Glukhov's avatar
      automerge · 8b0f0a97
      Sergey Glukhov authored
      8b0f0a97
    • Sergey Glukhov's avatar
      test case fix · 42bed4be
      Sergey Glukhov authored
      42bed4be
    • Sven Sandberg's avatar
      BUG#59084: rpl_do_grant started to fail on FreeBSD (presumably after BUG#49978) · 0d87c6ed
      Sven Sandberg authored
      Problem: master executed a statement that would fail on slave
      (namely, DROP USER 'create_rout_db'@'localhost').
      Then the test did:
        --let $rpl_only_running_threads= 1
        --source include/rpl_reset.inc
      rpl_reset.inc calls rpl_sync.inc, which first checks which of
      the threads are running and then syncs those threads that are
      running. If the SQL thread fails after the check, the sync will
      fail. So there was a race in the test and it failed on some
      slow hosts.
      Fix: Don't replicate the failing statement.
      0d87c6ed
    • Tor Didriksen's avatar
      f482437c
    • Sergey Glukhov's avatar
      automerge · 1e5b7636
      Sergey Glukhov authored
      1e5b7636
    • Sergey Glukhov's avatar
      automerge · c23f8ca6
      Sergey Glukhov authored
      c23f8ca6
    • Sergey Glukhov's avatar
      5.1-bugteam->5.5-bugteam merge · 0919d747
      Sergey Glukhov authored
      0919d747
    • Sven Sandberg's avatar
    • Sergey Glukhov's avatar
      5.1-bugteam->5.5-bugteam merge · cb9b47d8
      Sergey Glukhov authored
      cb9b47d8
    • Sergey Glukhov's avatar
      Bug#58030 crash in Item_func_geometry_from_text::val_str · c4b29069
      Sergey Glukhov authored
      Item_sum_max/Item_sum_min incorrectly set null_value flag and
      attempt to get result in parent functions leads to crash.
      This happens due to double evaluation of the function argumet.
      First evaluation happens in the comparator and second one
      happens in Item_cache::cache_value().
      The fix is to introduce new Item_cache object which
      holds result of the argument and use this cached value
      as an argument of the comparator.
      c4b29069
    • 's avatar
      Bug #56662 Assertion failed: next_insert_id == 0, file .\handler.cc · bcd47f41
      authored
            
      Normally, auto_increment value is generated for the column by
      inserting either NULL or 0 into it. NO_AUTO_VALUE_ON_ZERO
      suppresses this behavior for 0 so that only NULL generates
      the auto_increment value. This behavior is also followed by
      a slave, specifically by the SQL Thread, when applying events
      in the statement format from a master. However, when applying
      events in the row format, the flag was ignored thus causing
      an assertion failure:
      "Assertion failed: next_insert_id == 0, file .\handler.cc"
            
      In fact, we never need to generate a auto_increment value for
      the column when applying events in row format on slave. So we
      don't allow it to happen by using 'MODE_NO_AUTO_VALUE_ON_ZERO'.
            
      Refactoring: Get rid of all the sql_mode checks to rows_log_event
      when applying it for avoiding problems caused by the inconsistency
      of the sql_mode on slave and master as the sql_mode is not set for
      Rows_log_event.
      bcd47f41
    • Sven Sandberg's avatar
    • 's avatar
      Bug #56662 Assertion failed: next_insert_id == 0, file .\handler.cc · 16ca2deb
      authored
      Normally, auto_increment value is generated for the column by
      inserting either NULL or 0 into it. NO_AUTO_VALUE_ON_ZERO
      suppresses this behavior for 0 so that only NULL generates
      the auto_increment value. This behavior is also followed by
      a slave, specifically by the SQL Thread, when applying events
      in the statement format from a master. However, when applying
      events in the row format, the flag was ignored thus causing
      an assertion failure:
      "Assertion failed: next_insert_id == 0, file .\handler.cc"
      
      In fact, we never need to generate a auto_increment value for
      the column when applying events in row format on slave. So we
      don't allow it to happen by using 'MODE_NO_AUTO_VALUE_ON_ZERO'.
      
      Refactoring: Get rid of all the sql_mode checks to rows_log_event
      when applying it for avoiding problems caused by the inconsistency
      of the sql_mode on slave and master as the sql_mode is not set for
      Rows_log_event.
      16ca2deb
    • Anitha Gopi's avatar
      b099416b
  9. 20 Dec, 2010 6 commits