Skip to content

Commit

Permalink
fix: deal with several warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
jansegre committed Feb 22, 2025
1 parent bf20fa8 commit f177510
Show file tree
Hide file tree
Showing 12 changed files with 102 additions and 106 deletions.
44 changes: 20 additions & 24 deletions rocksdb/_rocksdb.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,6 @@ import weakref
cdef extern from "cpp/utils.hpp" namespace "py_rocks":
cdef const Slice* vector_data(vector[Slice]&)

# Prepare python for threaded usage.
# Python callbacks (merge, comparator)
# could be executed in a rocksdb background thread (eg. compaction).
cdef extern from "Python.h":
void PyEval_InitThreads()
PyEval_InitThreads()

## Here comes the stuff to wrap the status to exception
cdef check_status(const Status& st):
if st.ok():
Expand Down Expand Up @@ -100,19 +93,20 @@ cdef check_status(const Status& st):


cdef string bytes_to_string(path) except *:
return string(PyBytes_AsString(path), PyBytes_Size(path))
return string(PyBytes_AsString(path), <size_t> PyBytes_Size(path))

cdef string_to_bytes(string ob):
return PyBytes_FromStringAndSize(ob.c_str(), ob.size())
return PyBytes_FromStringAndSize(ob.c_str(), <Py_ssize_t> ob.size())

cdef Slice bytes_to_slice(ob) except *:
return Slice(PyBytes_AsString(ob), PyBytes_Size(ob))
return Slice(PyBytes_AsString(ob), <size_t> PyBytes_Size(ob))

cdef Slice* bytes_to_new_slice(ob) except *:
return new Slice(PyBytes_AsString(ob), PyBytes_Size(ob))
# XXX: unused
#cdef Slice* bytes_to_new_slice(ob) except *:
# return new Slice(PyBytes_AsString(ob), <size_t> PyBytes_Size(ob))

cdef slice_to_bytes(Slice sl):
return PyBytes_FromStringAndSize(sl.data(), sl.size())
return PyBytes_FromStringAndSize(sl.data(), <Py_ssize_t> sl.size())

## only for filsystem paths
cdef string path_to_string(object path) except *:
Expand All @@ -126,7 +120,7 @@ cdef string path_to_string(object path) except *:

cdef object string_to_path(string path):
fs_encoding = sys.getfilesystemencoding().encode('ascii')
return PyUnicode_Decode(path.c_str(), path.size(), fs_encoding, "replace")
return PyUnicode_Decode(path.c_str(), <Py_ssize_t> path.size(), fs_encoding, "replace")

## Here comes the stuff for the comparator
@cython.internal
Expand Down Expand Up @@ -311,7 +305,7 @@ cdef cpp_bool full_merge_callback(
ret = (<object>ctx).full_merge(
slice_to_bytes(key),
py_existing_value,
[string_to_bytes(op_list[i]) for i in range(op_list.size())])
[string_to_bytes(op_list[i]) for i in range(<size_t> op_list.size())])

if ret[0]:
new_value.assign(bytes_to_string(ret[1]))
Expand Down Expand Up @@ -524,7 +518,7 @@ cdef class BlockBasedTableFactory(PyTableFactory):
table_options.cache_index_and_filter_blocks = False

if format_version is not None:
table_options.format_version = format_version
table_options.format_version = <uint32_t> format_version

self.factory.reset(table_factory.NewBlockBasedTableFactory(table_options))

Expand Down Expand Up @@ -641,7 +635,7 @@ cdef class _ColumnFamilyHandle:

@property
def id(self):
return self.handle.GetID()
return <int> self.handle.GetID()

@property
def weakref(self):
Expand Down Expand Up @@ -1378,7 +1372,7 @@ cdef class WriteBatch(object):
return string_to_bytes(self.batch.Data())

def count(self):
return self.batch.Count()
return <int> self.batch.Count()

