1. 28 Jul, 2010 1 commit
  2. 23 Jul, 2010 2 commits
  3. 21 Jul, 2010 1 commit
  4. 19 Jul, 2010 2 commits
  5. 09 Jul, 2010 2 commits
  6. 08 Jul, 2010 1 commit
  7. 07 Jul, 2010 2 commits
  8. 06 Jul, 2010 2 commits
  9. 04 Jul, 2010 1 commit
    • Vasil Dimov's avatar
      Merge mysql-5.1-innodb -> mysql-5.1-security · 0b0c18a0
      Vasil Dimov authored
      Merge up to sunny.bains@oracle.com-20100625081841-ppulnkjk1qlazh82 .
      There are 8 more changesets in mysql-5.1-innodb, but PB2 shows a
      failure for a test added in one of them. If that is resolved quickly
      then those 8 more changesets will be merged too.
      0b0c18a0
  10. 02 Jul, 2010 8 commits
  11. 01 Jul, 2010 3 commits
  12. 30 Jun, 2010 4 commits
    • Sergey Glukhov's avatar
      Bug#51431 Wrong sort order after import of dump file · a6220d82
      Sergey Glukhov authored
      The problem is that QUICK_SELECT_DESC behaviour depends
      on used_key_parts value which can be bigger than selected
      best_key_parts value if an engine supports clustered key.
      But used_key_parts is overwritten with best_key_parts
      value that prevents from correct selection of index
      access method. The fix is to preserve used_key_parts
      value for further use in QUICK_SELECT_DESC.
      a6220d82
    • Marko Mäkelä's avatar
      81d3dadb
    • Marko Mäkelä's avatar
      Correct some comments that were added in the fix of Bug #54358 · 5754382c
      Marko Mäkelä authored
      (READ UNCOMMITTED access failure of off-page DYNAMIC or COMPRESSED columns).
      
      Records that lack incompletely written externally stored columns may
      be accessed by READ UNCOMMITTED transaction even without involving a
      crash during an INSERT or UPDATE operation. I verified this as follows.
      
      (1) added a delay after the mini-transaction for writing the clustered
      index 'stub' record was committed (patch attached)
      (2) started mysqld in gdb, setting breakpoints to the where the
      assertions about READ UNCOMMITTED were added in the bug fix
      (3) invoked ibtest3 --create-options=key_block_size=2
      to create BLOBs in a COMPRESSED table
      (4) invoked the following:
      yes 'set transaction isolation level read uncommitted;
      checksum table blobt3;select sleep(1);'|mysql -uroot test
      (5) noted that one of the breakpoints was triggered
      (return(NULL) in btr_rec_copy_externally_stored_field())
      
      === modified file 'storage/innodb_plugin/row/row0ins.c'
      --- storage/innodb_plugin/row/row0ins.c	2010-06-30 08:17:25 +0000
      +++ storage/innodb_plugin/row/row0ins.c	2010-06-30 08:17:25 +0000
      @@ -2120,6 +2120,7 @@ function_exit:
       		rec_t*	rec;
       		ulint*	offsets;
       		mtr_start(&mtr);
      +		os_thread_sleep(5000000);
       
       		btr_cur_search_to_nth_level(index, 0, entry, PAGE_CUR_LE,
       					    BTR_MODIFY_TREE, &cursor, 0,
      
      === modified file 'storage/innodb_plugin/row/row0upd.c'
      --- storage/innodb_plugin/row/row0upd.c	2010-06-30 08:11:55 +0000
      +++ storage/innodb_plugin/row/row0upd.c	2010-06-30 08:11:55 +0000
      @@ -1763,6 +1763,7 @@ row_upd_clust_rec(
       		rec_offs_init(offsets_);
       
       		mtr_start(mtr);
      +		os_thread_sleep(5000000);
       
       		ut_a(btr_pcur_restore_position(BTR_MODIFY_TREE, pcur, mtr));
       		rec = btr_cur_get_rec(btr_cur);
      5754382c
    • Staale Smedseng's avatar
      Bug #53899 Wrong mysql_stmt_errno() after connection loss with · 3b3983a4
      Staale Smedseng authored
      automatic reconnect
      
      A client with automatic reconnect enabled will see the error
      message "Lost connection to MySQL server during query" if the
      connection is lost between mysql_stmt_prepare() and
      mysql_stmt_execute(). The mysql_stmt_errno() number, however,
      is 0 -- not the corresponding value 2013.
      
      This patch checks for the case where the prepared statement
      has been pruned due to a connection loss (i.e., stmt->mysql
      has been set to NULL) during a call to cli_advanced_command(),
      and avoids changing the last_errno to the result of the last
      reconnect attempt.
      3b3983a4
  13. 29 Jun, 2010 7 commits
    • Marko Mäkelä's avatar
      ChangeLog entry for Bug #54408 · 5a25f408
      Marko Mäkelä authored
      5a25f408
    • Marko Mäkelä's avatar
      Bug#54408: txn rollback after recovery: row0umod.c:673 · c8e48de2
      Marko Mäkelä authored
      dict_table_get_format(index->table)
      
      The REDUNDANT and COMPACT formats store a local 768-byte prefix of
      each externally stored column. No row_ext cache is needed, but we
      initialized one nevertheless. When the BLOB pointer was zero, we would
      ignore the locally stored prefix as well. This triggered an assertion
      failure in row_undo_mod_upd_exist_sec().
      
      row_build(): Allow ext==NULL when a REDUNDANT or COMPACT table
      contains externally stored columns.
      
      row_undo_search_clust_to_pcur(), row_upd_store_row(): Invoke
      row_build() with ext==NULL on REDUNDANT and COMPACT tables.
      
      rb://382 approved by Jimmy Yang
      c8e48de2
    • Marko Mäkelä's avatar
      ChangeLog entry for Bug #54358 · c43070da
      Marko Mäkelä authored
      c43070da
    • Marko Mäkelä's avatar
      Bug#54358: READ UNCOMMITTED access failure of off-page DYNAMIC or COMPRESSED · 7271bcb4
      Marko Mäkelä authored
      columns
      
      When the server crashes after a record stub has been inserted and
      before all its off-page columns have been written, the record will
      contain incomplete off-page columns after crash recovery. Such records
      may only be accessed at the READ UNCOMMITTED isolation level or when
      rolling back a recovered transaction in recv_recovery_rollback_active().
      Skip these records at the READ UNCOMMITTED isolation level.
      
      TODO: Add assertions for checking the above assumptions hold when an
      incomplete BLOB is encountered.
      
      btr_rec_copy_externally_stored_field(): Return NULL if the field is
      incomplete.
      
      row_prebuilt_t::templ_contains_blob: Clarify what "BLOB" means in this
      context. Hint: MySQL BLOBs are not the same as InnoDB BLOBs.
      
      row_sel_store_mysql_rec(): Return FALSE if not all columns could be
      retrieved. Previously this function always returned TRUE.  Assert that
      the record is not delete-marked.
      
      row_sel_push_cache_row_for_mysql(): Return FALSE if not all columns
      could be retrieved.
      
      row_search_for_mysql(): Skip records containing incomplete off-page
      columns. Assert that the transaction isolation level is READ
      UNCOMMITTED.
      
      rb://380 approved by Jimmy Yang
      7271bcb4
    • Martin Hansson's avatar
    • Jimmy Yang's avatar
      Change the table name in innodb_bug54044 to lower case to avoid · 67d06a54
      Jimmy Yang authored
      platform dependent diffs.
      67d06a54
    • Jimmy Yang's avatar
      Check in fix for bug #53756: "ALTER TABLE ADD PRIMARY KEY affects · dec24a7d
      Jimmy Yang authored
      crash recovery"
      
      rb://369 approved by Marko
      dec24a7d
  14. 28 Jun, 2010 4 commits