An error occurred fetching the project authors.
  1. 26 Sep, 2006 1 commit
    • marko's avatar
      branches/zip: Allow the locally stored part of externally stored columns · 1f510066
      marko authored
      in the clustered index to be smaller than the indexed prefix in secondary
      indexes.
      
      row_ext_lookup(): Return NULL if the column is not stored externally.
      
      trx_undo_rec_get_partial_row(): row_build(): Add parameter row_ext_t** ext.
      
      row_build_index_entry(): Add the parameter row_ext_t* ext.
      Invoke row_ext_lookup() to fetch prefixes of externally stored columns.
      
      upd_node_t, undo_node_t, purge_node_t: Add the field row_ext_t* ext.
      1f510066
  2. 25 Sep, 2006 1 commit
    • marko's avatar
      branches/zip: Minor cleanup in update related code. · 8e59e994
      marko authored
      btr_push_update_extern_fields(): Instead of iterating all upd_get_n_fields(),
      stop at the first match.
      
      row_search_index_entry(): Simplify the return statements.
      
      row_upd_sec_step(): Eliminate the local variable "err".
      
      row_upd_clust_step(): Add a UNIV_UNLIKELY hint.
      8e59e994
  3. 22 Sep, 2006 1 commit
  4. 19 Sep, 2006 1 commit
  5. 29 Aug, 2006 1 commit
  6. 07 Aug, 2006 1 commit
    • marko's avatar
      branches/zip: Minor cleanup. · 00ddce11
      marko authored
      row_upd_sec_index_entry(): Remove redundant goto.  Replace duplicated
      cleanup code with goto func_exit.
      
      mtr_memo_slot_release(): Eliminate the #else branch of #ifdef UNIV_DEBUG
      by reorganizing the code.
      00ddce11
  7. 13 Jun, 2006 1 commit
  8. 08 May, 2006 1 commit
  9. 12 Apr, 2006 1 commit
  10. 16 Mar, 2006 1 commit
    • marko's avatar
      branches/zip: Minor fixes · cd7583af
      marko authored
      trx-undo_prev_version_build(): Pass offsets==NULL to
      rec_set_field_extern_bits().
      
      rec_set_field_extern_bits(), rec_set_field_extern_bits_new():
      Accept offsets==NULL.
      
      row_upd_rec_in_place(): Remove the bogus comment that the function
      would only be invoked on a clustered index.  Remove the related
      debug assertion.
      cd7583af
  11. 13 Mar, 2006 2 commits
    • marko's avatar
      branches/zip: Implement in-place updates of BLOB pointers. · 65dfefe2
      marko authored
      There are still some bugs in the code.
      
      btr_store_big_rec_extern_fields(): Remove assertion on dict_table_is_zip()
      to ease testing.
      
      btr_free_externally_stored_field(): Test page_zip instead of
      dict_table_is_zip().
      
      page_zip_write_rec(): Add parameter "create".  Try to handle externally
      stored columns.
      
      rec_offs_any_extern(): Correct the function comment.
      
      Add rec_offs_n_extern() and page_zip_get_n_prev_extern().
      
      page_zip_dir_decode(): Replace assertion with if (...) return(FALSE).
      
      page_zip_decompress(): Do not clear page_zip->n_blobs after counting the
      BLOBs.
      
      page_zip_write_blob_ptr(): Use page_zip_get_n_prev_extern().
      Correct an off-by-one error in memcpy().
      65dfefe2
    • marko's avatar
      branches/zip: Minor improvements. · 23d19f8f
      marko authored
      btr_cur_pessimistic_update(): Remove extraneous page_zip_write_rec() call.
      
      btr_cur_set_ownership_of_extern_field(): Simplify the logic.
      
      row_upd_rec_in_place(): Make use of parameter "index" in debug assertions.
      
      page_zip_write_rec(): Remove TODO comment about redo log record.
      The write will already be covered by higher-level log entries.
      23d19f8f
  12. 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
  13. 06 Mar, 2006 1 commit
    • marko's avatar
      branches/zip: Fix some bugs in the insertion of records. · 1aca6cad
      marko authored
      row_upd_rec_in_place(), page_zip_write_rec(): Add parameter "index".
      
      page_dir_set_n_heap(): Add a debug assertion that on compressed
      pages, n_heap will always be incremented by one.  Improve code formatting.
      
      page_zip_dir_add_slot(): New function, called from
      page_cur_insert_rec_low() after page_mem_alloc_heap().
      
      rec_set_n_owned_new(): Do not call page_zip_rec_set_owned()
      on the supremum record.
      
      rec_offs_make_valid(): Add debug assertions.
      
      page_zip_dir_user_size(): Correct an off-by-one error in the debug assertion.
      
      page_zip_apply_log(): Add parameter trx_id_col.  Skip trx_id and roll_ptr.
      
      page_zip_decompress(): Simplify the handling of "storage" in the loop that
      copies the uncompressed fields.
      
      page_zip_write_rec(): Store trx_id and roll_ptr separately.
      
      page_zip_write_trx_id(), page_zip_write_roll_ptr(): Fix off-by-one errors.
      
      page_cur_insert_rec_low(): Call page_zip_dir_add_slot() after
      page_mem_alloc_heap().  Remove some redundant assertions.
      Pass page_zip to page_dir_split_slot().
      1aca6cad
  14. 27 Feb, 2006 1 commit
  15. 23 Feb, 2006 1 commit
  16. 17 Feb, 2006 1 commit
  17. 10 Feb, 2006 1 commit
    • marko's avatar
      branches/zip: Prepare for in-place updates of B-tree node pointers, · 12050c5c
      marko authored
      BLOB pointers, trx_id, and roll_ptr.
      
      btr_empty(), btr_create(), page_create(): Add parameter "index", as some
      index information will be encoded on the compressed page.
      
      Define REC_NODE_PTR_SIZE as 4.
      
      Allow btr_page_reorganize() and btr_page_reorganize_low() to fail.
      
      Define the error code DB_ZIP_OVERFLOW.
      
      Make row_ins_index_entry_low() static.
      
      page0zip: Encode the index, log reorganized records, and store uncompressed
      fields separately from the compressed data stream.
      12050c5c
  18. 18 Nov, 2005 1 commit
  19. 27 Oct, 2005 2 commits