def __iter__(self):
return WriteBatchIterator(self)
Expand Down Expand Up @@ -1706,7 +1700,7 @@ cdef class DB(object):
keys = list(dict.fromkeys(keys))

cdef vector[string] values
values.resize(len(keys))
values.resize(<size_t> len(keys))

cdef db.ColumnFamilyHandle* cf_handle
cdef vector[db.ColumnFamilyHandle*] cf_handles
Expand Down Expand Up @@ -1734,7 +1728,8 @@ cdef class DB(object):
cdef dict ret_dict = {}
cdef list ret_list = []
if as_dict:
for index in range(len(keys)):
for index in range(<size_t> len(keys)):
index = <size_t> index
if res[index].ok():
ret_dict[keys[index]] = string_to_bytes(values[index])
elif res[index].IsNotFound():
Expand All @@ -1744,7 +1739,8 @@ cdef class DB(object):

return ret_dict
else:
for index in range(len(keys)):
for index in range(<size_t> len(keys)):
index = <size_t> index
if res[index].ok():
ret_list.append(string_to_bytes(values[index]))
elif res[index].IsNotFound():
Expand Down Expand Up @@ -1842,7 +1838,7 @@ cdef class DB(object):

def iterskeys(self, column_families, *args, **kwargs):
cdef vector[db.Iterator*] iters
iters.resize(len(column_families))
iters.resize(<size_t> len(column_families))
cdef options.ReadOptions opts
cdef db.Iterator* it_ptr
cdef KeysIterator it
Expand All @@ -1867,7 +1863,7 @@ cdef class DB(object):

def itersvalues(self, column_families, *args, **kwargs):
cdef vector[db.Iterator*] iters
iters.resize(len(column_families))
iters.resize(<size_t> len(column_families))
cdef options.ReadOptions opts
cdef db.Iterator* it_ptr
cdef ValuesIterator it
Expand All @@ -1891,7 +1887,7 @@ cdef class DB(object):

def iterskeys(self, column_families, *args, **kwargs):
cdef vector[db.Iterator*] iters
iters.resize(len(column_families))
iters.resize(<size_t> len(column_families))
cdef options.ReadOptions opts
cdef db.Iterator* it_ptr
cdef ItemsIterator it
Expand Down
6 changes: 3 additions & 3 deletions rocksdb/comparator.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ cdef extern from "rocksdb/comparator.h" namespace "rocksdb":
const char* Name()
int Compare(const Slice&, const Slice&) const

cdef extern const Comparator* BytewiseComparator() nogil except +
cdef extern const Comparator* BytewiseComparator() except + nogil

ctypedef int (*compare_func)(
void*,
Expand All @@ -19,5 +19,5 @@ ctypedef int (*compare_func)(

cdef extern from "cpp/comparator_wrapper.hpp" namespace "py_rocks":
cdef cppclass ComparatorWrapper:
ComparatorWrapper(string, void*, compare_func) nogil except +
void set_info_log(shared_ptr[Logger]) nogil except+
ComparatorWrapper(string, void*, compare_func) except + nogil
void set_info_log(shared_ptr[Logger]) except+ nogil
104 changes: 52 additions & 52 deletions rocksdb/db.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,18 @@ from .iterator cimport Iterator

cdef extern from "rocksdb/write_batch.h" namespace "rocksdb":
cdef cppclass WriteBatch:
WriteBatch() nogil except+
WriteBatch(string) nogil except+
void Put(const Slice&, const Slice&) nogil except+
void Put(ColumnFamilyHandle*, const Slice&, const Slice&) nogil except+
void Merge(const Slice&, const Slice&) nogil except+
void Merge(ColumnFamilyHandle*, const Slice&, const Slice&) nogil except+
void Delete(const Slice&) nogil except+
void Delete(ColumnFamilyHandle*, const Slice&) nogil except+
void PutLogData(const Slice&) nogil except+
void Clear() nogil except+
const string& Data() nogil except+
int Count() nogil except+
WriteBatch() except+ nogil
WriteBatch(string) except+ nogil
void Put(const Slice&, const Slice&) except+ nogil
void Put(ColumnFamilyHandle*, const Slice&, const Slice&) except+ nogil
void Merge(const Slice&, const Slice&) except+ nogil
void Merge(ColumnFamilyHandle*, const Slice&, const Slice&) except+ nogil
void Delete(const Slice&) except+ nogil
void Delete(ColumnFamilyHandle*, const Slice&) except+ nogil
void PutLogData(const Slice&) except+ nogil
void Clear() except+ nogil
const string& Data() except+ nogil
uint32_t Count() except+ nogil

cdef extern from "cpp/write_batch_iter_helper.hpp" namespace "py_rocks":
cdef enum BatchItemOp "RecordItemsHandler::Optype":
Expand Down Expand Up @@ -81,120 +81,120 @@ cdef extern from "rocksdb/db.h" namespace "rocksdb":
const options.WriteOptions&,
ColumnFamilyHandle*,
const Slice&,
const Slice&) nogil except+
const Slice&) except+ nogil

