• D
    [rocksdb] new CompactionFilterV2 API · b47812fb
    Danny Guo 提交于
    Summary:
    This diff adds a new CompactionFilterV2 API that roll up the
    decisions of kv pairs during compactions. These kv pairs must share the
    same key prefix. They are buffered inside the db.
    
        typedef std::vector<Slice> SliceVector;
        virtual std::vector<bool> Filter(int level,
                                     const SliceVector& keys,
                                     const SliceVector& existing_values,
                                     std::vector<std::string>* new_values,
                                     std::vector<bool>* values_changed
                                     ) const = 0;
    
    Application can override the Filter() function to operate
    on the buffered kv pairs. More details in the inline documentation.
    
    Test Plan:
    make check. Added unit tests to make sure Keep, Delete,
    Change all works.
    
    Reviewers: haobo
    
    CCs: leveldb
    
    Differential Revision: https://reviews.facebook.net/D15087
    b47812fb
可在Tags中查看这些版本中当前仓库的状态.
HISTORY.md 3.7 KB