An error occurred fetching the project authors.
  1. 30 Mar, 2007 1 commit
  2. 29 Mar, 2007 2 commits
    • mats@romeo.(none)'s avatar
      Post-merge patch. · b463c782
      mats@romeo.(none) authored
      b463c782
    • mats@romeo.(none)'s avatar
      WL#3464: Add replication event to denote gap in replication · 7c187c2c
      mats@romeo.(none) authored
      Adding an event that can be used to denote that an incident occured
      on the master. The event can be used to denote a gap in the replication
      stream, but can also be used to denote other incidents.
      
      In addition, the injector interface is extended with functions to
      generate an incident event. The function will also rotate the binary
      log after generating an incident event to get a fresh binary log.
      7c187c2c
  3. 27 Mar, 2007 1 commit
    • mats@romeo.(none)'s avatar
      BUG#27441 (There is no COLS bitmap for the after image of an update · 06b5e9bb
      mats@romeo.(none) authored
      rows event):
      
      Adding a after image COLS bitmap to Update_rows_log_event (for telling
      what columns that are present in the after image of each row update).
      
      Also fixing case where Rows_log_event length was not correctly computed
      (happened when the number of columns in a table was more than 251). 
      06b5e9bb
  4. 22 Mar, 2007 2 commits
  5. 28 Feb, 2007 1 commit
    • bar@mysql.com's avatar
      Bug#15126 character_set_database is not replicated (LOAD DATA INFILE need it) · dd0c43d5
      bar@mysql.com authored
      This patch fixes problem that LOAD DATA could use different
      character sets when loading files on master and on slave sides:
      - Adding replication of thd->variables.collation_database
      - Adding optional character set clause into LOAD DATA
      
      Note, the second way, with explicit CHARACTER SET clause
      should be the recommended way to load data using an alternative
      character set.
      The old way, using "SET @@character_set_database=xxx" should be
      gradually depricated.
      dd0c43d5
  6. 23 Feb, 2007 1 commit
    • gbichot@dl145h.mysql.com's avatar
      Fix for BUG#25628: "mysqlbinlog crashes while processing binary logs". · ba2452f0
      gbichot@dl145h.mysql.com authored
      mysqlbinlog prints all row-based events of a single statement as a
      single "BINLOG" statement containing the concatenation of those events.
      Big (i.e. >64k) concatenations of row-based events
      (e.g. Write_rows_log_event) caused mysqlbinlog's IO_CACHE to overflow
      to a temporary file but the IO_CACHE had not been inited with
      open_cached_file(), so it tried to create a temporary file in
      an uninitialized directory (thus failing to create, then to write;
      some OS errors were printed, and it finally segfaulted).
      After fixing this, it appeared that mysqlbinlog was printing only
      a piece of big concatenations of row-based events (it printed
      at most the size of the IO_CACHE's buffer i.e. 64k); that caused data
      loss at restore. We fix and test that.
      Last, mysqlbinlog's printouts looked a bit strange with the informative
      header (#-prefixed) of groupped Rows_log_event all on one line,
      so we insert \n. After that, a small bug in the --hexdump code appeared
      (only if the string to hex-print had its length a multiple of 16),
      we fix it.
      ba2452f0
  7. 12 Feb, 2007 1 commit
  8. 08 Feb, 2007 1 commit
    • 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
  9. 26 Jan, 2007 1 commit
    • mats@romeo.(none)'s avatar
      BUG#19033 (RBR: slave does not handle schema changes correctly): · 59ada157
      mats@romeo.(none) authored
      Since checking table compatibility before locking the table, there were
      potential that a table could be locked that did not have a definition
      that was compatible with the table on the slave.
      
      This patch adds a check just after the table was locked to ensure that
      the table is (still) compatible with the table on the slave.
      59ada157
  10. 10 Jan, 2007 2 commits
    • cbell/Chuck@suse.vabb.com's avatar
      BUG#22645 - LC_TIME_NAMES: Statement not replicated · 183c6759
      cbell/Chuck@suse.vabb.com authored
      This patch is an additional code change to the get_str_len_and_pointer
      method in log_events.cc. This change is necessary to correct a problem
      encountered on 64-bit SUSE where the auto_increment_* variables were
      being overwritten. The change corrects a cast mismatch which caused
      the problem.
      183c6759
    • cbell/Chuck@suse.vabb.com's avatar
      BUG#22645 - LC_TIME_NAMES: Statement not replicated · 20036a42
      cbell/Chuck@suse.vabb.com authored
      This patch is an additional code change to the get_str_len_and_pointer 
      method in log_events.cc. This change is necessary to correct a problem
      encountered on 64-bit SUSE where the auto_increment_* variables were
      being overwritten. The change corrects a cast mismatch which caused
      the problem.
      20036a42
  11. 31 Dec, 2006 1 commit
    • kent@mysql.com/kent-amd64.(none)'s avatar
      my_strtoll10-x86.s: · 6523aca7
      kent@mysql.com/kent-amd64.(none) authored
        Corrected spelling in copyright text
      Makefile.am:
        Don't update the files from BitKeeper
      Many files:
        Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
        Adjusted year(s) in copyright header 
      Many files:
        Added GPL copyright text
      Removed files:
        Docs/Support/colspec-fix.pl
        Docs/Support/docbook-fixup.pl
        Docs/Support/docbook-prefix.pl
        Docs/Support/docbook-split
        Docs/Support/make-docbook
        Docs/Support/make-makefile
        Docs/Support/test-make-manual
        Docs/Support/test-make-manual-de
        Docs/Support/xwf
      6523aca7
  12. 23 Dec, 2006 1 commit
  13. 21 Dec, 2006 1 commit
    • mats@romeo.(none)'s avatar
      BUG#22864 (Rollback following CREATE... SELECT discards 'CREATE TABLE' · be9ffb12
      mats@romeo.(none) authored
      from log):
      When row-based logging is used, the CREATE-SELECT is written as two
      parts: as a CREATE TABLE statement and as the rows for the table. For
      both transactional and non-transactional tables, the CREATE TABLE
      statement was written to the transaction cache, as were the rows, and
      on statement end, the entire transaction cache was written to the binary
      log if the table was non-transactional. For transactional tables, the
      events were kept in the transaction cache until end of transaction (or
      statement that were not part of a transaction).
      
      For the case when AUTOCOMMIT=0 and we are creating a transactional table
      using a create select, we would then keep the CREATE TABLE statement and
      the rows for the CREATE-SELECT, while executing the following statements.
      On a rollback, the transaction cache would then be cleared, which would
      also remove the CREATE TABLE statement. Hence no table would be created
      on the slave, while there is an empty table on the master.
      
      This relates to BUG#22865 where the table being created exists on the
      master, but not on the slave during insertion of rows into the newly
      created table. This occurs since the CREATE TABLE statement were still
      in the transaction cache until the statement finished executing, and
      possibly longer if the table was transactional.
      
      This patch changes the behaviour of the CREATE-SELECT statement by
      adding an implicit commit at the end of the statement when creating
      non-temporary tables. Hence, non-temporary tables will be written to the
      binary log on completion, and in the even of AUTOCOMMIT=0, a new
      transaction will be started. Temporary tables do not commit an ongoing
      transaction: neither as a pre- not a post-commit.
      
      The events for both transactional and non-transactional tables are
      saved in the transaction cache, and written to the binary log at end
      of the statement.
      be9ffb12
  14. 14 Dec, 2006 1 commit
    • monty@mysql.com/narttu.mysql.fi's avatar
      Fixed compiler warnings detected by option -Wshadow and -Wunused: · 88dd873d
      monty@mysql.com/narttu.mysql.fi authored
      - Removed not used variables and functions
      - Added #ifdef around code that is not used
      - Renamed variables and functions to avoid conflicts
      - Removed some not used arguments
      
      Fixed some class/struct warnings in ndb
      Added define IS_LONGDATA() to simplify code in libmysql.c
      
      I did run gcov on the changes and added 'purecov' comments on almost all lines that was not just variable name changes
      88dd873d
  15. 07 Dec, 2006 2 commits
  16. 30 Nov, 2006 1 commit
    • monty@mysql.com/narttu.mysql.fi's avatar
      Fixed compiler warnings (Mostly VC++): · 3a35c300
      monty@mysql.com/narttu.mysql.fi authored
      - Removed not used variables
      - Changed some ulong parameters/variables to ulonglong (possible serious bug)
      - Added casts to get rid of safe assignment from longlong to long (and similar)
      - Added casts to function parameters
      - Fixed signed/unsigned compares
      - Added some constructores to structures
      - Removed some not portable constructs
      
      Better fix for bug Bug #21428 "skipped 9 bytes from file: socket (3)" on "mysqladmin shutdown"
      (Added new parameter to net_clear() to define when we want the communication buffer to be emptied)
      3a35c300
  17. 28 Nov, 2006 1 commit
  18. 14 Nov, 2006 1 commit
  19. 12 Nov, 2006 1 commit
  20. 01 Nov, 2006 1 commit
    • mats@romeo.(none)'s avatar
      BUG#23171 (Illegal slave restart group position): · 9372c38c
      mats@romeo.(none) authored
      First patch preparing for restructuring the event execution and event
      skipping. This patch renames the existing (virtual) function exec_event()
      to be a primitive for implementing the real patch. Also, the virtual function
      advance_coord_impl() is added to advance the binary/relay log coordinates,
      and two non-virtual functions exec_event() [sic] and skip_event() is added
      that will contain the business logic for executing and skipping events
      respectively.
      9372c38c
  21. 06 Oct, 2006 1 commit
    • mats@romeo.(none)'s avatar
      BUG#19459 (BINLOG RBR command does not lock tables correctly causing · e762328b
      mats@romeo.(none) authored
      crash for, e.g., NDB):
      
      Before, mysqlbinlog printed table map events as a separate statement, so
      when executing the event, the opened table was subsequently closed
      when the statement ended. Instead, the row-based events that make up
      a statement are now printed as *one* BINLOG statement, which means
      that the table maps and the following *_rows_log_event events are
      executed fully before the statement ends.
      
      Changing implementation of BINLOG statement to be able to read the 
      emitted format, which now consists of several chunks of BASE64-encoded
      data.
      e762328b
  22. 11 Sep, 2006 1 commit
  23. 12 Jun, 2006 1 commit
  24. 31 May, 2006 1 commit
  25. 17 May, 2006 1 commit
    • guilhem@mysql.com's avatar
      Removing the binlog-show-xid option as it was only a temporary solution until... · c1b11edf
      guilhem@mysql.com authored
      Removing the binlog-show-xid option as it was only a temporary solution until we have replace-regex which we have now.
      That option was used to suppress the XID from the output of SHOW BINLOG EVENTS (to create a repeatable testsuite),
      was available only in debug builds, and was explicitely marked as "may be removed in future versions" in mysqld --help.
      Idea of the removal approved by the replication team.
      c1b11edf
  26. 05 May, 2006 1 commit
  27. 03 May, 2006 1 commit
  28. 16 Apr, 2006 1 commit
  29. 08 Mar, 2006 1 commit
  30. 25 Feb, 2006 2 commits
    • guilhem@mysql.com's avatar
      WL#2977 and WL#2712 global and session-level variable to set the binlog format (row/statement), · 00717495
      guilhem@mysql.com authored
      and new binlog format called "mixed" (which is statement-based except if only row-based is correct,
      in this cset it means if UDF or UUID is used; more cases could be added in later 5.1 release):
      SET GLOBAL|SESSION BINLOG_FORMAT=row|statement|mixed|default;
      the global default is statement unless cluster is enabled (then it's row) as in 5.1-alpha.
      It's not possible to use SET on this variable if a session is currently in row-based mode and has open temporary tables (because CREATE
      TEMPORARY TABLE was not binlogged so temp table is not known on slave),  or if NDB is enabled (because
      NDB does not support such change on-the-fly, though it will later), of if in a stored function (see below).
      The added tests test the possibility or impossibility to SET, their effects, and the mixed mode,
      including in prepared statements and in stored procedures and functions.
      Caveats:
      a) The mixed mode will not work for stored functions: in mixed mode, a stored function will
      always be binlogged as one call and in a statement-based way (e.g. INSERT VALUES(myfunc()) or SELECT myfunc()).
      b) for the same reason, changing the thread's binlog format inside a stored function is
      refused with an error message.
      c) the same problems apply to triggers; implementing b) for triggers will be done later (will ask
      Dmitri).
      Additionally, as the binlog format is now changeable by each user for his session, I remove the implication
      which was done at startup, where row-based automatically set log-bin-trust-routine-creators to 1
      (not possible anymore as a user can now switch to stmt-based and do nasty things again), and automatically
      set --innodb-locks-unsafe-for-binlog to 1 (was anyway theoretically incorrect as it disabled
      phantom protection).
      Plus fixes for compiler warnings.
      00717495
    • monty@mysql.com's avatar
      Fixed compiler warnings from gcc 4.0.2: · 54274976
      monty@mysql.com authored
      - Added empty constructors and virtual destructors to many classes and structs
      - Removed some usage of the offsetof() macro to instead use C++ class pointers
      54274976
  31. 24 Feb, 2006 1 commit
  32. 16 Feb, 2006 1 commit
  33. 20 Jan, 2006 1 commit
  34. 13 Jan, 2006 1 commit
  35. 10 Jan, 2006 1 commit