1. 15 Aug, 2007 2 commits
    • marko's avatar
      branches/zip: Performance improvement: · f2186190
      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().
      f2186190
    • marko's avatar
      branches/zip: Minor cleanup. · 6b7c6cb3
      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.
      6b7c6cb3
  2. 13 Aug, 2007 8 commits
  3. 10 Aug, 2007 3 commits
    • marko's avatar
      branches/zip: Add changes that accidentally omitted from r1698: · 4d793ff8
      marko authored
      innodb-index.test, innodb-index.result: Add a test for creating
      a PRIMARY KEY on a column that contains a NULL value.
      4d793ff8
    • marko's avatar
      branches/zip: When creating a PRIMARY KEY, flag all its columns NOT NULL. · e2052eba
      marko authored
      row_merge_create_temporary_table(): Add the parameter index_defs.
      
      DB_PRIMARY_KEY_IS_NULL: New error code, mapped to ER_PRIMARY_CANT_HAVE_NULL.
      
      row_merge_read_clustered_index(): Replace the parameter "table" with the
      two parameters "old_table" and "new_table".  Detect NULL values of columns
      that are supposed to be NOT NULL.
      
      row_merge_col_prtype(): New auxiliary function, used by
      row_merge_create_temporary_table() to flag NOT NULL any columns
      contained in an added PRIMARY KEY.
      e2052eba
    • marko's avatar
      branches/zip: Minor cleanup. · f304ce10
      marko authored
      innobase_copy_index_field_def(): Remove parameter heap.  The field->name
      will not be deallocated before the copied index has been added to the
      data dictionary cache.
      
      innobase_copy_index_def(): Add const qualifier to dict_index_t*.
      Add an assertion !dict_index_is_clust(index).
      
      ha_innobase::add_index(): Add the missing user_thd parameter to the
      convert_error_code_to_mysql() call that was forgotten from r1686.
      
      merge_index_field_struct: Add const qualifier to field_name.
      
      merge_index_def_struct: Add const qualifier to name.
      
      row_merge_build_indexes(): Improve the function comment.
      
      row_merge_drop_table(): Remove bogus assertion ut_a(table->to_be_dropped).
      f304ce10
  4. 08 Aug, 2007 6 commits
  5. 03 Aug, 2007 6 commits
  6. 02 Aug, 2007 2 commits
    • marko's avatar
      branches/zip: Ensure that the dictionary updates are atomic by keeping · 60c44c3a
      marko authored
      the data dictionary locked across the operations.
      
      dict_table_decrement_handle_count(), row_prebuilt_free(): Add the flag
      dict_locked, to prevent the acquisition of dict_sys->mutex.
      
      innobase_rename_table(): Rename commit_flag to lock_and_commit,
      and do not acquire dict_sys->mutex or flush the log unless the flag is set.
      Remove bogus comment about utility threads, because the threads will
      be waken up by the upper-level function ha_innobase::rename_table().
      
      ha_innobase::add_index(): After creating a primary key, hold dict_sys->mutex
      across all dictionary operations.
      60c44c3a
    • marko's avatar
  7. 01 Aug, 2007 10 commits
  8. 21 Jun, 2007 3 commits