• unknown's avatar
    Replication: new code to not modify in-memory log positions until the COMMIT · 9f4f19d9
    unknown authored
    is executed, even if the transaction spans on >=2 relay logs (bug #53).
    New variable relay_log_purge =0|1
    New test to verify bug #53
    
    
    sql/log.cc:
      Now we purge a relay log only when we are sure we won't need it,
      i.e. we have executed the final query (if autocommit=1) or the COMMIT.
    sql/log_event.cc:
      Better tracking of the relay log's name and position
      lastly executed, even if we are in a transaction which spans on
      2 or more relay logs.
    sql/mysql_priv.h:
      new option relay_log_purge (the user can now decide himself
      if he wants his relay logs to be automatically purged or not,
      we don't make unsafe guesses like before)
    sql/mysqld.cc:
      new option --innodb (replaces --skip-innodb).
      Useful for the test suite : we have skip-innodb in mysql-test-run,
      but we can ('-opt.info' file) choose to start the server with
      InnoDB for this test only.
      New option --bdb
    sql/repl_failsafe.cc:
      Better tracking of the relay log's name and position
      lastly executed, even if we are in a transaction which spans on
      2 or more relay logs.
    sql/set_var.cc:
      new variable relay_log_purge
    sql/slave.cc:
      Better tracking of the relay log's name and position
      lastly executed, even if we are in a transaction which spans on
      2 or more relay logs.
      Now we purge a relay log only when we are sure we won't need it,
      i.e. we have executed the final query (if autocommit=1) or the COMMIT
    sql/slave.h:
      Better tracking of the relay log's name and position
      lastly executed, even if we are in a transaction which spans on
      2 or more relay logs.
    sql/sql_class.h:
      prototypes change
    sql/sql_parse.cc:
      removed thd argument (was not used in the function's body)
    sql/sql_repl.cc:
      Better tracking of the relay log's name and position
      lastly executed, even if we are in a transaction which spans on
      2 or more relay logs.
      Turn relay_log_purge silently off when someone does CHANGE
      MASTER TO RELAY_LOG_*
    9f4f19d9
mysqld.cc 185 KB