1. 13 Sep, 2012 1 commit
    • unknown's avatar
      MDEV-232: Remove one fsync() from commit phase. · 288eeb3a
      unknown authored
      Introduce a new storage engine API method commit_checkpoint_request().
      This is used to replace the fsync() at the end of every storage engine
      commit with a single fsync() when a binlog is rotated.
      
      Binlog rotation is now done during group commit instead of being
      delayed until unlog(), removing some server stall and avoiding an
      expensive lock/unlock of LOCK_log inside unlog().
      288eeb3a
  2. 22 Jun, 2012 2 commits
    • unknown's avatar
      MDEV-181: XID crash recovery across binlog boundaries · 0697ee26
      unknown authored
      Keep track of how many pending XIDs (transactions that are prepared in
      storage engine and written into binlog, but not yet durably committed
      on disk in the engine) there are in each binlog.
      
      When the count of one binlog drops to zero, write a new binlog checkpoint
      event, telling which is the oldest binlog with pending XIDs.
      
      When doing XA recovery after a crash, check the last binlog checkpoint
      event, and scan all binlog files from that point onwards for XIDs that
      must be committed if found in prepared state inside engine.
      
      Remove the code in binlog rotation that waits for all prepared XIDs to
      be committed before writing a new binlog file (this is no longer necessary
      when recovery can scan multiple binlog files).
      0697ee26
    • unknown's avatar
      MDEV-225: Replace with dummy events an event that is not understood by a slave... · 9fe317ff
      unknown authored
      MDEV-225: Replace with dummy events an event that is not understood by a slave to which it should be sent
      
      Add function to replace arbitrary event with dummy event.
      
      Add code which uses this to fix the bug that enabling row_annotate events
      on the master breaks slaves which do not request such events.
      
      Add that slaves set a variable @mariadb_slave_capability to inform the
      master in a robust way about which events it can, and cannot, handle.
      
      Add tests.
      
      9fe317ff
  3. 08 Sep, 2012 1 commit
  4. 04 Sep, 2012 1 commit
    • Michael Widenius's avatar
      Switch automaticly to statement based replication for statements that can't... · 51392386
      Michael Widenius authored
      Switch automaticly to statement based replication for statements that can't generate row based events. This is needed to avoid getting
      updates to system, statistics and admin tables logged to binary log.
      - Removed special code used to temporarily change to statement based replication.
      - Changed to a faster and smaller interface for temporarily switching to statement based replication.
      
      sql/event_db_repository.cc:
        Change to new interface to not use row based replication for system table changes.
      sql/events.cc:
        Change to new interface to not use row based replication for system table changes.
      sql/sp.cc:
        Removed temporarily switching to statement based replication (this is now done automaticly in mysql_execute_command())
      sql/sql_acl.cc:
        Change to new interface to not use row based replication for system table changes.
        Removed temporarily switching to statement based replication (this is now done automaticly in mysql_execute_command())
      sql/sql_class.h:
        Added new interface for temporarily switching to statement based replication.
      sql/sql_parse.cc:
        Mark commands that needs original replication mode with CF_FORCE_ORIGINAL_BINLOG_FORMAT.
        Switch automaticly to statement based replication for statements that can't generate row based events (and can't change replication mode)
      sql/sql_udf.cc:
        Removed temporarily switching to statement based replication (this is now done automaticly in mysql_execute_command())
      51392386
  5. 02 Sep, 2012 1 commit
  6. 01 Sep, 2012 1 commit
  7. 31 Aug, 2012 1 commit
  8. 29 Aug, 2012 1 commit
  9. 28 Aug, 2012 6 commits
  10. 27 Aug, 2012 1 commit
  11. 24 Aug, 2012 1 commit
  12. 25 Aug, 2012 1 commit
    • unknown's avatar
      fix for MDEV-367 · 4d2b05b7
      unknown authored
      The problem was that was_null and null_value variables was reset in each reexecution of IN subquery, but engine rerun only for non-constant subqueries.
      
      Fixed checking constant in Item_equal sort.
      Fix constant reporting in Item_subselect.
      4d2b05b7
  13. 24 Aug, 2012 16 commits
  14. 23 Aug, 2012 4 commits
  15. 22 Aug, 2012 2 commits