From bfb370fdc82cd066f56cbdaccabbf28e9be33515 Mon Sep 17 00:00:00 2001
From: hofmockel <dreagonfly@gmx.de>
Date: Sun, 27 Apr 2014 16:39:17 +0200
Subject: [PATCH] Add new option called verify_checksums_in_compaction

---
 docs/api/options.rst | 8 ++++++++
 rocksdb/_rocksdb.pyx | 6 ++++++
 rocksdb/options.pxd  | 1 +
 3 files changed, 15 insertions(+)

diff --git a/docs/api/options.rst b/docs/api/options.rst
index 3f8bc7c..5866cd0 100644
--- a/docs/api/options.rst
+++ b/docs/api/options.rst
@@ -617,6 +617,14 @@ Options object
         | *Type:* ``int``
         | *Default:* ``0``
 
+    .. py:attribute:: verify_checksums_in_compaction
+
+        If ``True``, compaction will verify checksum on every read that
+        happens as part of compaction.
+
+        | *Type:* ``bool``
+        | *Default:* ``True``
+
     .. py:attribute:: filter_deletes
 
         Use KeyMayExist API to filter deletes when this is true.
diff --git a/rocksdb/_rocksdb.pyx b/rocksdb/_rocksdb.pyx
index 41aafc4..b98340e 100644
--- a/rocksdb/_rocksdb.pyx
+++ b/rocksdb/_rocksdb.pyx
@@ -951,6 +951,12 @@ cdef class Options(object):
         def __set__(self, value):
             self.opts.bytes_per_sync = value
 
+    property verify_checksums_in_compaction:
+        def __get__(self):
+            return self.opts.verify_checksums_in_compaction
+        def __set__(self, value):
+            self.opts.verify_checksums_in_compaction = value
+
     property filter_deletes:
         def __get__(self):
             return self.opts.filter_deletes
diff --git a/rocksdb/options.pxd b/rocksdb/options.pxd
index 92eae21..f7f3b4e 100644
--- a/rocksdb/options.pxd
+++ b/rocksdb/options.pxd
@@ -98,6 +98,7 @@ cdef extern from "rocksdb/options.h" namespace "rocksdb":
         # TODO: enum { NONE, NORMAL, SEQUENTIAL, WILLNEED } access_hint_on_compaction_start
         cpp_bool use_adaptive_mutex
         uint64_t bytes_per_sync
+        cpp_bool verify_checksums_in_compaction
         # TODO: CompactionStyle compaction_style
         # TODO: CompactionOptionsUniversal compaction_options_universal
         cpp_bool filter_deletes
-- 
GitLab