From 9133c81f9e0904a59f89fddec34cb3c3ccca75a4 Mon Sep 17 00:00:00 2001
From: hofmockel <dreagonfly@gmx.de>
Date: Fri, 24 Jan 2014 17:18:29 +0100
Subject: [PATCH] Get rid of the second context, not needed it is always the
 same

---
 rocksdb/_rocksdb.pyx                  |  1 -
 rocksdb/cpp/filter_policy_wrapper.hpp | 13 +++++--------
 rocksdb/filter_policy.pxd             |  1 -
 3 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/rocksdb/_rocksdb.pyx b/rocksdb/_rocksdb.pyx
index b3816f9..e7915e4 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 3b3e92d..6b88f1d 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 190fb56..52e0636 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+
-- 
GitLab