1. 31 Oct, 2007 3 commits
  2. 30 Oct, 2007 3 commits
  3. 29 Oct, 2007 4 commits
    • marko's avatar
      branches/zip: trx_rollback_or_clean_all_without_sess(): Distinguish · 7d5f2f84
      marko authored
      recovered transactions from new ones.  Until r1594, they were distinguished
      by trx->sess == NULL.
      
      trx_t: Add the bitfield is_recovered.
      
      trx_lists_init_at_db_start(): Set trx->is_recovered.
      
      trx_create(): Initialize trx->is_recovered = 0.
      
      trx_print(): Display information about trx->is_recovered.
      
      trx_rollback_or_clean_all_without_sess(): Skip new transactions.
      Protect all accesses of trx_sys->trx_list with kernel_mutex.
      
      trx_roll_crash_recv_trx, trx_roll_max_undo_no, trx_roll_progress_printed_pct:
      Made these variables static.
      7d5f2f84
    • marko's avatar
      branches/zip: row_merge_drop_temp_indexes(): Use COMMIT WORK instead of · b1d3192f
      marko authored
      trx_commit_for_mysql().
      b1d3192f
    • marko's avatar
      a877fffc
    • vasil's avatar
      branches/zip: · 0028e8d1
      vasil authored
      Add innodb_locks.lock_data column and some relevant tests.
      For record locks this column represents the ordering fields of the
      locked row in a human readable, SQL-valid, format.
      
      Approved by:	Marko
      0028e8d1
  4. 26 Oct, 2007 5 commits
  5. 25 Oct, 2007 7 commits
  6. 24 Oct, 2007 3 commits
    • marko's avatar
      branches/zip: Merge 1937:2015 from trunk. · 0d6bfafd
      marko authored
      0d6bfafd
    • marko's avatar
      branches/zip: Remove some unnecessary memory references in the master thread. · 03fcaeec
      marko authored
      srv_print_thread_releases, srv_print_lock_waits, srv_print_buf_io,
      srv_print_log_io, srv_print_latch_waits: Define these variables as
      constants (FALSE), unless UNIV_DEBUG is defined.  These variables
      are never assigned to, and they are initialized to FALSE.  It could
      be useful to set them when debugging InnoDB.
      
      srv_slot_t: Fuse the fields type, in_use, suspended to a single machine word.
      
      srv_meter[], srv_meter_low_water[], srv_meter_high_water[],
      srv_meter_high_water2[], srv_meter_foreground[]: Enclose these arrays
      inside #if 0.  The arrays are essentially constants that do not affect
      the control flow.
      
      enum srv_thread_type: New enum, to replace the #defines SRV_COM, ...
      Enclose the unused values SRV_BUFFER, SRV_RECOVERY, SRV_INSERT
      inside #if 0, so that some arrays and loops can be reduced.
      03fcaeec
    • marko's avatar
  7. 23 Oct, 2007 1 commit
  8. 22 Oct, 2007 7 commits
  9. 19 Oct, 2007 3 commits
    • marko's avatar
      branches/zip: dict_truncate_index_tree(): When the index is not found in · d8c45beb
      marko authored
      the data dictionary cache, do not create the index tree.
      d8c45beb
    • marko's avatar
      branches/zip: Introduce two new dictionary operation modes for transactions. · 3980b139
      marko authored
      enum trx_dict_op: dictionary operation modes
      
      trx_get_dict_operation(), trx_set_dict_operation(): Accessors for
      trx->dict_operation.
      
      lock_table_enqueue_waiting(), lock_rec_enqueue_waiting(): Do not complain
      about lock waits if the dictionary mode is TRX_DICT_OP_INDEX_MAY_WAIT.
      
      row_merge_lock_table(): Remove the work-around for avoiding the warning
      in lock_table_enqueue_waiting().
      
      trx_undo_mark_as_dict_operation(): Do not write trx->table_id to the
      undo log unless the dict_operation is TRX_DICT_OP_TABLE.
      
      ha_innobase::add_index(): Set the dict_operation mode initially to
      TRX_DICT_OP_INDEX_MAY_WAIT, then lock the table exclusively, and set the
      mode to TRX_DICT_OP_INDEX, and optionally to TRX_DICT_OP_TABLE when
      creating a temporary table.
      3980b139
    • marko's avatar
      branches/zip: srv_suspend_mysql_thread(): Allow the transaction to · 61e0c6a3
      marko authored
      hold an X-latch to the data dictionary, to avoid an assertion failure
      when a lock wait occurs in row_merge_lock_table().
      61e0c6a3
  10. 18 Oct, 2007 4 commits
    • marko's avatar
      branches/zip: ha_innobase::add_index(): Lock the table before creating · d8de71ff
      marko authored
      any indexes.  Before this fix, other transactions could see the empty indexes
      before we acquired the table lock.
      d8de71ff
    • marko's avatar
      branches/zip: row_merge_lock_table(): Clear the trx->dict_operation flag · 93157fcd
      marko authored
      for the duration of the lock_table() call in order to avoid a bogus warning.
      93157fcd
    • marko's avatar
      branches/zip: Remove const warnings reported by GCC 4.2.1. · 65d4e630
      marko authored
      page_cur_set_before_first(), page_cur_set_after_last(),
      page_cur_position(): Add const qualifiers to buf_block_t and rec.
      A better solution would be to define a const_page_cur_t and a
      set of accessors, but it would lead to severe code duplication.
      
      page_rec_get_n_recs_before(): Add const qualifiers.
      
      page_dir_get_nth_slot(): Define as a const-preserving macro.
      
      page_dir_slot_get_rec(), page_dir_slot_get_n_owned(),
      page_dir_find_owner_slot(), page_check_dir(): Add const qualifiers.
      
      page_rec_get_next_low(): Add const qualifiers.
      
      page_rec_get_next_const(), page_rec_get_prev_const(): New functions,
      based on the const-less page_rec_get_next() and page_rec_get_prev().
      
      page_cur_get_page(), page_cur_get_block(), page_cur_get_page_zip(),
      page_cur_get_rec(): Define as const-preserving macros.
      
      page_cur_try_search_shortcut(), page_cur_search_with_match():
      Add const qualifiers.
      
      buf_page_get_mutex(): Add a const qualifier to buf_page_t*.
      
      rec_get_next_ptr_const(): Const variant of rec_get_next_ptr().
      65d4e630
    • marko's avatar
      innodb-test: Allow Innodb_buffer_pool_pages_total to be 511 or 512. · 3959cbd6
      marko authored
      The size of the buffer pool can be one page smaller than the requested
      size when os_mem_alloc_large() returns something that is not
      aligned by UNIV_PAGE_SIZE.  This test may still fail on systems with
      a big os_large_page_size.
      3959cbd6