| 
    MiniOB 1
    
   MiniOB is one mini database, helping developers to learn how database works. 
   | 
 
Build a SSTable 更多...
#include <ob_sstable_builder.h>
Public 成员函数 | |
| ObSSTableBuilder (const ObComparator *comparator, ObLRUCache< uint64_t, shared_ptr< ObBlock > > *block_cache) | |
| RC | build (shared_ptr< ObMemTable > mem_table, const string &file_name, uint32_t sst_id) | 
| Builds an SSTable from the provided in-memory table and stores it in a file.  更多... | |
| size_t | file_size () const | 
| shared_ptr< ObSSTable > | get_built_table () | 
| void | reset () | 
Private 成员函数 | |
| void | finish_build_block () | 
Private 属性 | |
| const ObComparator * | comparator_ = nullptr | 
| ObBlockBuilder | block_builder_ | 
| string | curr_blk_first_key_ | 
| unique_ptr< ObFileWriter > | file_writer_ | 
| vector< BlockMeta > | block_metas_ | 
| uint32_t | curr_offset_ = 0 | 
| uint32_t | sst_id_ = 0 | 
| size_t | file_size_ = 0 | 
| ObLRUCache< uint64_t, shared_ptr< ObBlock > > * | block_cache_ = nullptr | 
Build a SSTable
| RC oceanbase::ObSSTableBuilder::build | ( | shared_ptr< ObMemTable > | mem_table, | 
| const string & | file_name, | ||
| uint32_t | sst_id | ||
| ) | 
Builds an SSTable from the provided in-memory table and stores it in a file.
This function takes an ObMemTable as input, partitions the data into blocks, serializes the blocks, and writes them into an SSTable file.
| mem_table | A shared pointer to the ObMemTable containing the data to be written into the SSTable.  | 
| file_name | The name of the file where the constructed SSTable will be stored. | 
| sst_id | A unique identifier assigned to the created SSTable. |