|
| 1 | +from libcpp cimport bool as cpp_bool |
| 2 | +from libcpp.string cimport string |
| 3 | +from libcpp.vector cimport vector |
| 4 | +from libcpp.memory cimport unique_ptr |
| 5 | +from libc.stdint cimport uint32_t |
| 6 | +from .slice_ cimport Slice |
| 7 | + |
| 8 | +cdef extern from "rocksdb/compaction_filter.h" namespace "rocksdb": |
| 9 | + cdef cppclass CompactionFilterContext: |
| 10 | + cpp_bool is_full_compaction |
| 11 | + cpp_bool is_manual_compaction |
| 12 | + |
| 13 | + cdef enum ValueType "rocksdb::CompactionFilter::ValueType": |
| 14 | + ValueType_kValue "rocksdb::CompactionFilter::ValueType::kValue" |
| 15 | + ValueType_kMergeOperand "rocksdb::CompactionFilter::ValueType::kMergeOperand" |
| 16 | + ValueType_kBlobIndex "rocksdb::CompactionFilter::ValueType::kBlobIndex" |
| 17 | + |
| 18 | + cdef enum Decision "rocksdb::CompactionFilter::Decision": |
| 19 | + Decision_kKeep "rocksdb::CompactionFilter::Decision::kKeep" |
| 20 | + Decision_kRemove "rocksdb::CompactionFilter::Decision::kRemove" |
| 21 | + Decision_kChangeValue "rocksdb::CompactionFilter::Decision::kChangeValue" |
| 22 | + Decision_kRemoveAndSkipUntil "rocksdb::CompactionFilter::Decision::kRemoveAndSkipUntil" |
| 23 | + |
| 24 | + cdef enum BlobDecision "rocksdb::CompactionFilter::BlobDecision": |
| 25 | + BlobDecision_kKeep "rocksdb::CompactionFilter::BlobDecision::kKeep" |
| 26 | + BlobDecision_kChangeValue "rocksdb::CompactionFilter::BlobDecision::kChangeValue" |
| 27 | + BlobDecision_kCorruption "rocksdb::CompactionFilter::BlobDecision::kCorruption" |
| 28 | + BlobDecision_kIOError "rocksdb::CompactionFilter::BlobDecision::kIOError" |
| 29 | + |
| 30 | + cdef cppclass Context "rocksdb::CompactionFilter::Context": |
| 31 | + cpp_bool is_full_compaction |
| 32 | + cpp_bool is_manual_compaction |
| 33 | + uint32_t column_family_id |
| 34 | + |
| 35 | + cdef cppclass CompactionFilter: |
| 36 | + cpp_bool Filter(int, const Slice&, |
| 37 | + const Slice&, |
| 38 | + string*, |
| 39 | + cpp_bool*) nogil except+ |
| 40 | + cpp_bool FilterMergeOperand(int, const Slice&, |
| 41 | + const Slice&) nogil except+ |
| 42 | + Decision FilterV2(int level, const Slice&, ValueType, |
| 43 | + const Slice&, string*, |
| 44 | + string*) |
| 45 | + BlobDecision PrepareBlobOutput(const Slice&, |
| 46 | + const Slice&, |
| 47 | + string*) |
| 48 | + cpp_bool IgnoreSnapshots() |
| 49 | + const char* Name() |
| 50 | + |
| 51 | + cdef cppclass CompactionFilterFactory: |
| 52 | + unique_ptr[CompactionFilter] CreateCompactionFilter( |
| 53 | + const Context&) |
| 54 | + const char* Name() |
0 commit comments