1. 07 Nov, 2010 1 commit
    • unknown's avatar
      MWL#136: Cross-engine consistency for START TRANSACTION WITH CONSISTENT SNAPSHOT · daa6395d
      unknown authored
      Make the binlog handlerton participate in START TRANSACTION WITH CONSISTENT
      SNAPSHOT, recording the binlog position corresponding to the snapshot taken
      in other MVCC storage engines.
      
      Expose this consistent binlog position as the new status variables
      binlog_trx_file and binlog_trx_position. This enables to get a fully
      non-locking snapshot of the database (including binlog position for
      slave provisioning), avoiding the need for FLUSH TABLES WITH READ LOCK.
      
      Modify mysqldump to detect if the server supports this new feature, and
      if so, avoid FLUSH TABLES WITH READ LOCK for --single-transaction
      --master-data snapshot backups.
      daa6395d
  2. 03 Nov, 2010 1 commit
    • unknown's avatar
      MWL#116: Add two more test cases: · edbeb299
      unknown authored
       - Test internal 2-phase commit when binlog is enabled globally, but disabled in the session
       - Test crashing at various points during commit
      edbeb299
  3. 02 Nov, 2010 1 commit
  4. 01 Nov, 2010 2 commits
  5. 29 Oct, 2010 2 commits
  6. 28 Oct, 2010 1 commit
    • unknown's avatar
      MWL#116: Code simplifications for TC_LOG_MMAP. · b8cbc6d0
      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.
      b8cbc6d0
  7. 27 Oct, 2010 1 commit
    • unknown's avatar
      Fix test failure (timeout) in --valgrind tests in Buildbot. · 6cbd8101
      unknown authored
      The main.ps_ddl test does SELECT * FROM mysql.general_log; that can be really
      expensive with --valgrind if previous test cases put lots of data in the
      general log since last server restart. Fix by truncating the log at test start.
      6cbd8101
  8. 26 Oct, 2010 2 commits
  9. 23 Oct, 2010 1 commit
    • unknown's avatar
      MWL#116: Efficient group commit: Some fixes for test failures. · 368b2891
      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.
      368b2891
  10. 22 Oct, 2010 2 commits
  11. 20 Oct, 2010 1 commit
  12. 26 Oct, 2010 1 commit
  13. 20 Oct, 2010 3 commits
    • Sergei Golubchik's avatar
      better fix for MySQL bugs · 638033b9
      Sergei Golubchik authored
      BUG#26447 prefer a clustered key for an index scan, as secondary index is always slower
        ... which was fixed to cause
      BUG#35850 queries take 50% longer
        ... and was reverted
      
      and
      
      BUG#39653 prefer a secondary index for an index scan, as clustered key is always slower
        ... which was fixed to cause
      BUG#55656 mysqldump takes six days instead of half an hour
        ... and was amended with a special case workaround
      
      
      sql/opt_range.cc:
        move get_index_only_read_time() into the handler class
      sql/sql_select.cc:
        use cost not an index length when choosing a cheaper index
      638033b9
    • Sergei Golubchik's avatar
      418ec5c9
    • Sergei Golubchik's avatar
      updated test results · e48ba2fe
      Sergei Golubchik authored
      e48ba2fe
  14. 19 Oct, 2010 5 commits
  15. 18 Oct, 2010 2 commits
    • unknown's avatar
      c3a14517
    • unknown's avatar
      MWL#116: Efficient group commit: Fix bug that binlog pos stored by XtraDB... · 704e604e
      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.
      704e604e
  16. 14 Oct, 2010 1 commit
  17. 13 Oct, 2010 1 commit
    • Michael Widenius's avatar
      Fixes for bugs found by running test case for LP#608369 "Page: 1 Found wrong... · 0620e7d9
      Michael Widenius authored
      Fixes for bugs found by running test case for LP#608369 "Page: 1 Found wrong page type 0' on CHECK TABLE EXTENDED"
      Fixed overflow when using long --debug=xxxxxx line.
      Fixed that "mysqld --disable-debug --debug" works.
      Ensure that MariaDB doesn't start if the Aria engine didn't start and we are using Aria for temporary tables.
      More DBUG_ASSERT() and more info in debug log.
      
      
      dbug/dbug.c:
        Fixed crash in mysqld caused by an overflow when using long --debug=xxxxxx line
      sql/mysqld.cc:
        Fixed that "mysqld --disable-debug --debug" works.
        Documented myisam-recover=OFF option
      storage/maria/ha_maria.cc:
        Ensure that MariaDB doesn't start if the Aria engine didn't start and we are using Aria for temporary tables.
      storage/maria/ma_delete.c:
        Added missing write of changed key on node page.
        This could fix LP#608369 "Page: 1 Found wrong page type 0' on CHECK TABLE EXTENDED"
        Changed so that we log page numbers (not positions)
        Added KEY_OP_DEBUG_2 log entry to get more debug information into the log
      storage/maria/ma_key_recover.c:
        Changed so that we log page numbers (not positions)
        In case of wrong page information after index_redo, dump pages to debug log
      storage/maria/ma_loghandler.h:
        Added KEY_OP_DEBUG_2
      storage/maria/ma_search.c:
        Changed so that we log page numbers (not positions)
      storage/maria/ma_write.c:
        Changed so that we log page numbers (not positions)
      0620e7d9
  18. 12 Oct, 2010 1 commit
    • Michael Widenius's avatar
      Use less memory on stack in sql_parse.cc and in repair/check for MyISAM & Aria · 9169c02c
      Michael Widenius authored
      sql/sql_parse.cc:
        Make some not commonly used functions with big local variables to separate functions to make default stack usage smaller.
        Decrease size of db_buff[] (Was bigger than needed)
        Allocate current_global_status_var with malloc().
      storage/maria/ha_maria.cc:
        Don't allocate HA_CHECK on stack (it's > 100K)
      storage/maria/ma_check.c:
        Removed duplicated code
      9169c02c
  19. 07 Oct, 2010 1 commit
    • Michael Widenius's avatar
      Fixes some bug in Aria recovery: · 7d259f64
      Michael Widenius authored
      - _ma_apply_redo_index: Assertion `page_offset != 0 && page_offset + length <= page_length' failed
      Fixes one bug and one log assert when inserting rows:
      - _ma_log_split: Assertion `org_length <= info->s->max_index_block_size' failed
      - write_block_record:  Assertion '(data_length < MAX_TAIL_SIZE(block_size)' failed
      Mark in recovery log where _ma_log_add() calls was done (for better debugging).
      
      storage/maria/ma_bitmap.c:
        Don't write a head part on a tail page. (Caused an assert in write_block_record())
      storage/maria/ma_delete.c:
        Mark in recovery log where _ma_log_add() calls was done
      storage/maria/ma_key_recover.c:
        Mark in recovery log where _ma_log_add() calls was done
        Fixed not handled logging case for overfull index pages.
      storage/maria/ma_key_recover.h:
        Mark in recovery log where _ma_log_add() calls was done
      storage/maria/ma_loghandler.h:
        Mark in recovery log where _ma_log_add() calls was done
      storage/maria/ma_rt_key.c:
        Mark in recovery log where _ma_log_add() calls was done
      storage/maria/ma_write.c:
        Mark in recovery log where _ma_log_add() calls was done.
        Fixed wrong call to _ma_split_page() for overfull pages
      7d259f64
  20. 06 Oct, 2010 2 commits
  21. 04 Oct, 2010 1 commit
    • unknown's avatar
      MWL#116: Efficient group commit · 97f8b440
      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.
      97f8b440
  22. 03 Oct, 2010 1 commit
  23. 01 Oct, 2010 1 commit
  24. 30 Sep, 2010 1 commit
  25. 28 Sep, 2010 2 commits
  26. 26 Sep, 2010 2 commits
    • Igor Babaev's avatar
      Merge · 2b4cb27f
      Igor Babaev authored
      2b4cb27f
    • Igor Babaev's avatar
      Fixed bug #57024. · f21987b5
      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.
      f21987b5