An error occurred fetching the project authors.
  1. 20 Mar, 2009 2 commits
  2. 17 Feb, 2009 1 commit
    • vasil's avatar
      branches/zip: · dfc3e641
      vasil authored
      * Remove old Innobase copyright lines from C source files
      * Add a reference to the GPLv2 license as recommended by the lawyers
      at Oracle Legal
      
      [Step 22/28]
      dfc3e641
  3. 02 Feb, 2009 1 commit
  4. 23 Jan, 2009 2 commits
  5. 06 Oct, 2008 1 commit
    • marko's avatar
      branches/zip: Relax the page_zip_validate() check during crash recovery: · 082f28dc
      marko authored
      ignore intermittent differences in the "predefined minimum record" flag.
      
      page_zip_validate_low(): Renamed from page_zip_validate(), with an
      additional parameter: ibool sloppy.  Ignore REC_INFO_MIN_REC_FLAG when
      sloppy == TRUE.
      
      page_zip_validate(): Wrapper for page_zip_validate_low().  Pass
      sloppy = recv_recovery_is_on().
      
      recv_recover_page(): After applying the changes from the redo log to a
      compressed B-tree page, invoke page_zip_validate_low() in strict mode.
      082f28dc
  6. 22 Sep, 2008 1 commit
    • marko's avatar
      branches/zip: Non-functional change: · d87663c9
      marko authored
      buf_block_dbg_add_level(block, level): Define as an empty macro when
      UNIV_SYNC_DEBUG is not defined.  Remove #ifdef UNIV_SYNC_DEBUG around
      all invocations.
      d87663c9
  7. 10 Mar, 2008 1 commit
    • marko's avatar
      branches/zip: Implement the configuration parameter and settable global · a9ae7311
      marko authored
      variable innodb_file_format.  Implement file format version stamping of
      *.ibd files and SYS_TABLES.TYPE.
      
      This change breaks introduces an incompatible change for for
      compressed tables.  We can do this, as we have not released yet.
      
      innodb-zip.test: Add tests for stricter KEY_BLOCK_SIZE and ROW_FORMAT
      checks.
      
      DICT_TF_COMPRESSED_MASK, DICT_TF_COMPRESSED_SHIFT: Replace with
      DICT_TF_ZSSIZE_MASK, DICT_TF_ZSSIZE_SHIFT.
      
      DICT_TF_FORMAT_MASK, DICT_TF_FORMAT_SHIFT, DICT_TF_FORMAT_51,
      DICT_TF_FORMAT_ZIP: File format version, stored in table->flags,
      in the .ibd file header, and in SYS_TABLES.TYPE.
      
      dict_create_sys_tables_tuple(): Write the table flags to SYS_TABLES.TYPE
      if the format is at least DICT_TF_FORMAT_ZIP.  For old formats
      (DICT_TF_FORMAT_51), write DICT_TABLE_ORDINARY as the table type.
      
      DB_TABLE_ZIP_NO_IBD: Remove the error code.  The error handling is done
      in ha_innodb.cc; as a failsafe measure, dict_build_table_def_step() will
      silently clear the compression and format flags instead of returning this
      error.
      
      dict_mem_table_create(): Assert that no extra bits are set in the flags.
      
      dict_sys_tables_get_zip_size(): Rename to dict_sys_tables_get_flags().
      Check all flag bits, and return ULINT_UNDEFINED if the combination is
      unsupported.
      
      dict_boot(): Document the SYS_TABLES columns N_COLS and TYPE.
      
      dict_table_get_format(), dict_table_set_format(),
      dict_table_flags_to_zip_size(): New accessors to table->flags.
      
      dtuple_convert_big_rec(): Introduce the auxiliary variables
      local_len, local_prefix_len.  Store a 768-byte prefix locally
      if the file format is less than DICT_TF_FORMAT_ZIP.
      
      dtuple_convert_back_big_rec(): Restore the columns.
      
      srv_file_format: New variable: innodb_file_format.
      
      fil_create_new_single_table_tablespace(): Replace the parameter zip_size
      with table->flags.
      
      fil_open_single_table_tablespace(): Replace the parameter zip_size_in_k
      with table->flags.  Check the flags.
      
      fil_space_struct, fil_space_create(), fil_op_write_log():
      Replace zip_size with flags.
      
      fil_node_open_file(): Note a TODO item for InnoDB Hot Backup.
      Check that the tablespace flags match.
      
      fil_space_get_zip_size(): Rename to fil_space_get_flags().  Add a
      wrapper for fil_space_get_zip_size().
      
      fsp_header_get_flags(): New function.
      
      fsp_header_init_fields(): Replace zip_size with flags.
      
      FSP_SPACE_FLAGS: New name for the tablespace flags.  This field used
      to be called FSP_PAGE_ZIP_SIZE, or FSP_LOWEST_NO_WRITE.  It has always
      been written as 0 in MySQL/InnoDB versions 4.1 to 5.1.
      
      MLOG_ZIP_FILE_CREATE: Rename to MLOG_FILE_CREATE2.  Add a 32-bit
      parameter for the tablespace flags.
      
      ha_innobase::create(): Check the table attributes ROW_FORMAT and
      KEY_BLOCK_SIZE.  Issue errors if they are inappropriate, or warnings
      if the inherited attributes (in ALTER TABLE) will be ignored.
      
      PAGE_ZIP_MIN_SIZE_SHIFT: New constant: the 2-logarithm of PAGE_ZIP_MIN_SIZE.
      a9ae7311
  8. 04 Mar, 2008 1 commit
    • marko's avatar
      branches/zip: Fix most MSVC (Windows) compilation warnings. · c4605a28
      marko authored
      lock_get_table(), locks_row_eq_lock(), buf_page_get_mutex(): Add return
      after ut_error.  On Windows, ut_error is not declared as "noreturn".
      
      Add explicit type casts when assigning ulint to byte to get rid of
      "possible loss of precision" warnings.
      
      struct i_s_table_cache_struct: Declare rows_used, rows_allocd as ulint
      instead of ullint.  32 bits should be enough.
      
      fill_innodb_trx_from_cache(), i_s_zip_fill_low(): Cast 64-bit unsigned
      integers to longlong when calling Field::store(longlong, bool is_unsigned).
      Otherwise, the compiler would implicitly convert them to double and
      invoke Field::store(double) instead.
      
      recv_truncate_group(), recv_copy_group(), recv_calc_lsn_on_data_add():
      Cast ib_uint64_t expressions to ulint to get rid of "possible loss of
      precision" warnings.  (There should not be any loss of precision in
      these cases.)
      
      log_close(), log_checkpoint_margin(): Declare some variables as ib_uint64_t
      instead of ulint, so that there won't be any potential loss of precision.
      
      mach_write_ull(): Cast the second argument of mach_write_to_4() to ulint.
      
      OS_FILE_FROM_FD(): Cast the return value of _get_osfhandle() to HANDLE.
      
      row_merge_dict_table_get_index(): Cast the parameter of mem_free() to (void*)
      in order to get rid of the bogus MSVC warning C4090, which has been reported
      as MSVC bug 101661:
      <http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=101661>
      
      row_mysql_read_blob_ref(): To get rid of a bogus MSVC warning C4090,
      drop a const qualifier.
      c4605a28
  9. 06 Feb, 2008 1 commit
    • marko's avatar
      branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global · 1d1dc31a
      marko authored
      symbols.  Use it for all definitions of non-static variables and functions.
      
      lexyy.c, make_flex.sh: Declare yylex as UNIV_INTERN, not static.  It is
      referenced from pars0grm.c.
      
      Actually, according to
      	nm .libs/ha_innodb.so|grep -w '[ABCE-TVXYZ]'
      the following symbols are still global:
      
      * The vtable for class ha_innodb
      * pars0grm.c: The function yyparse() and the variables yychar, yylval, yynerrs
      
      The required changes to the Bison-generated file pars0grm.c will be addressed
      in a separate commit, which will add a script similar to make_flex.sh.
      
      The class ha_innodb is renamed from class ha_innobase by a #define.  Thus,
      there will be no clash with the builtin InnoDB.  However, there will be some
      overhead for invoking virtual methods of class ha_innodb.  Ideas for making
      the vtable hidden are welcome.  -fvisibility=hidden is not available in GCC 3.
      1d1dc31a
  10. 30 Oct, 2007 1 commit
  11. 05 Sep, 2007 1 commit
    • 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
  12. 01 Aug, 2007 1 commit
  13. 18 Jan, 2007 2 commits
    • marko's avatar
    • marko's avatar
      branches/zip: Remove the fil_space_get_zip_size() call from · f116afa7
      marko authored
      buf_page_get_gen().  This saves one mutex operation per block request.
      
      buf_page_get_gen(), various macros and functions: Add parameter zip_size.
      
      btr_node_ptr_get_child(): Add parameter index.
      
      fil_space_get_latch(): Add optional output parameter zip_size.
      
      fil_space_get_zip_size(): Return 0 for space id==0, because the
      system tablespace is never compressed.
      
      fsp_header_init(): Remove the parameter zip_size.
      
      ibuf_free_excess_pages(): Remove the parameter zip_size.
      
      trx_rseg_t, trx_undo_t: Add field zip_size.
      
      xdes_lst_get_next(): Remove, unused.
      f116afa7
  14. 02 Jan, 2007 1 commit
  15. 13 Dec, 2006 1 commit
    • marko's avatar
      branches/zip: Make use of the previously unused state BUF_BLOCK_MEMORY. · cb530ba3
      marko authored
      buf_LRU_get_free_block(): Document that the block is in the state
      BUF_BLOCK_READY_FOR_USE.
      
      buf_block_alloc(): Change the state of the block to BUF_BLOCK_MEMORY
      and document it.
      
      Replace those invocations of buf_block_alloc() with
      buf_LRU_get_free_block() where the allocated block is used for buffer
      pool input and output.  However, temporary copies of B-tree pages
      during reorganization are not used for file I/O, and such blocks are
      still allocated with buf_block_alloc().
      cb530ba3
  16. 30 Nov, 2006 3 commits
  17. 29 Nov, 2006 1 commit
  18. 24 Nov, 2006 1 commit
  19. 23 Nov, 2006 1 commit
    • marko's avatar
      branches/zip: Replace most references to block->state, block->offset, · 6c8dfab1
      marko authored
      and block->space with buf_block_get_state(block), buf_block_get_page_no(block),
      and buf_block_get_space(block).
      
      enum buf_block_state: Replaces the #define'd buf_block_t.state values.
      
      buf_block_get_state(): New function.
      
      buf_block_get_frame(): Add __attribute__((const)).
      6c8dfab1
  20. 30 Oct, 2006 1 commit
    • marko's avatar
      branches/zip: Prepare for buffer pool allocation in several chunks. · d266262a
      marko authored
      buf_pool_t: Remove n_frames, max_size, and blocks_of_frames.
      The current buffer pool size is in curr_size.
      
      buf_pool_init(): Remove parameter max_size.
      
      buf_pool_get_max_size(), buf_pool_is_block(): Remove.
      
      buf_block_align(): Do not assume that the buffer pool is allocated
      in one chunk.  Replace dependency on buf_pool->blocks_of_frames
      with a call to buf_page_hash_get().
      d266262a
  21. 20 Oct, 2006 1 commit
    • marko's avatar
      branches/zip: Remove some more buf_block_align() calls. · b6e26f24
      marko authored
      btr_cur_t: Move page_block to page_cur_t::block.
      
      page_cur_get_block(), page_cur_get_page_zip(): New functions.
      
      page_cur_position(): Add parameter block.
      
      Remove many page_zip parameters, now that there is page_cur_get_page_zip().
      Replace some page, page_zip parameters with block.
      
      Add some const qualifiers to function parameters and remove casts.
      
      PAGE_HEAP_NO_INFIMUM, PAGE_HEAP_NO_SUPREMUM, PAGE_HEAP_NO_USER_LOW:
      New constants.
      
      Replace some cursor code in low-level diagnostic functions with
      direct management of rec, because buf_block_t::buf_fix_count may be 0
      when the functions are called, and debug assertions would fail.
      b6e26f24
  22. 19 Oct, 2006 2 commits
    • marko's avatar
      branches/zip: Remove many fil_space_get_zip_size() calls. · cdb096b6
      marko authored
      ibuf_page(), ibuf_page_low(), ibuf_free_excess_pages(), ibuf_insert(),
      buf_read_page(), buf_read_ahead_linear(), buf_read_recv_pages():
      Add parameter zip_size.
      cdb096b6
    • marko's avatar
      branches/zip: Remove some more buf_block_align() calls. · 24d0bbf8
      marko authored
      btr_search_build_page_hash_index(), fsp_parse_init_file_page(),
      ibuf_parse_bitmap_init(): Replace page_t* with buf_block_t*.
      
      buf_read_ibuf_merge_pages(): Add const qualifiers.  Retrieve zip_size.
      
      ibuf_merge_or_delete_for_page(): Replace page_t* with buf_block_t*.
      Add parameter zip_size.
      24d0bbf8
  23. 18 Oct, 2006 1 commit
    • marko's avatar
      branches/zip: Eliminate many buf_block_align() calls. · d583b180
      marko authored
      Replace page_t* or page_zip_des_t* parameters in some functions with
      buf_block_t*.
      
      buf_frame_get_page_zip(): Disable unless #ifdef UNIV_DEBUG || UNIV_ZIP_DEBUG.
      
      btr_cur_t: Add buf_block_t* page_block.
      
      btr_pcur_get_block(), btr_cur_get_block(), btr_cur_get_page_zip():
      New functions.
      
      btr_cur_position(): Add the parameter block.
      d583b180
  24. 13 Oct, 2006 1 commit
    • marko's avatar
      branches/zip: Remove some more buf_block_align() calls. · e5b6c394
      marko authored
      Replace buf_frame_modify_clock_inc() with buf_block_modify_clock_inc().
      Replace buf_frame_get_lock_hash_val() with buf_block_get_lock_hash_val().
      Replace buf_frame_get_lock_mutex() with buf_block_get_lock_mutex().
      
      page_create_zip(), page_create(), page_create_low(), btr_page_free(),
      btr_page_free_low(): Replace page_t with buf_block_t.
      e5b6c394
  25. 12 Oct, 2006 1 commit
    • marko's avatar
      branches/zip: Reduce the number of buf_block_align() calls. · 5669dc3d
      marko authored
      btr_block_get(): New function to return buf_block_t.
      
      btr_page_alloc(), buf_page_get_release_on_io(), buf_page_get_gen(),
      buf_page_create(), fseg_create(), fseg_create_general(): Return buf_block_t.
      
      buf_page_get_known_nowait(): Expect buf_block_t instead of buf_frame_t.
      
      buf_frame_get_newest_modification(): Replace with
      buf_block_get_newest_modification().
      
      buf_page_dbg_add_level(): Replace with buf_block_dbg_add_level().
      
      buf_block_get_zip_size(): New function.
      
      buf_block_get_page_zip(): Reintroduce.
      
      recv_recover_page(): Replace page, space, page_no with block.
      
      ibuf_bitmap_page_init(): Replace page, zip_size with block.
      
      ibuf_parse_bitmap_init(): Remove the parameter zip_size.
      
      btr_search_drop_page_hash_index(): Replace page with block.
      5669dc3d
  26. 10 Oct, 2006 1 commit
  27. 09 Oct, 2006 2 commits
  28. 06 Oct, 2006 1 commit
    • marko's avatar
      branches/zip: Remove compilation errors with -DUNIV_HOTBACKUP. · 679d6e82
      marko authored
      dict_load_foreigns(): Enclose in #ifndef UNIV_HOTBACKUP.
      
      fil_extend_tablespaces_to_stored_len(): Pass zip_size to fil_read().
      
      buf_page_init_for_backup_restore(): Add parameter zip_size.
      Enclose the declaration in buf0buf.h in #ifdef UNIV_HOTBACKUP.
      
      recv_apply_log_recs_for_backup(): Replace the local variable "page"
      with the local variable "block".  Add local variable zip_size.
      679d6e82
  29. 19 Sep, 2006 1 commit
  30. 29 Aug, 2006 1 commit
  31. 11 Aug, 2006 1 commit
  32. 07 Aug, 2006 1 commit
  33. 02 Aug, 2006 1 commit
    • marko's avatar
      branches/zip: Fix some crash recovery bugs. · b355bd0f
      marko authored
      dict_load_table(): Initialize table->flags with zip_size.
      
      mlog_parse_nbytes(), mlog_parse_string(): Add parameter page_zip and
      write the changes also to the compressed page if one is specified.
      Assert that these functions are not called on FIL_PAGE_INDEX pages.
      
      buf_page_io_complete(): Replace block->frame with frame where appropriate.
      
      recv_parse_or_apply_log_rec_body(): Add ut_a(!page_zip) where appropriate.
      
      page_parse_delete_rec_list(): Add parameter page_zip.
      b355bd0f