1. 21 Sep, 2007 4 commits
    • marko's avatar
      branches/zip: Add more details to the debug printout enabled by · 7a0a4df5
      marko authored
      row_merge_print_read and row_merge_print_write.
      7a0a4df5
    • marko's avatar
      branches/zip: When creating a memory heap, set the block size to what · 53b14f2f
      marko authored
      was actually obtained from the buddy allocator.  This should avoid some
      internal memory fragmentation in mem_heap_create() and mem_heap_alloc().
      
      mem_area_alloc(): Change the in parameter size to an in/out parameter.
      Adjust the size based on what was obtained from pool->free_list[].
      
      mem_heap_create_block(): Adjust block->len to what was obtained from
      mem_area_alloc().
      53b14f2f
    • marko's avatar
      branches/zip: innodb-index.test: Add yet another CHECK TABLE and add the · 80927016
      marko authored
      column d to two SELECT FROM t1.
      80927016
    • marko's avatar
      branches/zip: Add diagnostic printout. · 619fd43a
      marko authored
      rec_print_comp(): New function, sliced from rec_print_new().
      
      rec_print_old(), rec_print_comp(): Print the untruncated length of the column.
      
      row_merge_print_read, row_merge_print_write, row_merge_print_cmp:
      New flags, to enable debug printout in UNIV_DEBUG builds.
      
      row_merge_tuple_print(): New function for UNIV_DEBUG builds.
      
      row_merge_read_rec(): Obey row_merge_print_read.
      
      row_merge_buf_write(), row_merge_write_rec_low(),
      row_merge_write_eof(): Obey row_merge_print_write.
      
      row_merge_cmp(): Obey row_merge_print_cmp.
      619fd43a
  2. 20 Sep, 2007 3 commits
  3. 19 Sep, 2007 8 commits
  4. 17 Sep, 2007 2 commits
  5. 13 Sep, 2007 1 commit
  6. 12 Sep, 2007 3 commits
  7. 11 Sep, 2007 4 commits
    • marko's avatar
      branches/zip: ha_innobase::add_index(): Fix a race condition that · e9276f80
      marko authored
      existed before the fast-index-creation code was merged, in r1414.
      
      Do not call row_prebuilt_table_obsolete(innodb_table) until after
      the table has been renamed to a temporary name.  Otherwise, the
      following could happen when creating a clustered index on table T:
      
      (a1) copy T to T#1
      (a2) mark T obsolete
      (b1) add the name of T to the background drop list
      (a3) rename T to T#2 and T#1 to T
      (b2) drop the table on the background
      
      These steps are executed by two threads, a and b.
      
      If b1 is executed after a3, all is fine: the name T#2 will be added
      to the background drop list.  If b1 is executed before a3, the name
      T will be added, and T#2 will survive.
      e9276f80
    • marko's avatar
      branches/zip: Minor cleanup. · 5f3faa09
      marko authored
      row_add_table_to_background_drop_list(): Replace the dict_table_t*
      parameter with const char* (the table name).
      
      row_check_table_for_mysql(): Replace prebuilt->table with table.
      5f3faa09
    • inaam's avatar
      branches/zip: Undo changes commited in r1832. · 40381aed
      inaam authored
      These should have gone to branches/fts.
      
      Spotted by: Marko and Ken
      40381aed
    • inaam's avatar
      branches/zip: undo changes made in r1763. · 04fb05b1
      inaam authored
      These should have gone in branches/fts
      
      Spotted by: Marko and Ken
      04fb05b1
  8. 10 Sep, 2007 2 commits
  9. 07 Sep, 2007 2 commits
    • marko's avatar
      branches/zip: UNIV_MEM_ASSERT_AND_FREE(): · 313dabb9
      marko authored
      Use UNIV_MEM_ASSERT_W() instead of UNIV_MEM_ASSERT_RW().
      The memory area need not be initialized.
      This mistake was made in r1815.
      313dabb9
    • marko's avatar
      branches/zip: Decode table names when displaying error messages in · 45b97e55
      marko authored
      fast index creation.
      
      innobase_convert_tablename(): New function, to remove the filename
      encoding of a database and table name.
      
      ha_innobase::add_index(): Invoke innobase_convert_tablename() before
      calling my_error().
      
      innodb-index.result: Update the error messages.
      45b97e55
  10. 06 Sep, 2007 5 commits
  11. 05 Sep, 2007 3 commits
    • marko's avatar
      branches/zip: ha_innobase:add_index(): Report HA_ERR_TABLE_EXIST when the · ffe9a4c5
      marko authored
      temporary table cannot be created or renamed.
      
      innodb-index.test,result: Add test cases where a temporary table already
      exists.
      ffe9a4c5
    • marko's avatar
      branches/zip: Simplify crash recovery in fast index creation. · 84ff5781
      marko authored
      trx_t: Remove dict_undo_list and dict_redo_list.
      
      innobase_create_temporary_tablename(): Replace TEMP_TABLE_PREFIX with
      a table name suffix "#1" or "#2".  In this way, the user can restore
      precious data, should anything go wrong.  It is possible to reach an
      inconsistent state, because the creation, deletion and renaming of
      single-table tablespaces are not transactional.
      
      ut_print_namel(), fil_make_ibd_name(), innobase_rename_table(): Remove
      the special treatment of TEMP_TABLE_PREFIX.
      
      Introduce TEMP_INDEX_PREFIX == 0xff for temporary indexes.  This byte
      cannot occur in index names since MySQL 4.1.  However, it might have
      been possible to use this byte in MySQL 4.0.
      
      recv_recovery_from_checkpoint_finish(): Call the new function
      row_merge_drop_temp_indexes(), to drop all indexes whose name starts
      with the byte 0xff.
      
      row_merge_rename_indexes(): Renamed from row_merge_rename_index().
      Remove the parameter "index".
      
      row_drop_table_for_mysql(): Unconditionally call trx_commit_for_mysql().
      
      row_drop_table_for_mysql_no_commit(): Correct the function commit,
      based on the corrected comment of row_drop_table_for_mysql().  Rely on
      table->to_be_dropped instead of TEMP_TABLE_PREFIX.
      
      ha_innobase::add_index(): Simplify the control flow.
      84ff5781
    • marko's avatar
      branches/zip: lock_rec_enqueue_waiting(): When a record lock wait occurs · 44aa4feb
      marko authored
      in a dictionary operation, display also the name of the index.
      44aa4feb
  12. 04 Sep, 2007 2 commits
  13. 03 Sep, 2007 1 commit