This repository was archived by the owner on Sep 19, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathdb.pxd
More file actions
359 lines (298 loc) · 12.2 KB
/
Copy pathdb.pxd
File metadata and controls
359 lines (298 loc) · 12.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
from . cimport options
from libc.stdint cimport uint64_t, uint32_t
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 libcpp.map cimport map
from libcpp.unordered_map cimport unordered_map
from libcpp.memory cimport shared_ptr
from .types cimport SequenceNumber
from .slice_ cimport Slice
from .snapshot cimport Snapshot
from .iterator cimport Iterator
from .env cimport Env
from .metadata cimport ColumnFamilyMetaData
from .metadata cimport LiveFileMetaData
from .metadata cimport ExportImportFilesMetaData
from .table_properties cimport TableProperties
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+
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)
cdef extern from "rocksdb/db.h" namespace "rocksdb":
ctypedef uint64_t SequenceNumber
string kDefaultColumnFamilyName
#todo TableProperties
ctypedef unordered_map[string, shared_ptr[const TableProperties]] TablePropertiesCollection
cdef struct GetMergeOperandsOptions:
uint64_t expected_max_number_of_operands
cdef struct LiveFileMetaData:
string name
int level
uint64_t size
string smallestkey
string largestkey
SequenceNumber smallest_seqno
SequenceNumber largest_seqno
# 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 cppclass Range:
Range(const Slice&, const Slice&)
cdef cppclass DB:
Status Put(
const options.WriteOptions&,
ColumnFamilyHandle*,
const Slice&,
const Slice&) nogil except+
Status Delete(
const options.WriteOptions&,
ColumnFamilyHandle*,
const Slice&) nogil except+
Status DeleteRange(
const options.WriteOptions&,
ColumnFamilyHandle*,
const Slice&,
const Slice&) nogil except+
Status Merge(
const options.WriteOptions&,
ColumnFamilyHandle*,
const Slice&,
const Slice&) nogil except+
Status Write(
const options.WriteOptions&,
WriteBatch*) nogil except+
Status Get(
const options.ReadOptions&,
ColumnFamilyHandle*,
const Slice&,
string*) nogil except+
# Status GetMergeOperands(
# const options.ReadOptions&,
# ColumnFamilyHandle*,
# const Slice&,
# PinnableSlice*,
# GetMergeOperandsOptions*,
# uint64_t*) nogil except+;
vector[Status] MultiGet(
const options.ReadOptions&,
const vector[ColumnFamilyHandle*]&,
const vector[Slice]&,
vector[string]*) nogil except+
cpp_bool KeyMayExist(
const options.ReadOptions&,
ColumnFamilyHandle*,
Slice&,
string*,
cpp_bool*) nogil except+
cpp_bool KeyMayExist(
const options.ReadOptions&,
ColumnFamilyHandle*,
Slice&,
string*) nogil except+
Iterator* NewIterator(
const options.ReadOptions&,
ColumnFamilyHandle*) nogil except+
void NewIterators(
const options.ReadOptions&,
vector[ColumnFamilyHandle*]&,
vector[Iterator*]*) nogil except+
const Snapshot* GetSnapshot() nogil except+
void ReleaseSnapshot(const Snapshot*) nogil except+
cpp_bool GetProperty(
ColumnFamilyHandle*,
const Slice&,
string*) nogil except+
cpp_bool GetMapProperty(
ColumnFamilyHandle*,
const Slice&,
map[string, string]*) nogil except+
cpp_bool GetIntProperty(
ColumnFamilyHandle*,
const Slice&,
uint64_t*) nogil except+
Status ResetStats() nogil except+
cpp_bool GetAggregatedIntProperty(
const Slice&,
uint64_t*) nogil except+
void GetApproximateSizes(
ColumnFamilyHandle*,
const Range*
int,
uint64_t*) nogil except+
Status CompactRange(
const options.CompactRangeOptions&,
ColumnFamilyHandle*,
const Slice*,
const Slice*) nogil except+
Status SetOptions(
ColumnFamilyHandle*,
const unordered_map[string, string]&) nogil except+
Status EnableAutoCompaction(
const vector[ColumnFamilyHandle*]&) nogil except+
void DisableManualCompaction() nogil except+
void EnableManualCompaction() nogil except+
Status CreateColumnFamily(
const options.ColumnFamilyOptions&,
const string&,
ColumnFamilyHandle**) nogil except+
Status CreateColumnFamilies(
const options.ColumnFamilyOptions&,
const vector[string]&,
vector[ColumnFamilyHandle*]*) nogil except+
Status CreateColumnFamilies(
const vector[ColumnFamilyDescriptor]&,
vector[ColumnFamilyHandle*]*) nogil except+
Status DropColumnFamily(
ColumnFamilyHandle*) nogil except+
Status DropColumnFamilies(
vector[ColumnFamilyHandle*]*) nogil except+
Status DestroyColumnFamilyHandle(
ColumnFamilyHandle*) nogil except+
int NumberLevels(ColumnFamilyHandle*) nogil except+
int MaxMemCompactionLevel(ColumnFamilyHandle*) nogil except+
int Level0StopWriteTrigger(ColumnFamilyHandle*) nogil except+
const string& GetName() nogil except+
Env* GetEnv() nogil except+
# TODO Mandar FileSystem* GetFileSystem() nogil except+
const options.Options& GetOptions(ColumnFamilyHandle*) nogil except+
Status Flush(const options.FlushOptions&, ColumnFamilyHandle*) nogil except+
Status Flush(
const options.FlushOptions&,
const vector[ColumnFamilyHandle*]&) nogil except+
Status FlushWAL(bool_cpp) nogil except+
Status SyncWAL() nogil except+
Status LockWAL() nogil except+
Status UnlockWAL() nogil except+
SequenceNumber GetLatestSequenceNumber()
cpp_bool SetPreserveDeletesSequenceNumber(SequenceNumber) nogil except+
Status DisableFileDeletions() nogil except+
Status EnableFileDeletions() nogil except+
Status Close() nogil except+
Status Resume() nogil except+
Status PauseBackgroundWork() nogil except+
Status ContinueBackgroundWork() nogil except+
Status GetDbIdentity(string&) nogil except+
ColumnFamilyHandle* DefaultColumnFamily()
# Following defined for #ifndef ROCKDDB_LITE
Status GetLiveFiles(vector[string]&,
uint64_t*,
cpp_bool) nogil except+
# TODO: Status GetSortedWalFiles(VectorLogPtr& files)
# TODO: Status GetCurrentWalFile(std::unique_ptr<LogFile>*)
# TODO: Status GetUpdatesSince(
# SequenceNumber seq_number,
# unique_ptr[TransactionLogIterator]*,
# const TransactionLogIterator::ReadOptions&)
Status GetCreationTimeOfOldestFile(uint64_t*) nogil except+
Status DeleteFile(string) nogil except+
void GetLiveFilesMetaData(vector[LiveFileMetaData]*) nogil except+
void GetColumnFamilyMetaData(ColumnFamilyHandle*, ColumnFamilyMetaData*) nogil except+
Status IngestExternalFile(
ColumnFamilyHandle*,
const vector[string]&,
const options.IngestExternalFileOptions&) nogil except+
Status CreateColumnFamilyWithImport(
const options.ColumnFamilyOptions&,
const string&,
const options.ImportColumnFamilyOptions&,
const ExportImportFilesMetaData&,
ColumnFamilyHandle**) nogil except+
Status VerifyChecksum(const options.ReadOptions&) nogil except+
DB* GetRootDB() nogil except+
Status GetPropertiesOfAllTables(
ColumnFamilyHandle*,
TablePropertiesCollection*) nogil except+
Status GetPropertiesOfTablesInRange(
ColumnFamilyHandle*, const Range*, size_t,
TablePropertiesCollection*) nogil except+
Status SuggestCompactRange(ColumnFamilyHandle*,
const Slice*,
const Slice*) nogil except+
Status PromoteL0(ColumnFamilyHandle*, int) nogil except+
#TODO Status StartTrace(const TraceOptions&,
# std::unique_ptr<TraceWriter>&&) nogil except+
Status EndTrace() nogil except+
# TODO Status StartBlockCacheTrace(
# const TraceOptions&,
# std::unique_ptr<TraceWriter>&&) nogil except+
Status EndBlockCacheTrace() nogil except+
Status TryCatchUpWithPrimary() nogil except+
cdef Status DB_Open "rocksdb::DB::Open"(
const options.Options&,
const string&,
DB**) nogil except+
cdef Status DB_Open_ColumnFamilies "rocksdb::DB::Open"(
const options.Options&,
const string&,
const vector[ColumnFamilyDescriptor]&,
vector[ColumnFamilyHandle*]*,
DB**) nogil except+
cdef Status DB_OpenForReadOnly "rocksdb::DB::OpenForReadOnly"(
const options.Options&,
const string&,
DB**,
cpp_bool) nogil except+
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 DestroyDB(
const string&,
const options.Options&,
const vector[ColumnFamilyDescriptor]&) nogil except+
cdef Status RepairDB(const string& dbname, const options.Options&)
cdef Status RepairDB(const string& dbname, const options.Options&, const vector[ColumnFamilyDescriptor]&)
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
cdef extern from "rocksdb/convenience.h" namespace "rocksdb":
void CancelAllBackgroundWork(DB*, cpp_bool) nogil except+