Status Delete(
const options.WriteOptions&,
ColumnFamilyHandle*,
const Slice&) nogil except+
const Slice&) except+ nogil

Status Merge(
const options.WriteOptions&,
ColumnFamilyHandle*,
const Slice&,
const Slice&) nogil except+
const Slice&) except+ nogil

Status Write(
const options.WriteOptions&,
WriteBatch*) nogil except+
WriteBatch*) except+ nogil

Status Get(
const options.ReadOptions&,
ColumnFamilyHandle*,
const Slice&,
string*) nogil except+
string*) except+ nogil

vector[Status] MultiGet(
const options.ReadOptions&,
const vector[ColumnFamilyHandle*]&,
const vector[Slice]&,
vector[string]*) nogil except+
vector[string]*) except+ nogil

cpp_bool KeyMayExist(
const options.ReadOptions&,
ColumnFamilyHandle*,
Slice&,
string*,
cpp_bool*) nogil except+
cpp_bool*) except+ nogil

cpp_bool KeyMayExist(
const options.ReadOptions&,
ColumnFamilyHandle*,
Slice&,
string*) nogil except+
string*) except+ nogil

Iterator* NewIterator(
const options.ReadOptions&,
ColumnFamilyHandle*) nogil except+
ColumnFamilyHandle*) except+ nogil

void NewIterators(
const options.ReadOptions&,
vector[ColumnFamilyHandle*]&,
vector[Iterator*]*) nogil except+
vector[Iterator*]*) except+ nogil

const Snapshot* GetSnapshot() nogil except+
const Snapshot* GetSnapshot() except+ nogil

void ReleaseSnapshot(const Snapshot*) nogil except+
void ReleaseSnapshot(const Snapshot*) except+ nogil

cpp_bool GetProperty(
ColumnFamilyHandle*,
const Slice&,
string*) nogil except+
string*) except+ nogil

void GetApproximateSizes(
ColumnFamilyHandle*,
const Range*
int,
uint64_t*) nogil except+
uint64_t*) except+ nogil

Status CompactRange(
const options.CompactRangeOptions&,
ColumnFamilyHandle*,
const Slice*,
const Slice*) nogil except+
const Slice*) except+ nogil

Status CreateColumnFamily(
const options.ColumnFamilyOptions&,
const string&,
ColumnFamilyHandle**) nogil except+
ColumnFamilyHandle**) except+ nogil

Status DropColumnFamily(
ColumnFamilyHandle*) nogil except+

int NumberLevels(ColumnFamilyHandle*) nogil except+
int MaxMemCompactionLevel(ColumnFamilyHandle*) nogil except+
int Level0StopWriteTrigger(ColumnFamilyHandle*) nogil except+
const string& GetName() nogil except+
const options.Options& GetOptions(ColumnFamilyHandle*) nogil except+
Status Flush(const options.FlushOptions&, ColumnFamilyHandle*) nogil except+
Status DisableFileDeletions() nogil except+
Status EnableFileDeletions() nogil except+
Status Close() nogil except+
ColumnFamilyHandle*) except+ nogil

