An error occurred fetching the project authors.
  1. 06 Dec, 2007 1 commit
  2. 31 Oct, 2007 1 commit
  3. 27 Jun, 2007 1 commit
  4. 29 Mar, 2007 1 commit
    • 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
  5. 01 Mar, 2007 1 commit
  6. 20 Feb, 2007 1 commit
  7. 12 Feb, 2007 1 commit
  8. 15 Jan, 2007 1 commit
    • aelkin/elkin@dsl-hkibras-fe36f900-97.dhcp.inet.fi's avatar
      Bug #16567 binlog_format option does not show when doing ./mysqd --help --verbose · 4d815a48
        Implementing this feature connected to wl#3368 mixed binlog_format default.
        Supplied by my.cnf or explicitly in command line option gets be displayed.
        When not supplied `(No default value)' is displayed, even though --log-bin might
        be supplied. The option is different object from @@global.binlog_format variable.
        The default `mixed' for the latter is dependant on presence of `--log-bin' option,
        otherwise the value of the var is set to NULL (undefined):
      
         var := opt | MIXED  when binlog-in-use
         var := NULL         otherwise (no binlog, no format)
      
        Comments on NDB and mixed format updated, also dependency the option on --log-bin
        aka binlog-in-use is worded.
        
        Making t/rpl_switch_stm_row_mixed.test to interprete DEFAULT for binlog_format
        as MIXED.
        Comments on what the test covers are added.
      
        todo/fixme: turning @@global.binlog_format to be read-only when it's set to NULL (no binlog).
        todo/fixme: options dependacy (acyclic) graph, particularly to solve a task of
      setting defaults values for the leaf nodes
        only when parents' nodes are set.
      4d815a48
  9. 07 Dec, 2006 1 commit
  10. 15 Sep, 2006 1 commit
    • aelkin/elkin@dsl-hkigw8-fe00f800-98.dhcp.inet.fi's avatar
      Bug#22067 rpl_rbr_to_sbr and some other fail if NDB is default storage · 6055e8a9
      A query SET @@GLOBAL.binlog_format = ... returns an error when NDB is the
      default storage. This fails some tests invoking the set binlog_format explicitly.
      because the var turns to be read-only.
        
        In the following are files and method to fix if needed.
        
        t/
        ndb_binlog_basic2.test         # here the failure is benign
        rpl_rbr_to_sbr.test            # does not check any ndb features =>           
       
        .                              # => not_ndb_default is enough
        rpl_row_basic_8partition.test  # set binlog_format can be replaced
        rpl_switch_stm_row_mixed.test  # does not check any ndb features =>
        .                              # => not_ndb_default is enough
        
        two more invoking invoke extra/rpl_truncate_helper.test
        
        rpl_truncate_2myisam           # to be fixed with not_ndb_default
        rpl_truncate_3innodb           # same as above
        .                              # because there is a dedicated to ndb .        
       
        .                              # rpl_truncate_7ndb* suit.
      
      Adapting/testing a new implement
      --source include/safe_set_to_maybe_ro_var.inc
      to avoid abort due to the error using binlog_format as application.
      6055e8a9
  11. 17 Aug, 2006 1 commit
  12. 16 Aug, 2006 1 commit
  13. 10 Jul, 2006 1 commit
    • guilhem@gbichot3.local's avatar
      fixes after merge. Updates to test's results. · 1cc3c800
      guilhem@gbichot3.local authored
      We now reset the THD members related to auto_increment+binlog in
      MYSQL_LOG::write(). This is better than in THD::cleanup_after_query(),
      which was not able to distinguish between SELECT myfunc1(),myfunc2()
      and INSERT INTO t SELECT myfunc1(),myfunc2() from a binlogging point
      of view.
      Rows_log_event::exec_event() now calls lex_start() instead of
      mysql_init_query() because the latter now does too much (it resets
      the binlog format).
      1cc3c800
  14. 09 Jul, 2006 2 commits
    • guilhem@gbichot3.local's avatar
      post-merge test/result fixes. · 17efd43b
      guilhem@gbichot3.local authored
      17efd43b
    • guilhem@gbichot3.local's avatar
      * Mixed replication mode * : · fdb0f85a
      guilhem@gbichot3.local authored
      1) Fix for BUG#19630 "stored function inserting into two auto_increment breaks
      statement-based binlog":
      a stored function inserting into two such tables may fail to replicate
      (inserting wrong data in the slave's copy of the second table) if the slave's
      second table had an internal auto_increment counter different from master's.
      Because the auto_increment value autogenerated by master for the 2nd table
      does not go into binlog, only the first does, so the slave lacks information.
      To fix this, if running in mixed binlogging mode, if the stored function or
      trigger plans to update two different tables both having auto_increment
      columns, we switch to row-based for the whole function.
      We don't have a simple solution for statement-based binlogging mode, there
      the bug remains and will be documented as a known problem.
      Re-enabling rpl_switch_stm_row_mixed.
      2) Fix for BUG#20630 "Mixed binlogging mode does not work with stored
      functions, triggers, views", which was a documented limitation (in mixed
      mode, we didn't detect that a stored function's execution needed row-based
      binlogging (due to some UUID() call for example); same for
      triggers, same for views (a view created from a SELECT UUID(), and doing
      INSERT INTO sometable SELECT theview; would not replicate row-based).
      This is implemented by, after parsing a routine's body, remembering in sp_head
      that this routine needs row-based binlogging. Then when this routine is used,
      the caller is marked to require row-based binlogging too.
      Same for views: when we parse a view and detect that its SELECT needs
      row-based binary logging, we mark the calling LEX as such.
      3) Fix for BUG#20499 "mixed mode with temporary table breaks binlog":
      a temporary table containing e.g. UUID has its changes not binlogged,
      so any query updating a permanent table with data from the temporary table
      will run wrongly on slave. Solution: in mixed mode we don't switch back
      from row-based to statement-based when there exists temporary tables.
      4) Attempt to test mysqlbinlog on a binlog generated by mysqlbinlog;
      impossible due to BUG#11312 and BUG#20329, but test is in place for when
      they are fixed.
      fdb0f85a
  15. 06 Jul, 2006 2 commits
    • guilhem@gbichot3.local's avatar
      Testcase for BUG#20633 "INSERT DELAYED RAND() or @user_var does not replicate · 6ba4d22c
      guilhem@gbichot3.local authored
      statement-based" (bugfix was committed today):
      we verify that now it works in mixed mode. And a comment.
      6ba4d22c
    • guilhem@gbichot3.local's avatar
      Fix for BUG#20649 "mixed replication mode does not work with INSERT DELAYED". · a5f184d5
      guilhem@gbichot3.local authored
      The bug was that if the server was running in mixed binlogging mode,
      and an INSERT DELAYED used some needing-row-based components like UUID(),
      the server didn't binlog this row-based but statement-based, which
      thus failed to insert correct data on the slave.
      This changeset implements that when a delayed_insert thread is created,
      if the server's global binlog mode is "mixed", that thread will use row-based.
      This also fixes BUG#20633 "INSERT DELAYED RAND() or @user_var does not
      replicate statement-based": we don't fix it in statement-based mode (would
      require bookeeping of rand seeds and user variables used by each row),
      but at least it will now work in mixed mode (as row-based will be used).
      We re-enable rpl_switch_stm_row_mixed.test (so BUG#18590
      which was about re-enabling this test, will be closed) to test the fixes.
      Between when it was disabled and now, some good changes to row-based
      binlogging (no generation of table map events for non-changed tables)
      induce changes in the test's result file.
      a5f184d5
  16. 13 Mar, 2006 1 commit
  17. 09 Mar, 2006 1 commit
  18. 26 Feb, 2006 1 commit
  19. 25 Feb, 2006 1 commit
    • 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