1. 29 Aug, 2007 3 commits
    • marko's avatar
      branches/zip: Remove some checks if an index or a table is a temporary one · 64dfb280
      marko authored
      created in fast index creation.
      
      dict_load_indexes(): Always complain if the first index is not clustered.
      
      lock_table_enqueue_waiting(): Always complain about lock waits in
      a dictionary operation.
      
      row_merge_rename_tables(): Add an assertion that dict_sys->mutex is
      being held.
      
      row_undo_mod_del_unmark_sec_and_undo_update(): Make the test about
      temporary indexes more readable.
      
      row_create_table_for_mysql(): Do not retry creating a temporary table
      in fast index creation.  Orphaned temporary tables will have to be dropped
      in crash recovery.
      64dfb280
    • marko's avatar
      branches/zip: Simplify the locking of the data dictionary. · 3131340b
      marko authored
      row_upd_index_is_referenced(), row_upd_check_references_constraints(),
      row_purge_parse_undo_rec(): Remove duplicated code that calls
      row_mysql_unfreeze_data_dictionary().
      
      row_undo_ins_remove_clust_rec():
      Assert that the data dictionary is X-latched.  Do not attempt to re-latch
      the data dictionary, because doing so introduces race conditions.  This
      re-latching was probably made unnecessary already in r1676, which keeps
      the data dictionary X-latched in ha_innobase::add_index() for the complete
      duration of the data dictionary operations.
      
      row_undo_ins_parse_undo_rec(): Do not attempt to acquire the data dictionary
      latch.  The data dictionary should be already X-latched when a transaction
      that modifies system tables is rolled back.  This also holds in the rollback
      during crash recovery: trx_rollback_active() will X-latch the data dictionary
      when needed.
      3131340b
    • marko's avatar
      branches/zip: hash_create(): Remove two unused variables. They should have · da70d126
      marko authored
      been removed in r1752.
      da70d126
  2. 27 Aug, 2007 1 commit
  3. 23 Aug, 2007 2 commits
  4. 22 Aug, 2007 2 commits
  5. 21 Aug, 2007 6 commits
  6. 20 Aug, 2007 8 commits
  7. 16 Aug, 2007 5 commits
    • marko's avatar
      branches/zip: Rename mem_heap_calloc() and mem_calloc() to · e1c3be5e
      marko authored
      mem_heap_zalloc() and mem_zalloc(), because calloc() in the C runtime
      library takes two size parameters, not one.
      
      mem_heap_zalloc(): Add debug assertions.  Document that the return value
      is never NULL.
      e1c3be5e
    • marko's avatar
      branches/zip: Fix bugs in the creation or dropping of the clustered index · 1bbbcbfe
      marko authored
      (PRIMARY KEY or UNIQUE INDEX on NOT NULL columns).
      
      innodb-index.test: Remove the --replace_regex directives.  Replace correct
      values to the "Duplicate entry" messages.  This will cause the test to
      fail until we somehow return the duplicate key values to MySQL.
      Add test cases for creating or dropping UNIQUE INDEX or PRIMARY KEY.
      
      innobase_copy_index_def(): Allow the function to copy a clustered index
      definition to a secondary one (UNIQUE INDEX).
      
      innobase_create_key_def(): Check the NOT NULL flag from the correct
      place.  Copy the clustered index if it is a UNIQUE INDEX.
      
      ha_innobase::prepare_drop_index(): Refuse to drop the clustered index.
      1bbbcbfe
    • marko's avatar
      branches/zip: Minor cleanup. · 62295123
      marko authored
      ha_innobase::add_index(), ha_innobase::prepare_drop_index():
      Remove the redundant thd_test_options() calls.
      The options are tested in check_trx_exists().
      
      ha_innobase::prepare_drop_index(): key cannot be NULL; remove the tests.
      Move the condition for checking foreign keys outside of the loop.
      Remove the redundant error log printout about foreign key dependency.
      62295123
    • marko's avatar
      branches/zip: Remove redundant type casts. Change the parameter type · 31ba41df
      marko authored
      of ut_strcmp() from const void* to const char*.
      31ba41df
    • marko's avatar
      branches/zip: dict0mem.h: Minor cleanup. · 78618828
      marko authored
      Remove the unused constant DICT_NOT_READY.
      Make dict_index_t::type a bit-field, and move it next to other bit-fields.
      Add a const qualifier to dict_index_t::name.
      78618828
  8. 15 Aug, 2007 4 commits
    • marko's avatar
      branches/zip: Remove the error code DB_CANNOT_DROP_FOREIGN_INDEX. · c67c3b90
      marko authored
      It was only set by ha_innobase::prepare_drop_index(), which can return
      the appropriate MySQL error code (HA_ERR_DROP_INDEX_FK) directly.
      
      ha_innobase::add_index(): Correct the function comment.
      
      ha_innobase::prepare_drop_index(): Correct the function comment.
      Return MySQL error codes directly.
      
      ha_innobase::final_drop_index(): Correct the function comment.
      c67c3b90
    • marko's avatar
      branches/zip: row_mysql_handle_errors(): Replace the if-else with · a0f9faf6
      marko authored
      switch-case.
      a0f9faf6
    • marko's avatar
      branches/zip: Performance improvement: · 6fe4dd01
      marko authored
      row_merge_buf_add(): Add a prefetch instruction to row->fields.
      Eliminate a variable from the copying loop, and move the termination
      condition to the end of the loop.
      
      row_merge_build_indexes(): Remove the second call to
      trx_start_if_not_started().
      6fe4dd01
    • marko's avatar
      branches/zip: Minor cleanup. · 9be35934
      marko authored
      trx_t: Change the type of error_info from void* to const dict_index_t*.
      
      trx_get_error_info(): Add const qualifier to trx_t*.  Make this an
      inline function.
      9be35934
  9. 13 Aug, 2007 8 commits
  10. 10 Aug, 2007 1 commit