1. 06 Jul, 2006 2 commits
    • guilhem@gbichot3.local's avatar
      Merge gbichot3.local:/home/mysql_src/mysql-5.0-20524 · dd84ef1b
      guilhem@gbichot3.local authored
      into  gbichot3.local:/home/mysql_src/mysql-5.0
      dd84ef1b
    • guilhem@mysql.com's avatar
      Fix for BUG#20524 "auto_increment_* not observed when inserting · 140b488c
      guilhem@mysql.com authored
      a too large value": the bug was that if MySQL generated a value for an
      auto_increment column, based on auto_increment_* variables, and this value
      was bigger than the column's max possible value, then that max possible
      value was inserted (after issuing a warning). But this didn't honour
      auto_increment_* variables (and so could cause conflicts in a master-master
      replication where one master is supposed to generated only even numbers,
      and the other only odd numbers), so now we "round down" this max possible
      value to honour auto_increment_* variables, before inserting it.
      140b488c
  2. 05 Jul, 2006 1 commit
    • guilhem@mysql.com's avatar
      Fix for BUG#20188 "REPLACE or ON DUPLICATE KEY UPDATE in · a43c4b02
      guilhem@mysql.com authored
      auto_increment breaks binlog":
      if slave's table had a higher auto_increment counter than master's (even
      though all rows of the two tables were identical), then in some cases,
      REPLACE and INSERT ON DUPLICATE KEY UPDATE failed to replicate
      statement-based (it inserted different values on slave from on master).
      write_record() contained a "thd->next_insert_id=0" to force an adjustment
      of thd->next_insert_id after the update or replacement. But it is this
      assigment introduced indeterminism of the statement on the slave, thus
      the bug. For ON DUPLICATE, we replace that assignment by a call to
      handler::adjust_next_insert_id_after_explicit_value() which is deterministic
      (does not depend on slave table's autoinc counter). For REPLACE, this
      assignment can simply be removed (as REPLACE can't insert a number larger
      than thd->next_insert_id).
      We also move a too early restore_auto_increment() down to when we really know
      that we can restore the value.
      a43c4b02
  3. 20 Jun, 2006 2 commits
  4. 19 Jun, 2006 16 commits
  5. 18 Jun, 2006 3 commits
  6. 17 Jun, 2006 11 commits
  7. 16 Jun, 2006 5 commits