diff --git a/rocksdb/db.pxd b/rocksdb/db.pxd index e5c239cd6b97ffa42c1592988b0bc82e83333524..6cc4d11275e4ceefacf49771e1c4577a5967c7fc 100644 --- a/rocksdb/db.pxd +++ b/rocksdb/db.pxd @@ -4,6 +4,7 @@ from .status cimport Status from libcpp cimport bool as cpp_bool from libcpp.string cimport string from libcpp.vector cimport vector +from .types cimport SequenceNumber from .slice_ cimport Slice from .snapshot cimport Snapshot from .iterator cimport Iterator @@ -39,7 +40,6 @@ cdef extern from "cpp/write_batch_iter_helper.hpp" namespace "py_rocks": cdef extern from "rocksdb/db.h" namespace "rocksdb": - ctypedef uint64_t SequenceNumber string kDefaultColumnFamilyName cdef struct LiveFileMetaData: diff --git a/rocksdb/types.pxd b/rocksdb/types.pxd new file mode 100644 index 0000000000000000000000000000000000000000..b8c9ca98bd644de835da33fdd959f4326e225d56 --- /dev/null +++ b/rocksdb/types.pxd @@ -0,0 +1,28 @@ +from libc.stdint cimport uint64_t, uint32_t +from .slice_ cimport Slice +from libcpp.string cimport string +from libcpp cimport bool as cpp_bool + +cdef extern from "rocksdb/types.h" namespace "rocksdb": + ctypedef uint64_t SequenceNumber + + cdef enum EntryType: + kEntryPut + kEntryDelete + kEntrySingleDelete + kEntryMerge + kEntryRangeDeletion + kEntryBlobIndex + kEntryOther + + cdef cppclass FullKey: + Slice user_key + SequenceNumber sequence + EntryType type + + FullKey() except+ + FullKey(const Slice&, const SequenceNumber&, EntryType) except+ + string DebugString(cpp_bool hex) nogil except+ + void clear() nogil except+ + + cpp_bool ParseFullKey(const Slice&, FullKey*)