diff --git a/storage/rocksdb/rdb_index_merge.h b/storage/rocksdb/rdb_index_merge.h index ce602c882ba760378551cde92f507218e586f632..9bdfc1d600f8f8ab8802fa9836dbaaaad3a61b84 100644 --- a/storage/rocksdb/rdb_index_merge.h +++ b/storage/rocksdb/rdb_index_merge.h @@ -45,4 +45,22 @@ class Rdb_tbl_def; class Rdb_index_merge { Rdb_index_merge(const Rdb_index_merge &p) = delete; - Rdb_index_merge &operator=(const Rdb_index_merge &p) = delete; \ No newline at end of file + Rdb_index_merge &operator=(const Rdb_index_merge &p) = delete; + + public: + /* Information about temporary files used in external merge sort */ + struct merge_file_info { + File m_fd = -1; /* file descriptor */ + ulong m_num_sort_buffers = 0; /* number of sort buffers in temp file */ + }; + + /* Buffer for sorting in main memory. */ + struct merge_buf_info { + /* heap memory allocated for main memory sort/merge */ + std::unique_ptr m_block; + const ulonglong + m_block_len; /* amount of data bytes allocated for block above */ + ulonglong m_curr_offset; /* offset of the record pointer for the block */ + ulonglong m_disk_start_offset; /* where the chunk starts on disk */ + ulonglong m_disk_curr_offset; /* current offset on disk */ + ulonglong m_total_size; /* total # of data bytes in chunk */ \ No newline at end of file