• Y
    [RocksDB Options File] Add TableOptions section and support BlockBasedTable · 0bb8ea56
    Yueh-Hsuan Chiang 提交于
    Summary:
    Introduce TableOptions section and support BlockBasedTable in RocksDB
    options file.  A TableOptions section has the following format:
    
      [TableOptions/<FactoryClassName> "<ColumnFamily Name>"]
    
    which includes information about its TableFactory class and belonging
    column family.  Below is an example TableOptions section of a
    BlockBasedTableOptions that belongs to the default column family:
    
      [TableOptions/BlockBasedTable "default"]
        format_version=0
        whole_key_filtering=true
        block_size_deviation=10
        block_size=4096
        block_restart_interval=16
        filter_policy=nullptr
        no_block_cache=false
        checksum=kCRC32c
        cache_index_and_filter_blocks=false
        index_type=kBinarySearch
        hash_index_allow_collision=true
        flush_block_policy_factory=FlushBlockBySizePolicyFactory
    
    Currently, Cache-type options (i.e., block_cache and block_cache_compressed)
    are not supported.
    
    Test Plan: options_test
    
    Reviewers: igor, anthony, IslamAbdelRahman, sdong
    
    Reviewed By: sdong
    
    Subscribers: dhruba, leveldb
    
    Differential Revision: https://reviews.facebook.net/D48435
    0bb8ea56
options_helper.h 21.0 KB