An error occurred fetching the project authors.
  1. 21 Aug, 2007 1 commit
  2. 13 Aug, 2007 1 commit
    • marko's avatar
      branches/zip: Add some const qualifiers to dict_index_t* and dict_table_t*. · e0009cd4
      marko authored
      innobase_create_key_def(), row_table_got_default_clust_index(),
      row_get_mysql_key_number_for_index(): Add a const qualifier.
      
      dict_table_get_first_index(), dict_table_get_next_index(): Define
      as a const-preserving macro.  Preserve the old function for UNIV_DEBUG,
      but add a const qualifier to the parameter and cast away the constness.
      e0009cd4
  3. 08 Aug, 2007 1 commit
  4. 02 Aug, 2007 1 commit
    • 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
  5. 01 Aug, 2007 1 commit
  6. 20 Jun, 2007 1 commit
    • marko's avatar
      branches/zip: Enable calls to inlined InnoDB functions in ha_innodb.cc, · 8b40a79c
      marko authored
      now that all of InnoDB code is built from a single Makefile and it should
      not be possible to build the modules with mutually incompatible options.
      
      #define INSIDE_HA_INNOBASE_CC: Remove.
      
      srv_sizeof_trx_t_in_ha_innodb_cc: Remove.
      
      dict_table_get_low_noninlined(): Remove.  This function was unused.
      
      Remove all _noninline functions.  Remove the _noninline suffix from
      all function calls in ha_innodb.cc.
      8b40a79c
  7. 12 Jun, 2007 1 commit
    • marko's avatar
      branches/zip: Correctly print the names of temporary tables and indexes · ae0ae671
      marko authored
      during fast index creation.
      
      TEMP_TABLE_PREFIX: Move the definition from dict0dict.h to ut0ut.h.
      
      ut_print_namel(): Check if the name starts with TEMP_TABLE_PREFIX.
      
      innobase_rename_table(): Print all names with ut_print_name().
      
      row_prebuilt_free(): Replace assert() with ut_a().
      ae0ae671
  8. 08 Jun, 2007 1 commit
    • marko's avatar
      branches/zip: Reimplement merge sort in fast index creation. · 1a8a63d0
      marko authored
      The creation of the primary key does not work.  We will have to flag
      externally stored columns and copy the externally stored part from
      the old table.
      
      row_build_index_for_mysql(): Rename to row_merge_build_indexes().
      Move from row0mysql.c to row0merge.c.
      
      Remove private declarations from row0merge.h.  Make many functions static
      in row0merge.c.
      
      cmp_rec_rec_simple(): A new comparison function.
      
      dict_index_get_min_size(): New function.
      
      OS_FILE_FROM_FD(fd): A macro for converting from int to os_file_t.
      
      rec_convert_dtuple_to_rec_comp(): Make the interface lower-level.
      
      rec_get_converted_size_comp(): Return also extra_size.
      
      UT_SORT_FUNCTION_BODY(): Remove reference to an obsolete test program.
      
      row_rec_to_index_entry_low(): New function.
      
      row0merge.c: Implement merge sort based on file streams instead of
      fixed-size blocks.  Sort the small blocks as arrays of dfield_t*,
      because it is faster than invoking rec_get_offsets() for every
      comparison.
      1a8a63d0
  9. 07 Jun, 2007 1 commit
  10. 06 Jun, 2007 1 commit
  11. 16 Apr, 2007 1 commit
    • marko's avatar
      branches/zip: Clean up fast index creation. · 39dc9f71
      marko authored
      dict_index_is_unique(): New function.
      
      row_merge_rec_fits_to_block(), row_merge_store_rec_to_block():
      Add const qualifiers to rec, offsets.
      
      row_merge_select(): Rename to row_merge_cmp(), simplify the interface.
      
      row_merge_sort_linked_list(): Change the return type to ibool.
      Replace sec_offs1,sec_offs2 with offsets1,offsets2.  Replace offset_heap
      with heap.  Define a func_exit label.
      
      row_merge_block_merge(): Reduce the scope of rec_offsets.
      39dc9f71
  12. 04 Apr, 2007 1 commit
  13. 28 Feb, 2007 1 commit
  14. 19 Feb, 2007 1 commit
  15. 30 Jan, 2007 1 commit
    • marko's avatar
      branches/zip: Avoid memory fragmentation when adding column definitions · 463aaf28
      marko authored
      to tables.
      
      dict_mem_table_add_col(): Add the parameter "heap" for temporary memory
      allocation.  Allow it and "name" to be NULL.  These parameters are NULL
      when creating dummy indexes.
      
      dict_add_col_name(): Remove calls to ut_malloc() and ut_free().
      
      dict_table_get_col_name(): Allow table->col_names to be NULL.
      
      dict_table_add_system_columns(), dict_table_add_to_cache():
      Add the parameter "heap".
      463aaf28
  16. 02 Jan, 2007 1 commit
  17. 16 Nov, 2006 1 commit
  18. 25 Oct, 2006 1 commit
  19. 20 Oct, 2006 1 commit
  20. 19 Oct, 2006 2 commits
    • marko's avatar
      branches/zip: Remove some more casts. · 8919884f
      marko authored
      dict_index_get_nth_col_pos(), dict_index_get_sys_col_pos(),
      dict_index_get_n_fields(), fil_page_get_type():
      Add const qualifier to parameter.
      
      dict_index_get_nth_field(): Implement as a macro unless #ifdef UNIV_DEBUG.
      8919884f
    • marko's avatar
      branches/zip: Remove the casts introduced in r920 and r925. Replace the · fbe4fe60
      marko authored
      accessors returning pointers with macros that preserve const qualifiers.
      In UNIV_DEBUG builds, retain the accessors and cast away constness there.
      
      dfield_get_type(), dfield_get_data(), dtuple_get_nth_field(),
      dict_table_get_nth_col(), dict_table_get_sys_col(): Implement as macro
      unless #ifdef UNIV_DEBUG.
      
      rec_get_nth_field(): Replace with rec_get_nth_field_offs() that does not
      do pointer arithmetics.  Implement rec_get_nth_field() as a macro.
      fbe4fe60
  21. 19 Sep, 2006 1 commit
  22. 13 Jun, 2006 1 commit
  23. 30 May, 2006 1 commit
    • marko's avatar
      branches/zip: Write compressed pages to disk. · 1dd4d568
      marko authored
      os_aio_simulated_handle(): Temporarily disable os_file_check_page_trailers(),
      which cannot be invoked on compressed pages.
      
      dict_table_add_system_columns(): New function, split from
      dict_table_add_to_cache().
      
      mlog_parse_index(): Add system columns to the dummy table and identify
      DB_TRX_ID and DB_ROLL_PTR in the dummy index.
      
      buf_LRU_get_free_block(): Note that page_zip->data should be allocated from
      an aligned memory pool.
      
      buf_flush_buffered_writes(): Write compressed pages to disk.
      
      buf_flush_post_to_doublewrite_buf(): Copy compressed pages to the
      doublewrite buffer.  Zero fill any excess space.
      
      buf_flush_init_for_writing(): Treat all compressed pages the same.
      
      buf_read_page_low(): Read compressed pages from disk.
      
      buf_page_io_complete(): Process compressed pages.
      
      trx_sys_doublewrite_init_or_restore_page(): Process compressed pages.
      
      mlog_write_initial_log_record_fast(): Enable a debug printout
      #ifdef UNIV_LOG_DEBUG.
      
      fsp_header_init(), fsp_fill_free_list(): Pass the compressed page size
      to buf_page_create().
      
      page_zip_compress_write_log(): Flatten the if-else if-else logic.
      
      page_zip_parse_write_blob_ptr(): Do not test page_zip if page==NULL.
      
      page_zip_parse_write_node_ptr(): Do not test page_zip if page==NULL.
      Invoke mlog_close() correctly.
      
      row_sel_store_row_id_to_prebuilt(): Add UNIV_UNLIKELY hint to an
      assertion-like test.
      1dd4d568
  24. 08 May, 2006 1 commit
  25. 25 Apr, 2006 1 commit
    • marko's avatar
      branches/zip: Write the compressed page size to SYS_TABLES.TYPE · 6dd1d8c4
      marko authored
      and to the file space header (FSP_PAGE_ZIP_SIZE, renamed from
      FSP_LOWEST_NO_WRITE).
      
      fil_space_struct: Add zip_size.
      
      dict_table_struct: Embed zip_size in flags.
      
      dict_table_zip_size(): Infer zip_size from table->flags.
      
      dict_sys_tables_get_zip_size(): Read zip_size from SYS_TABLES.TYPE.
      
      fil_space_get_zip_size(): Read zip_size from the file space header.
      
      Add the redo log entry type MLOG_ZIP_FILE_CREATE.
      6dd1d8c4
  26. 12 Apr, 2006 2 commits
  27. 09 Mar, 2006 1 commit
    • marko's avatar
      branches/zip: Note that TRX_ID and ROLL_PTR only exist on B-tree leaf pages · e8e9fb28
      marko authored
      of clustered indexes.  Previously, parts of the code assumed that these
      columns would exist on all leaf pages.  Simplify the update-in-place of
      these columns.
      
      Add inline function dict_index_is_clust() to replace all tests
      index->type & DICT_CLUSTERED.
      
      Remove the redo log entry types MLOG_ZIP_WRITE_TRX_ID and
      MLOG_ZIP_WRITE_ROLL_PTR, because the modifications to these columns
      are covered by logical logging.
      
      Fuse page_zip_write_trx_id() and page_zip_write_roll_ptr() into
      page_zip_write_trx_id_and_roll_ptr().
      
      page_zip_dir_add_slot(), page_zip_available(): Add flag "is_clustered",
      so that no space will be reserved for TRX_ID and ROLL_PTR on leaf pages
      of secondary indexes.
      
      page_zip_apply_log(): Flag an error when val==0 is encoded with two bytes.
      
      page_zip_write_rec(): Add debug assertions that there is enough space
      available for the entry before copying the data bytes of the record.
      e8e9fb28
  28. 03 Mar, 2006 1 commit
  29. 27 Feb, 2006 1 commit
  30. 23 Feb, 2006 1 commit
  31. 03 Feb, 2006 1 commit
    • marko's avatar
      branches/zip: Prepare for upcoming implementation of page_zip_compress() · d5f33daf
      marko authored
      that will require complete index information.
      
      dict_create_index_step(): invoke dict_index_add_to_cache() before btr_create()
      
      dict_index_remove_from_cache(): make public
      
      dict_index_get_if_in_cache_low(): new function, for holding dict_sys->mutex
      
      buf_flush_init_for_writing(): remove the temporary hook to page_zip_compress()
      
      page_create(): add temporary hook to page_zip_compress()
      d5f33daf
  32. 29 Nov, 2005 1 commit
  33. 27 Oct, 2005 1 commit