lbry-rocksdb/rocksdb/db.pxd

248 lines
7.9 KiB
Cython
Raw Normal View History

2020-09-03 08:51:11 +02:00
from . cimport options
from libc.stdint cimport uint64_t, uint32_t
2020-09-03 08:51:11 +02:00
from .status cimport Status
2014-01-13 19:52:22 +01:00
from libcpp cimport bool as cpp_bool
from libcpp.string cimport string
from libcpp.vector cimport vector
2020-09-03 08:51:11 +02:00
from .slice_ cimport Slice
from .snapshot cimport Snapshot
from .iterator cimport Iterator
2014-01-13 19:52:22 +01:00
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+
2014-01-13 19:52:22 +01:00
cdef extern from "cpp/write_batch_iter_helper.hpp" namespace "py_rocks":
cdef enum BatchItemOp "RecordItemsHandler::Optype":
BatchItemOpPut "py_rocks::RecordItemsHandler::Optype::PutRecord"
BatchItemOpMerge "py_rocks::RecordItemsHandler::Optype::MergeRecord"
BatchItemOpDelte "py_rocks::RecordItemsHandler::Optype::DeleteRecord"
cdef cppclass BatchItem "py_rocks::RecordItemsHandler::BatchItem":
BatchItemOp op
uint32_t column_family_id
Slice key
Slice value
Status get_batch_items(WriteBatch* batch, vector[BatchItem]* items)
2014-01-13 19:52:22 +01:00
cdef extern from "rocksdb/db.h" namespace "rocksdb":
ctypedef uint64_t SequenceNumber
string kDefaultColumnFamilyName
2014-01-13 19:52:22 +01:00
cdef struct LiveFileMetaData:
string name
int level
2015-04-12 14:09:02 +02:00
uint64_t size
2014-01-13 19:52:22 +01:00
string smallestkey
string largestkey
SequenceNumber smallest_seqno
SequenceNumber largest_seqno
2020-07-19 14:21:03 +02:00
# cdef struct SstFileMetaData:
# uint64_t size
# string name
# uint64_t file_number
# string db_path
# string smallestkey
# string largestkey
# SequenceNumber smallest_seqno
# SequenceNumber largest_seqno
# cdef struct LevelMetaData:
# int level
# uint64_t size
# string largestkey
# LiveFileMetaData files
cdef struct ColumnFamilyMetaData:
uint64_t size
uint64_t file_count
# string largestkey
# LevelMetaData levels
2014-01-13 19:52:22 +01:00
cdef cppclass Range:
Range(const Slice&, const Slice&)
cdef cppclass DB:
Status Put(
const options.WriteOptions&,
ColumnFamilyHandle*,
2014-01-13 19:52:22 +01:00
const Slice&,
const Slice&) nogil except+
2014-01-13 19:52:22 +01:00
Status Delete(
const options.WriteOptions&,
ColumnFamilyHandle*,
const Slice&) nogil except+
2014-01-13 19:52:22 +01:00
Status Merge(
const options.WriteOptions&,
ColumnFamilyHandle*,
2014-01-13 19:52:22 +01:00
const Slice&,
const Slice&) nogil except+
2014-01-13 19:52:22 +01:00
Status Write(
const options.WriteOptions&,
WriteBatch*) nogil except+
2014-01-13 19:52:22 +01:00
Status Get(
const options.ReadOptions&,
ColumnFamilyHandle*,
2014-01-13 19:52:22 +01:00
const Slice&,
string*) nogil except+
2014-01-13 19:52:22 +01:00
vector[Status] MultiGet(
const options.ReadOptions&,
const vector[ColumnFamilyHandle*]&,
2014-01-13 19:52:22 +01:00
const vector[Slice]&,
vector[string]*) nogil except+
2014-01-13 19:52:22 +01:00
cpp_bool KeyMayExist(
const options.ReadOptions&,
ColumnFamilyHandle*,
2014-01-13 19:52:22 +01:00
Slice&,
string*,
cpp_bool*) nogil except+
2014-01-13 19:52:22 +01:00
cpp_bool KeyMayExist(
const options.ReadOptions&,
ColumnFamilyHandle*,
2014-01-13 19:52:22 +01:00
Slice&,
string*) nogil except+
2014-01-13 19:52:22 +01:00
Iterator* NewIterator(
const options.ReadOptions&,
ColumnFamilyHandle*) nogil except+
void NewIterators(
const options.ReadOptions&,
vector[ColumnFamilyHandle*]&,
vector[Iterator*]*) nogil except+
2014-01-13 19:52:22 +01:00
const Snapshot* GetSnapshot() nogil except+
2014-01-13 19:52:22 +01:00
void ReleaseSnapshot(const Snapshot*) nogil except+
2014-01-13 19:52:22 +01:00
cpp_bool GetProperty(
ColumnFamilyHandle*,
2014-01-13 19:52:22 +01:00
const Slice&,
string*) nogil except+
2014-01-13 19:52:22 +01:00
void GetApproximateSizes(
ColumnFamilyHandle*,
2014-01-13 19:52:22 +01:00
const Range*
int,
uint64_t*) nogil except+
2014-01-13 19:52:22 +01:00
Status CompactRange(
const options.CompactRangeOptions&,
ColumnFamilyHandle*,
2014-01-13 19:52:22 +01:00
const Slice*,
const Slice*) nogil except+
2014-01-13 19:52:22 +01:00
Status CreateColumnFamily(
const options.ColumnFamilyOptions&,
const string&,
ColumnFamilyHandle**) nogil except+
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+
2020-09-03 08:51:11 +02:00
Status Close() nogil except+
Status TryCatchUpWithPrimary() nogil except+
2014-01-13 19:52:22 +01:00
# 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+
2020-07-19 14:21:03 +02:00
void GetColumnFamilyMetaData(ColumnFamilyHandle*, ColumnFamilyMetaData*) nogil except+
ColumnFamilyHandle* DefaultColumnFamily()
2014-01-13 19:52:22 +01:00
cdef Status DB_Open "rocksdb::DB::Open"(
const options.Options&,
const string&,
DB**) nogil except+
2014-01-13 19:52:22 +01:00
cdef Status DB_Open_ColumnFamilies "rocksdb::DB::Open"(
const options.Options&,
const string&,
const vector[ColumnFamilyDescriptor]&,
vector[ColumnFamilyHandle*]*,
DB**) nogil except+
2014-01-13 19:52:22 +01:00
cdef Status DB_OpenForReadOnly "rocksdb::DB::OpenForReadOnly"(
const options.Options&,
const string&,
DB**,
cpp_bool) nogil except+
2015-08-15 16:34:35 +02:00
cdef Status DB_OpenForReadOnly_ColumnFamilies "rocksdb::DB::OpenForReadOnly"(
const options.Options&,
const string&,
const vector[ColumnFamilyDescriptor]&,
vector[ColumnFamilyHandle*]*,
DB**,
cpp_bool) nogil except+
cdef Status DB_OpenAsSecondary "rocksdb::DB::OpenAsSecondary"(
const options.Options&,
const string&,
const string&,
DB**) nogil except+
cdef Status DB_OpenAsSecondary_ColumnFamilies "rocksdb::DB::OpenAsSecondary"(
const options.Options&,
const string&,
const string&,
const vector[ColumnFamilyDescriptor]&,
vector[ColumnFamilyHandle*]*,
DB**) nogil except+
2015-08-15 16:34:35 +02:00
cdef Status RepairDB(const string& dbname, const options.Options&)
cdef Status ListColumnFamilies "rocksdb::DB::ListColumnFamilies" (
const options.Options&,
const string&,
vector[string]*) nogil except+
cdef cppclass ColumnFamilyHandle:
const string& GetName() nogil except+
int GetID() nogil except+
cdef cppclass ColumnFamilyDescriptor:
ColumnFamilyDescriptor() nogil except+
ColumnFamilyDescriptor(
const string&,
const options.ColumnFamilyOptions&) nogil except+
string name
options.ColumnFamilyOptions options
2020-03-12 20:51:57 +01:00
cdef extern from "rocksdb/convenience.h" namespace "rocksdb":
void CancelAllBackgroundWork(DB*, cpp_bool) nogil except+