int NumberLevels(ColumnFamilyHandle*) except+ nogil
int MaxMemCompactionLevel(ColumnFamilyHandle*) except+ nogil
int Level0StopWriteTrigger(ColumnFamilyHandle*) except+ nogil
const string& GetName() except+ nogil
const options.Options& GetOptions(ColumnFamilyHandle*) except+ nogil
Status Flush(const options.FlushOptions&, ColumnFamilyHandle*) except+ nogil
Status DisableFileDeletions() except+ nogil
Status EnableFileDeletions() except+ nogil
Status Close() except+ nogil

# TODO: Status GetSortedWalFiles(VectorLogPtr& files)
# TODO: SequenceNumber GetLatestSequenceNumber()
# TODO: Status GetUpdatesSince(
# SequenceNumber seq_number,
# unique_ptr[TransactionLogIterator]*)

Status DeleteFile(string) nogil except+
void GetLiveFilesMetaData(vector[LiveFileMetaData]*) nogil except+
void GetColumnFamilyMetaData(ColumnFamilyHandle*, ColumnFamilyMetaData*) nogil except+
Status DeleteFile(string) except+ nogil
void GetLiveFilesMetaData(vector[LiveFileMetaData]*) except+ nogil
void GetColumnFamilyMetaData(ColumnFamilyHandle*, ColumnFamilyMetaData*) except+ nogil
ColumnFamilyHandle* DefaultColumnFamily()
Status TryCatchUpWithPrimary() nogil except+


cdef Status DB_Open "rocksdb::DB::Open"(
const options.Options&,
const string&,
DB**) nogil except+
DB**) except+ nogil

cdef Status DB_Open_ColumnFamilies "rocksdb::DB::Open"(
const options.Options&,
const string&,
const vector[ColumnFamilyDescriptor]&,
vector[ColumnFamilyHandle*]*,
DB**) nogil except+
DB**) except+ nogil

cdef Status DB_OpenAsSecondary "rocksdb::DB::OpenAsSecondary"(
const options.Options&,
Expand All @@ -214,34 +214,34 @@ cdef extern from "rocksdb/db.h" namespace "rocksdb":
const options.Options&,
const string&,
DB**,
cpp_bool) nogil except+
cpp_bool) except+ nogil

cdef Status DB_OpenForReadOnly_ColumnFamilies "rocksdb::DB::OpenForReadOnly"(
const options.Options&,
const string&,
const vector[ColumnFamilyDescriptor]&,
vector[ColumnFamilyHandle*]*,
DB**,
cpp_bool) nogil except+
cpp_bool) except+ nogil

cdef Status RepairDB(const string& dbname, const options.Options&)

cdef Status ListColumnFamilies "rocksdb::DB::ListColumnFamilies" (
const options.Options&,
const string&,
vector[string]*) nogil except+
vector[string]*) except+ nogil

cdef cppclass ColumnFamilyHandle:
const string& GetName() nogil except+
int GetID() nogil except+
const string& GetName() except+ nogil
uint32_t GetID() except+ nogil

cdef cppclass ColumnFamilyDescriptor:
ColumnFamilyDescriptor() nogil except+
ColumnFamilyDescriptor() except+ nogil
ColumnFamilyDescriptor(
const string&,
const options.ColumnFamilyOptions&) nogil except+
const options.ColumnFamilyOptions&) except+ nogil
string name
options.ColumnFamilyOptions options

cdef extern from "rocksdb/convenience.h" namespace "rocksdb":
void CancelAllBackgroundWork(DB*, cpp_bool) nogil except+
void CancelAllBackgroundWork(DB*, cpp_bool) except+ nogil
Loading

0 comments on commit f177510

Please sign in to comment.