diff --git a/rocksdb/_rocksdb.pyx b/rocksdb/_rocksdb.pyx index b3816f98c8bab017630457a066a180a4a5b8426c..e7915e4e13ae08ad2598810e5c12fc9daac6b45d 100644 --- a/rocksdb/_rocksdb.pyx +++ b/rocksdb/_rocksdb.pyx @@ -206,7 +206,6 @@ cdef class PyGenericFilterPolicy(PyFilterPolicy): self.policy = <filter_policy.FilterPolicy*> new filter_policy.FilterPolicyWrapper( bytes_to_string(ob.name()), <void*>ob, - <void*>ob, create_filter_callback, key_may_match_callback) diff --git a/rocksdb/cpp/filter_policy_wrapper.hpp b/rocksdb/cpp/filter_policy_wrapper.hpp index 3b3e92d08323f38d1fd748706adf4e02734f041e..6b88f1d65f58a1e07189233f2fdf351183ba1592 100644 --- a/rocksdb/cpp/filter_policy_wrapper.hpp +++ b/rocksdb/cpp/filter_policy_wrapper.hpp @@ -20,13 +20,11 @@ namespace py_rocks { FilterPolicyWrapper( string name, - void* create_filter_context, - void* key_may_match_context, + void* ctx, create_filter_func create_filter_callback, key_may_match_func key_may_match_callback): name(name), - create_filter_context(create_filter_context), - key_may_match_context(key_may_match_context), + ctx(ctx), create_filter_callback(create_filter_callback), key_may_match_callback(key_may_match_callback) {} @@ -34,7 +32,7 @@ namespace py_rocks { void CreateFilter(const Slice* keys, int n, std::string* dst) const { this->create_filter_callback( - this->create_filter_context, + this->ctx, keys, n, dst); @@ -43,7 +41,7 @@ namespace py_rocks { bool KeyMayMatch(const Slice& key, const Slice& filter) const { return this->key_may_match_callback( - this->key_may_match_context, + this->ctx, key, filter); } @@ -54,8 +52,7 @@ namespace py_rocks { private: string name; - void* create_filter_context; - void* key_may_match_context; + void* ctx; create_filter_func create_filter_callback; key_may_match_func key_may_match_callback; }; diff --git a/rocksdb/filter_policy.pxd b/rocksdb/filter_policy.pxd index 190fb56d23be429ebeeeb1ede734f82cc6d5d647..52e0636b2e8e3f55ceb0d2095b39b46a1ebb6295 100644 --- a/rocksdb/filter_policy.pxd +++ b/rocksdb/filter_policy.pxd @@ -19,6 +19,5 @@ cdef extern from "cpp/filter_policy_wrapper.hpp" namespace "py_rocks": FilterPolicyWrapper( string, void*, - void*, create_filter_func, key_may_match_func) nogil except+