1. 25 Jun, 2010 2 commits
  2. 24 Jun, 2010 2 commits
  3. 23 Jun, 2010 2 commits
  4. 22 Jun, 2010 5 commits
  5. 21 Jun, 2010 2 commits
  6. 18 Jun, 2010 3 commits
  7. 17 Jun, 2010 2 commits
  8. 15 Jun, 2010 1 commit
  9. 14 Jun, 2010 2 commits
  10. 10 Jun, 2010 4 commits
  11. 09 Jun, 2010 2 commits
    • Sergey Glukhov's avatar
      58f1c5fe
    • Sergey Glukhov's avatar
      Bug#38999 valgrind warnings for update statement in function compare_record() · d2db80c8
      Sergey Glukhov authored
      Valgrind warning happpens because of uninitialized null bytes.
      In row_sel_push_cache_row_for_mysql() function we fill fetch cache
      with necessary field values, row_sel_store_mysql_rec() is called
      for this and leaves null bytes untouched.
      Later row_sel_pop_cached_row_for_mysql() rewrites table record
      buffer with uninited null bytes. We can see the problem from the
      test case:
      At 'SELECT...' we call row_sel_push...->row_sel_store...->row_sel_pop_cached...
      chain which rewrites table->record[0] buffer with uninitialized null bytes.
      When we call 'UPDATE...' statement, compare_record uses this buffer and
      valgrind warning occurs.
      The fix is to init null bytes with default values.
      d2db80c8
  12. 08 Jun, 2010 4 commits
  13. 03 Jun, 2010 6 commits
  14. 02 Jun, 2010 3 commits
    • Marko Mäkelä's avatar
      1655656b
    • Marko Mäkelä's avatar
      Bug#53674: InnoDB: Error: unlock row could not find a 4 mode lock on the record · ac776a69
      Marko Mäkelä authored
      In semi-consistent read, only unlock freshly locked non-matching records.
      
      lock_rec_lock_fast(): Return LOCK_REC_SUCCESS,
      LOCK_REC_SUCCESS_CREATED, or LOCK_REC_FAIL instead of TRUE/FALSE.
      
      enum db_err: Add DB_SUCCESS_LOCKED_REC for indicating a successful
      operation where a record lock was created.
      
      lock_sec_rec_read_check_and_lock(),
      lock_clust_rec_read_check_and_lock(), lock_rec_enqueue_waiting(),
      lock_rec_lock_slow(), lock_rec_lock(), row_ins_set_shared_rec_lock(),
      row_ins_set_exclusive_rec_lock(), sel_set_rec_lock(),
      row_sel_get_clust_rec_for_mysql(): Return DB_SUCCESS_LOCKED_REC if a
      new record lock was created. Adjust callers.
      
      row_unlock_for_mysql(): Correct the function documentation.
      
      row_prebuilt_t::new_rec_locks: Correct the documentation.
      ac776a69
    • Marko Mäkelä's avatar
      Bug#53674: InnoDB: Error: unlock row could not find a 4 mode lock on the record · 4a8aa70e
      Marko Mäkelä authored
      In semi-consistent read, only unlock freshly locked non-matching records.
      
      Define DB_SUCCESS_LOCKED_REC for indicating a successful operation
      where a record lock was created.
      
      lock_rec_lock_fast(): Return LOCK_REC_SUCCESS,
      LOCK_REC_SUCCESS_CREATED, or LOCK_REC_FAIL instead of TRUE/FALSE.
      
      lock_sec_rec_read_check_and_lock(),
      lock_clust_rec_read_check_and_lock(), lock_rec_enqueue_waiting(),
      lock_rec_lock_slow(), lock_rec_lock(), row_ins_set_shared_rec_lock(),
      row_ins_set_exclusive_rec_lock(), sel_set_rec_lock(),
      row_sel_get_clust_rec_for_mysql(): Return DB_SUCCESS_LOCKED_REC if a
      new record lock was created. Adjust callers.
      
      row_unlock_for_mysql(): Correct the function documentation.
      
      row_prebuilt_t::new_rec_locks: Correct the documentation.
      4a8aa70e