1. 11 Mar, 2013 3 commits
    • unknown's avatar
      MDEV-26: Global Transaction ID. · a6627fb0
      unknown authored
      Move a bunch of GTID specific code into new file rpl_gtid.cc. Make libmysqld build.
      a6627fb0
    • unknown's avatar
      MDEV-26: Global Transaction ID. · 86405b6a
      unknown authored
      Improvements to record_gtid():
      
       - Check for correct table definition of mysql.rpl_slave_state
       - Use autocommit, to save one call to ha_commit_trans()
       - Slightly more efficient way to set table->write_set
       - Use ha_index_read_map() to locate rows to support any storage engine.
      86405b6a
    • unknown's avatar
      MDEV-26: Global transaction ID. · 2cb9df39
      unknown authored
      Extend table definition checking to also be able to check for correct
      definition of the primary key.
      2cb9df39
  2. 27 Feb, 2013 2 commits
    • unknown's avatar
      MDEV-26: Global Transaction ID · 97bbe09b
      unknown authored
      Fix that CHANGE MASTER ... MASTER_GTID_POS="" works to start from the very
      beginning of the binary log (with test case).
      
      Fix that not finding the requested GTID position in master binlog results in
      fatal error, not endless connect retry.
      97bbe09b
    • unknown's avatar
      MDEV-26: Global Transaction ID. · 0ec0cd78
      unknown authored
      Add test case demonstrating multi-source replication with GTID.
      
      Test that we can move from being slave of two masters to be a slave
      deeper down in the hierarchy (of a higher-up multi-source slave),
      and vice versa.
      0ec0cd78
  3. 26 Feb, 2013 1 commit
    • unknown's avatar
      MDEV-26: Global transaction ID. · 209cfcb4
      unknown authored
      Remove the two-component form of GTID with implicit domain_id=0, as it
      is likely to cause more confusion than help.
      
      Give a better error for CHANGE MASTER ... MASTER_GTID_POS='gtid,gitd,...'
      when two specified GTIDs have conflicting domain_id.
      209cfcb4
  4. 25 Feb, 2013 1 commit
    • unknown's avatar
      MDEV-26: Global transaction ID · f62a8ead
      unknown authored
      Fix lock order violation. Make sure we temporarily release
      LOCK_global_system_variables before taking LOCK_active_mi.
      Otherwise we get a lock dependency cycle when we use
      open_tables() under LOCK_active_mi.
      f62a8ead
  5. 22 Feb, 2013 2 commits
    • unknown's avatar
      MDEV-26: Global Transaction ID · 6d880a8c
      unknown authored
       - Fix skipping initial MyISAM DML when connecting using GTID.
      
       - Fix RESET MASTER not clearing in-memory binlog state.
      
       - Fix not reading standalone flag in Gtid_log_event::peek().
      
       - Fix skipping DDL that the slave has already seen when using GTID position.
      6d880a8c
    • unknown's avatar
      MDEV-26: Global Transaction ID · e4ca32fb
      unknown authored
       - Fix that binlog_gtid_pos() (and hence slave connect) does not work
         correctly in the very first binlog file (due to not logging empty
         Gtid_list_log_event).
      
       - Remove one instance of the stupid domain_id-0-is-implicit.
      
       - Rename the confusing Gtid_Pos_Auto in SHOW SLAVE STATUS to Using_Gtid.
      
       - Fix memory leak.
      e4ca32fb
  6. 21 Feb, 2013 2 commits
    • unknown's avatar
      MDEV-26: Global transaction ID. · 27fb2c3e
      unknown authored
      Fix crash in binlog_gtid_pos('', 4) (and thus slave connect) when master does not
      have binlog enabled.
      27fb2c3e
    • unknown's avatar
      MDEV-26: Global transaction ID · 9a165459
      unknown authored
       - Add first basic mysql-test-run test case which tests switch to new master
         using MASTER_GTID_POS=AUTO.
      
       - When we connect with GTID, do not use any old relay logs, as they may
         contain the wrong events or be corrupt after crash.
      
       - Fix old bug that fails replication if we receive a heartbeat event
         immediately after an event was omitted in the stream from the master.
      
       - Fix rpl_end to clear Gtid_Pos_Auto, to keep check_testcase happy.
      9a165459
  7. 19 Feb, 2013 2 commits
  8. 18 Feb, 2013 1 commit
    • unknown's avatar
      MDEV-26: Global transaction ID. · 46025b3b
      unknown authored
      Fix initial loading of mysql.rpl_slave_state, the code had several
      issues.
      
      Some very basic MTR stuff, more to come.
      46025b3b
  9. 15 Feb, 2013 3 commits
  10. 14 Feb, 2013 1 commit
    • unknown's avatar
      MDEV-26: Global transaction ID. · 88b9c0ca
      unknown authored
      Slave now loads the GTID state from the master when connecting with
      old-style filename/offset position.
      
      This allows the user to use MASTER_GTID_POS=AUTO on next CHANGE MASTER
      without any other action needed.
      88b9c0ca
  11. 13 Feb, 2013 1 commit
    • unknown's avatar
      MDEV-26. Intermediary commit. · 5c39e6a5
      unknown authored
      Fix binlog_gtid_pos() to handle empty file name, and to not allow user
      to open arbitrary file on the system.
      5c39e6a5
  12. 11 Feb, 2013 1 commit
    • unknown's avatar
      MDEV-26. Intermediate commit. · c0454433
      unknown authored
      Implement binlog_gtid_pos() function. This will be used so that
      the slave can obtain the gtid position automatically from first
      connect with old-style position - then MASTER_GTID_POS=AUTO will
      work the next time. Can also be used by mysqldump --master-data
      to give the current gtid position directly.
      c0454433
  13. 25 Jan, 2013 2 commits
    • unknown's avatar
      MDEV-26: Global transaction ID. · 335d069e
      unknown authored
      Ensure that mysql_install_db can create the rpl_slave_state with InnoDB storage engine.
      335d069e
    • unknown's avatar
      MDEV-26: Global transaction ID. · e7dd358f
      unknown authored
      When starting slave, check binlog state in addition to mysql.rpl_slave.state.
      
      This allows to switch a previous master to be a slave directly
      with MASTER_GTID_POS=AUTO.
      e7dd358f
  14. 22 Jan, 2013 1 commit
  15. 15 Nov, 2012 1 commit
    • unknown's avatar
      MDEV-26: Global transaction id: Intermediate commit. · b2daf5ed
      unknown authored
      Now slave can connect to master, sending start position as slave state
      rather than old-style binlog name/position.
      
      This enables to switch to a new master by changing just connection
      information, replication slave GTID state ensures that slave starts
      at the correct point in the new master.
      b2daf5ed
  16. 07 Nov, 2012 1 commit
  17. 05 Nov, 2012 1 commit
  18. 23 Oct, 2012 2 commits
  19. 12 Mar, 2013 1 commit
  20. 07 Mar, 2013 1 commit
    • Sergey Petrunya's avatar
      Fix buildbot failure: · 091fd774
      Sergey Petrunya authored
      Backport the code that runs cassandra.test only when Cassandra is 
      present and running from 10.0 to 10.0-base.
      091fd774
  21. 27 Feb, 2013 1 commit
  22. 25 Feb, 2013 1 commit
  23. 15 Feb, 2013 1 commit
    • Michael Widenius's avatar
      Fixed BUG#51763 Can't delete rows from MEMORY table with HASH key · c8f495b6
      Michael Widenius authored
      mysql-test/suite/heap/heap.result:
        Added test case
      mysql-test/suite/heap/heap.test:
        Added test case
      storage/heap/hp_delete.c:
        Fixed that we don't change order of keys for the current key when we delete them from the hash table.
        Fixed that 'current_hash_ptr' is correct after heap_delete_key().
        Don't "reset current_hash_ptr" on delete; This will improve time a lot for delete of rows when not all rows matches the search criteria.
      c8f495b6
  24. 07 Feb, 2013 2 commits
    • Elena Stepanova's avatar
      Fix for MDEV-4149, backport from 10.0: · 51bc8989
      Elena Stepanova authored
        committer: Sergei Golubchik <sergii@pisem.net> 
          fix for a valgrind builds. 
          my_alloca() cannot have MY_THREAD_SPECIFIC, because can be used 
          outside of the THD context. 
      51bc8989
    • unknown's avatar
      MDEV-537 Make multi-column non-top level subqueries to be executed via index... · 327510bc
      unknown authored
      MDEV-537 Make multi-column non-top level subqueries to be executed via index (index/unique subquery)
                 instead of single_select_engine
      
      This task changes the IN-EXISTS rewrite for multi-column subqueries
      "(a, b) IN (select b, c ...)" to work in the same way as for
      single-column subqueries "a IN (select b ...) with respect to the
      injection of NULL-rejecting predicates.
       
      More specifically, the method
      Item_in_subselect::create_row_in_to_exists_cond()
      adds Item_is_not_null_test and Item_func_trig_cond only if the left
      IN operand can be NULL. Not having these predicates when not necessary,
      makes it possible to rewrite the subquery into a "unique_subquery" or
      "index_subquery" when there is a suitable index on the only
      subquery table.
      327510bc
  25. 05 Feb, 2013 1 commit
  26. 04 Feb, 2013 3 commits
  27. 31 Jan, 2013 1 commit