1. 23 Feb, 2007 2 commits
    • cbell/Chuck@mysql_cab_desk.'s avatar
      Merge mysql_cab_desk.:C:/source/c++/mysql-5.0-rpl · 9017512b
      cbell/Chuck@mysql_cab_desk. authored
      into  mysql_cab_desk.:C:/source/c++/mysql-5.0_BUG_20141
      9017512b
    • cbell/Chuck@mysql_cab_desk.'s avatar
      BUG#20141 "User-defined variables are not replicated properly for SF/ · 4c6ced9f
      cbell/Chuck@mysql_cab_desk. authored
                 Triggers in SBR mode."
      BUG#14914 "SP: Uses of session variables in routines are not always
                 replicated"
      BUG#25167 "Dupl. usage of user-variables in trigger/function is not
                 replicated correctly"
      
      User-defined variables used inside of stored functions/triggers in
      statements which did not update tables directly were not replicated.
      We also had problems with replication of user-defined variables which
      were used in triggers (or stored functions called from table-updating
      statements) more than once.
      
      This patch addresses the first issue by enabling logging of all
      references to user-defined variables in triggers/stored functions
      and not only references from table-updating statements.
      
      The second issue stemmed from the fact that for user-defined
      variables used from triggers or stored functions called from
      table-updating statements we were writing binlog events for each
      reference instead of only one event for the first reference.
      This problem is already solved for stored functions called from
      non-updating statements with help of "event unioning" mechanism.
      So the patch simply extends this mechanism to the case affected.
      It also fixes small problem in this mechanism which caused wrong
      logging of references to user-variables in cases when non-updating
      statement called several stored functions which used the same
      variable and some of these function calls were omitted from binlog
      as they were not updating any tables.
      4c6ced9f
  2. 15 Feb, 2007 2 commits
    • guilhem@gbichot3.local's avatar
      Backport from the Falcon tree. · 2f75c9cd
      guilhem@gbichot3.local authored
      When opening/creating the transaction coordinator's log, if binlog is
      used, the tc log is the binlog so we use the binlog's name; otherwise
      we use the mmap-based log, named after the mandatory argument of the
      --log-tc option (meant for that).
      2f75c9cd
    • guilhem@gbichot3.local's avatar
      Fix for BUG#25507 "multi-row insert delayed + auto increment causes · 8b1609a6
      guilhem@gbichot3.local authored
      duplicate key entries on slave" (two concurrrent connections doing
      multi-row INSERT DELAYED to insert into an auto_increment column,
      caused replication slave to stop with "duplicate key error" (and
      binlog was wrong)), and BUG#26116 "If multi-row INSERT
      DELAYED has errors, statement-based binlogging breaks" (the binlog
      was not accounting for all rows inserted, or slave could stop).
      The fix is that: if (statement-based) binlogging is on, a multi-row
      INSERT DELAYED is silently converted to a non-delayed INSERT.
      Note: it is not possible to test BUG#25507 in 5.0 (requires mysqlslap),
      so it is tested only in the changeset for 5.1. However, BUG#26116
      is tested here, and the fix for BUG#25507 is the same code change.
      8b1609a6
  3. 08 Feb, 2007 2 commits
    • guilhem@gbichot3.local's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · 1e74079b
      guilhem@gbichot3.local authored
      into  gbichot3.local:/home/mysql_src/mysql-5.0-rpl-24432
      1e74079b
    • guilhem@gbichot3.local's avatar
      Fix for BUG#24432 · b3a03dad
      guilhem@gbichot3.local authored
      "INSERT... ON DUPLICATE KEY UPDATE skips auto_increment values".
      When in an INSERT ON DUPLICATE KEY UPDATE, using
      an autoincrement column, we inserted some autogenerated values and
      also updated some rows, some autogenerated values were not used
      (for example, even if 10 was the largest autoinc value in the table
      at the start of the statement, 12 could be the first autogenerated
      value inserted by the statement, instead of 11). One autogenerated
      value was lost per updated row. Led to exhausting the range of the
      autoincrement column faster.
      Bug introduced by fix of BUG#20188; present since 5.0.24 and 5.1.12.
      This bug breaks replication from a pre-5.0.24 master.
      But the present bugfix, as it makes INSERT ON DUP KEY UPDATE
      behave like pre-5.0.24, breaks replication from a [5.0.24,5.0.34]
      master to a fixed (5.0.36) slave! To warn users against this when
      they upgrade their slave, as agreed with the support team, we add
      code for a fixed slave to detect that it is connected to a buggy
      master in a situation (INSERT ON DUP KEY UPDATE into autoinc column)
      likely to break replication, in which case it cannot replicate so
      stops and prints a message to the slave's error log and to SHOW SLAVE
      STATUS.
      For 5.0.36->[5.0.24,5.0.34] replication we cannot warn as master
      does not know the slave's version (but we always recommended to users
      to have slave at least as new as master).
      As agreed with support, I'll also ask for an alert to be put into
      the MySQL Network Monitoring and Advisory Service.
      b3a03dad
  4. 24 Jan, 2007 1 commit
    • bar@mysql.com's avatar
      Bug#25815 Data truncated for column TEXT · ffeaffc2
      bar@mysql.com authored
      Problem: "Data truncated" warning was incorrectly generated
      when storing a Japanese character encoded in utf8
      into a cp932 column.
      Reason: Incorrect wrong warning condition
      compared the original length of the character in bytes
      (which is 3 in utf8) to the converted length of the
      character in bytes (which is 2 in cp932).
      Fix: use "how many bytes were scanned from input" instead
      of "how many bytes were put to the column" in the condition.
      ffeaffc2
  5. 18 Jan, 2007 2 commits
  6. 17 Jan, 2007 7 commits
  7. 16 Jan, 2007 3 commits
  8. 15 Jan, 2007 11 commits
  9. 12 Jan, 2007 10 commits