1. 29 Oct, 2010 1 commit
    • unknown's avatar
      MWL#116: after-architecture-review code refactoring and cleanup. · 5614ebe7
      unknown authored
      Remove the extra class hierarchy with classes TC_LOG_queued, TC_LOG_unordered,
      and TC_LOG_group_commit, folding the code into the TC_LOG_MMAP and
      TC_LOG_BINLOG classes. In particular TC_LOG_BINLOG is greatly simplified by
      this, unifying the code path for transactional and non-transactional
      commit.
      
      Remove unnecessary locking of LOCK_log in MYSQL_BIN_LOG::write() (backport
      of same fix from mysql-5.5).
      5614ebe7
  2. 28 Oct, 2010 1 commit
    • unknown's avatar
      MWL#116: Code simplifications for TC_LOG_MMAP. · b91ad17c
      unknown authored
      Make TC_LOG_MMAP (and TC_LOG_DUMMY) derive directly from TC_LOG, avoiding the
      inheritance hierarchy TC_LOG_queued->TC_LOG_unordered.
      
      Put the wakeup facility for commit_ordered() calls into the THD class.
      
      Some renaming to get better names.
      b91ad17c
  3. 26 Oct, 2010 2 commits
  4. 23 Oct, 2010 1 commit
    • unknown's avatar
      MWL#116: Efficient group commit: Some fixes for test failures. · f0707b38
      unknown authored
      client/mysqltest.cc:
        Apply Serg's work-around for MySQL BUG#57491.
      mysql-test/r/group_commit_binlog_pos.result:
        Accept different ways the server crash is detected.
      mysql-test/t/group_commit_binlog_pos.test:
        Accept different ways the server crash is detected.
        Skip in row-based binlogging, as otherwise the binlog offsets will be different.
      f0707b38
  5. 22 Oct, 2010 1 commit
  6. 18 Oct, 2010 2 commits
    • unknown's avatar
      dcb111ff
    • unknown's avatar
      MWL#116: Efficient group commit: Fix bug that binlog pos stored by XtraDB... · ffa7e0fa
      unknown authored
      MWL#116: Efficient group commit: Fix bug that binlog pos stored by XtraDB during commit was wrong when more than one commit in group.
      
      Now the actual binlog position for each commit is stored in THD, and XtraDB
      can fetch the correct value from within commit_ordered() or commit().
      
      
      mysql-test/r/group_commit_binlog_pos.result:
        Test case for XtraDB binlog position.
      mysql-test/t/group_commit_binlog_pos-master.opt:
        Test case for XtraDB binlog position.
      mysql-test/t/group_commit_binlog_pos.test:
        Test case for XtraDB binlog position.
      sql/log.cc:
        Save binlog position corresponding to commit in THD, and make accessible to storage engine.
      sql/sql_parse.cc:
        Add generic crash point for use in test cases.
      storage/xtradb/handler/ha_innodb.cc:
        Update to use new method of getting current binlog position that works with group commit.
      storage/xtradb/handler/ha_innodb.h:
        Update to use new method of getting current binlog position that works with group commit.
      ffa7e0fa
  7. 04 Oct, 2010 1 commit
    • unknown's avatar
      MWL#116: Efficient group commit · 8bc44536
      unknown authored
      Tweak the commit_ordered() semantics. Now it is only called for transactions
      that go through 2-phase commit. This avoids forcing engines to make commits
      visible before they are durable.
      
      Also take LOCK_commit_ordered() around START TRANSACTION WITH CONSISTENT
      SNAPSHOT, to get a truly consistent snapshot.
      8bc44536
  8. 01 Oct, 2010 1 commit
  9. 30 Sep, 2010 1 commit
  10. 28 Sep, 2010 2 commits
  11. 26 Sep, 2010 2 commits
    • Igor Babaev's avatar
      Merge · 6b1c78e7
      Igor Babaev authored
      6b1c78e7
    • Igor Babaev's avatar
      Fixed bug #57024. · 716e8416
      Igor Babaev authored
      The condition over the outer tables now are extracted from
      the on condition of any outer join. This condition is
      saved in a special field of the JOIN_TAB structure for
      the first inner table of the outer join. The condition
      is checked before the first inner table is accessed. If 
      it turns out to be false the table is not accessed at all
      and a null complemented row is generated immediately.
      716e8416
  12. 25 Sep, 2010 2 commits
  13. 23 Sep, 2010 1 commit
  14. 21 Sep, 2010 3 commits
  15. 20 Sep, 2010 3 commits
  16. 18 Sep, 2010 1 commit
  17. 15 Sep, 2010 2 commits
    • Michael Widenius's avatar
      Automatic merge · b4b64946
      Michael Widenius authored
      b4b64946
    • Michael Widenius's avatar
      mysqltest now gives error messages with error code for my_delete, my_rename, my_copy etc. · f4820ea6
      Michael Widenius authored
      Fixed crashing bug when doing ALTER TABLE RENAME with transactional tables.
      
      client/mysqltest.cc:
        Added errno to error message for system calls (delete, rename etc)
        Write error message for failures of system calls
      mysql-test/include/cleanup_fake_relay_log.inc:
        Disable warnings for remove_file
      mysql-test/include/diff_tables.inc:
        Disable warnings for remove_file
      mysql-test/include/maria_empty_logs.inc:
        Disable warnings for remove_file
      mysql-test/include/maria_make_snapshot.inc:
        Disable warnings for remove_file
      mysql-test/include/maria_make_snapshot_for_feeding_recovery.inc:
        Disable warnings for remove_file
      mysql-test/include/mysqlhotcopy.inc:
        Disable warnings for remove_file
      mysql-test/include/ndb_backup.inc:
        Disable warnings for remove_file
      mysql-test/include/ndb_backup_print.inc:
        Disable warnings for remove_file
      mysql-test/r/alter_table_trans.result:
        Test of crashing ALTER TABLE RENAME bug
      mysql-test/t/alter_table_trans.test:
        Test of crashing ALTER TABLE RENAME bug
      mysql-test/t/mysqltest.test:
        Disable warnings for remove_file and move_file
      mysys/my_copy.c:
        Fixed wrong error message
      sql/sql_table.cc:
        Fixed crashing bug when doing ALTER TABLE RENAME with transactional tables.
      f4820ea6
  18. 14 Sep, 2010 4 commits
  19. 13 Sep, 2010 5 commits
    • Sergei Golubchik's avatar
      merged · 617ae440
      Sergei Golubchik authored
      617ae440
    • Igor Babaev's avatar
    • Michael Widenius's avatar
      Merge · 209b6f9a
      Michael Widenius authored
      209b6f9a
    • Michael Widenius's avatar
      Fixed Aria recovery bug: · 456422a2
      Michael Widenius authored
      - When reopening table during recovery, don't set file length from file sizes as file is not flushed.
      New feature in Aria recovery:
      - Create database directory if missing.
      
      
      
      storage/maria/ma_recovery.c:
        Don't print Query: twice when running maria_read_log
        Create database directory if missing. (Needed when running maria_read_log on an empty database direcory during testing)
        More DBUG_print
        Fixed bug: When reopening table during recovery, don't set file length from file sizes as file is not flushed.
      456422a2
    • Igor Babaev's avatar
      Merge · 64244a34
      Igor Babaev authored
      64244a34
  20. 12 Sep, 2010 2 commits
  21. 11 Sep, 2010 2 commits
    • Igor Babaev's avatar
      Fixed bug #49600. · 577b7345
      Igor Babaev authored
      The problem could be demonstrated with an outer join of two single-row
      tables where the values of the join attributes were null. Any query
      with such a join could return a wrong result set if the where
      condition of the query was not empty. For queries with empty
      where conditions the result sets were correct.
      This was the consequence of two bugs in the code:
       - Item_equal objects for on conditions of outer joins were
         not built if the processed query had no where condition
       - the check for null values in the code that evaluated constant 
         Item_equal objects was incorrect.
      Fixed both above problems.
      Added a test case for the bug and adjusted results for some other
      test cases.
      577b7345
    • Sergei Golubchik's avatar
      to simpliy and unify the code · 966661c8
      Sergei Golubchik authored
      966661c8