1. 21 Sep, 2007 2 commits
    • marko's avatar
      branches/zip: innodb-index.test: Add yet another CHECK TABLE and add the · bb97dfee
      marko authored
      column d to two SELECT FROM t1.
      bb97dfee
    • marko's avatar
      branches/zip: Add diagnostic printout. · a44c5905
      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.
      a44c5905
  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 · 5cff2592
      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.
      5cff2592
    • marko's avatar
      branches/zip: Minor cleanup. · cee36690
      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.
      cee36690
    • inaam's avatar
      branches/zip: Undo changes commited in r1832. · 22d5997d
      inaam authored
      These should have gone to branches/fts.
      
      Spotted by: Marko and Ken
      22d5997d
    • inaam's avatar
      branches/zip: undo changes made in r1763. · ae1bf9e3
      inaam authored
      These should have gone in branches/fts
      
      Spotted by: Marko and Ken
      ae1bf9e3
  8. 10 Sep, 2007 2 commits
  9. 07 Sep, 2007 2 commits
    • marko's avatar
      branches/zip: UNIV_MEM_ASSERT_AND_FREE(): · 8f98e909
      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.
      8f98e909
    • marko's avatar
      branches/zip: Decode table names when displaying error messages in · 6b4c37d6
      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.
      6b4c37d6
  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 · 489d8296
      marko authored
      temporary table cannot be created or renamed.
      
      innodb-index.test,result: Add test cases where a temporary table already
      exists.
      489d8296
    • marko's avatar
      branches/zip: Simplify crash recovery in fast index creation. · 52a89286
      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.
      52a89286
    • marko's avatar
      branches/zip: lock_rec_enqueue_waiting(): When a record lock wait occurs · 63805a30
      marko authored
      in a dictionary operation, display also the name of the index.
      63805a30
  12. 04 Sep, 2007 2 commits
  13. 03 Sep, 2007 3 commits
    • vasil's avatar
      Add functions that retrieve some lock_t characteristics, needed in · ccb384e2
      vasil authored
      INFORMATION_SCHEMA implementation:
      
      lock_get_trx_id()
      lock_get_mode_str()
      lock_get_type_str()
      lock_get_table_id()
      lock_get_table_name()
      lock_rec_get_index_name()
      lock_rec_get_space_id()
      lock_rec_get_page_no()
      
      Approved by:	Marko
      ccb384e2
    • marko's avatar
      branches/zip: row_merge_drop_table(): Replace the · 73311227
      marko authored
      row_drop_table_for_mysql() call with a call to
      row_drop_table_for_mysql_no_commit().  The last parameter of
      the function is ibool drop_db, not ibool do_commit.  Also,
      since r1790 of trunk it is not necessary to copy table->name.
      73311227
    • vasil's avatar
      branches/zip: · 4c8d01ef
      vasil authored
      Move lock_rec_find_set_bit() from lock0priv.h to lock0lock.h. This
      function is needed in the INFORMATION_SCHEMA implementation which
      currently resides in trx/
      
      Approved by:	Marko
      4c8d01ef