leveldb 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +69 -46
- data/lib/fiddler.rb +77 -0
- data/lib/leveldb/batch.rb +60 -0
- data/lib/leveldb/db.rb +199 -0
- data/lib/leveldb/iterator.rb +126 -0
- data/lib/leveldb/snapshot.rb +19 -0
- data/lib/leveldb/version.rb +2 -2
- data/lib/leveldb.rb +4 -1004
- data/lib/native.rb +86 -0
- data/test/helper.rb +6 -0
- data/test/test_batch.rb +43 -0
- data/test/test_db.rb +58 -0
- data/test/test_iterator.rb +120 -0
- data/test/test_snapshot.rb +37 -0
- metadata +30 -14
data/lib/leveldb.rb
CHANGED
@@ -1,1006 +1,6 @@
|
|
1
|
-
require '
|
2
|
-
|
3
|
-
module Leveldb
|
4
|
-
extend FFI::Library
|
5
|
-
ffi_lib File.expand_path("../../ext/leveldb/libleveldb.#{FFI::Platform::LIBSUFFIX}", __FILE__)
|
6
|
-
|
7
|
-
class FFI::Struct
|
8
|
-
def self.release(pointer)
|
9
|
-
Leveldb.free(pointer) unless pointer.null?
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
class Err
|
14
|
-
def initialize
|
15
|
-
@_err = FFI::MemoryPointer.new(:pointer, 1)
|
16
|
-
end
|
17
|
-
|
18
|
-
def ptr
|
19
|
-
@_err.read_pointer
|
20
|
-
end
|
21
|
-
|
22
|
-
def to_ptr
|
23
|
-
@_err
|
24
|
-
end
|
25
|
-
|
26
|
-
def null?
|
27
|
-
ptr.null?
|
28
|
-
end
|
29
|
-
|
30
|
-
def message
|
31
|
-
ptr.read_string
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
def err_create
|
36
|
-
Err.new
|
37
|
-
end
|
38
|
-
|
39
|
-
def read_len
|
40
|
-
FFI::MemoryPointer.new(:size_t)
|
41
|
-
end
|
42
|
-
|
43
|
-
##
|
44
|
-
# Writing FFI::Gen::Enum
|
45
|
-
#
|
46
|
-
##
|
47
|
-
# Writing FFI::Gen::StructOrUnion
|
48
|
-
#
|
49
|
-
# (Not documented)
|
50
|
-
class DB < FFI::Struct
|
51
|
-
layout :dummy, :char
|
52
|
-
|
53
|
-
def close
|
54
|
-
Leveldb.close(self)
|
55
|
-
end
|
56
|
-
|
57
|
-
def self.release
|
58
|
-
# free by #close
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
# (Not documented)
|
63
|
-
module ComparatorWrappers
|
64
|
-
# @return [nil]
|
65
|
-
def destroy()
|
66
|
-
Leveldb.comparator_destroy(self)
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
class Comparator < FFI::Struct
|
71
|
-
include ComparatorWrappers
|
72
|
-
layout :dummy, :char
|
73
|
-
end
|
74
|
-
|
75
|
-
# (Not documented)
|
76
|
-
class Filelock < FFI::Struct
|
77
|
-
layout :dummy, :char
|
78
|
-
end
|
79
|
-
|
80
|
-
# (Not documented)
|
81
|
-
class Iterator < FFI::Struct
|
82
|
-
layout :dummy, :char
|
83
|
-
end
|
84
|
-
|
85
|
-
# (Not documented)
|
86
|
-
module OptionsWrappers
|
87
|
-
# @param [Comparator] comparator
|
88
|
-
# @return [nil]
|
89
|
-
def set_comparator(comparator)
|
90
|
-
Leveldb.options_set_comparator(self, comparator)
|
91
|
-
end
|
92
|
-
|
93
|
-
# @param [Integer] u_char
|
94
|
-
# @return [nil]
|
95
|
-
def set_create_if_missing(u_char)
|
96
|
-
Leveldb.options_set_create_if_missing(self, u_char)
|
97
|
-
end
|
98
|
-
|
99
|
-
# @param [Integer] u_char
|
100
|
-
# @return [nil]
|
101
|
-
def set_paranoid_checks(u_char)
|
102
|
-
Leveldb.options_set_paranoid_checks(self, u_char)
|
103
|
-
end
|
104
|
-
|
105
|
-
# @param [FFI::Pointer(*Logger)] logger
|
106
|
-
# @return [nil]
|
107
|
-
def set_info_log(logger)
|
108
|
-
Leveldb.options_set_info_log(self, logger)
|
109
|
-
end
|
110
|
-
|
111
|
-
# @param [Integer] int
|
112
|
-
# @return [nil]
|
113
|
-
def set_max_open_files(int)
|
114
|
-
Leveldb.options_set_max_open_files(self, int)
|
115
|
-
end
|
116
|
-
|
117
|
-
# @param [Integer] u_long
|
118
|
-
# @return [nil]
|
119
|
-
def set_block_size(u_long)
|
120
|
-
Leveldb.options_set_block_size(self, u_long)
|
121
|
-
end
|
122
|
-
|
123
|
-
# @param [Integer] int
|
124
|
-
# @return [nil]
|
125
|
-
def set_compression(int)
|
126
|
-
Leveldb.options_set_compression(self, int)
|
127
|
-
end
|
128
|
-
|
129
|
-
# @param [FFI::Pointer(*Filterpolicy)] filterpolicy
|
130
|
-
# @return [nil]
|
131
|
-
def set_filter_policy(filterpolicy)
|
132
|
-
Leveldb.options_set_filter_policy(self, filterpolicy)
|
133
|
-
end
|
134
|
-
|
135
|
-
# @param [FFI::Pointer(*Env)] env
|
136
|
-
# @return [nil]
|
137
|
-
def set_env(env)
|
138
|
-
Leveldb.options_set_env(self, env)
|
139
|
-
end
|
140
|
-
|
141
|
-
# @param [FFI::Pointer(*Cache)] cache
|
142
|
-
# @return [nil]
|
143
|
-
def set_cache(cache)
|
144
|
-
Leveldb.options_set_cache(self, cache)
|
145
|
-
end
|
146
|
-
|
147
|
-
# @param [Integer] u_char
|
148
|
-
# @return [nil]
|
149
|
-
def set_error_if_exists(u_char)
|
150
|
-
Leveldb.options_set_error_if_exists(self, u_char)
|
151
|
-
end
|
152
|
-
|
153
|
-
# @param [Integer] int
|
154
|
-
# @return [nil]
|
155
|
-
def set_block_restart_interval(int)
|
156
|
-
Leveldb.options_set_block_restart_interval(self, int)
|
157
|
-
end
|
158
|
-
|
159
|
-
# @param [Integer] u_long
|
160
|
-
# @return [nil]
|
161
|
-
def set_write_buffer_size(u_long)
|
162
|
-
Leveldb.options_set_write_buffer_size(self, u_long)
|
163
|
-
end
|
164
|
-
|
165
|
-
# @return [nil]
|
166
|
-
def destroy()
|
167
|
-
Leveldb.options_destroy(self)
|
168
|
-
end
|
169
|
-
end
|
170
|
-
|
171
|
-
class Options < FFI::Struct
|
172
|
-
include OptionsWrappers
|
173
|
-
layout :dummy, :char
|
174
|
-
end
|
175
|
-
|
176
|
-
# (Not documented)
|
177
|
-
module ReadoptionsWrappers
|
178
|
-
# @param [Integer] u_char
|
179
|
-
# @return [nil]
|
180
|
-
def set_verify_checksums(u_char)
|
181
|
-
Leveldb.readoptions_set_verify_checksums(self, u_char)
|
182
|
-
end
|
183
|
-
|
184
|
-
# @param [FFI::Pointer(*Snapshot)] snapshot
|
185
|
-
# @return [nil]
|
186
|
-
def set_snapshot(snapshot)
|
187
|
-
Leveldb.readoptions_set_snapshot(self, snapshot)
|
188
|
-
end
|
189
|
-
|
190
|
-
# @param [Integer] u_char
|
191
|
-
# @return [nil]
|
192
|
-
def set_fill_cache(u_char)
|
193
|
-
Leveldb.readoptions_set_fill_cache(self, u_char)
|
194
|
-
end
|
195
|
-
|
196
|
-
# @return [nil]
|
197
|
-
def destroy()
|
198
|
-
Leveldb.readoptions_destroy(self)
|
199
|
-
end
|
200
|
-
end
|
201
|
-
|
202
|
-
class Readoptions < FFI::Struct
|
203
|
-
include ReadoptionsWrappers
|
204
|
-
layout :dummy, :char
|
205
|
-
end
|
206
|
-
|
207
|
-
# (Not documented)
|
208
|
-
class Snapshot < FFI::Struct
|
209
|
-
layout :dummy, :char
|
210
|
-
end
|
211
|
-
|
212
|
-
# (Not documented)
|
213
|
-
module WritebatchWrappers
|
214
|
-
# @return [nil]
|
215
|
-
def clear()
|
216
|
-
Leveldb.writebatch_clear(self)
|
217
|
-
end
|
218
|
-
|
219
|
-
# @param [String] key
|
220
|
-
# @param [Integer] klen
|
221
|
-
# @return [nil]
|
222
|
-
def delete(key, klen)
|
223
|
-
Leveldb.writebatch_delete(self, key, klen)
|
224
|
-
end
|
225
|
-
|
226
|
-
# @return [nil]
|
227
|
-
def destroy()
|
228
|
-
Leveldb.writebatch_destroy(self)
|
229
|
-
end
|
230
|
-
|
231
|
-
# @param [FFI::Pointer(*Void)] state
|
232
|
-
# @param [FFI::Pointer(*)] put
|
233
|
-
# @param [FFI::Pointer(*)] deleted
|
234
|
-
# @return [nil]
|
235
|
-
def iterate(state, put, deleted)
|
236
|
-
Leveldb.writebatch_iterate(self, state, put, deleted)
|
237
|
-
end
|
238
|
-
|
239
|
-
# @param [String] key
|
240
|
-
# @param [Integer] klen
|
241
|
-
# @param [String] val
|
242
|
-
# @param [Integer] vlen
|
243
|
-
# @return [nil]
|
244
|
-
def put(key, klen, val, vlen)
|
245
|
-
Leveldb.writebatch_put(self, key, klen, val, vlen)
|
246
|
-
end
|
247
|
-
end
|
248
|
-
|
249
|
-
class Writebatch < FFI::Struct
|
250
|
-
include WritebatchWrappers
|
251
|
-
layout :dummy, :char
|
252
|
-
end
|
253
|
-
|
254
|
-
# (Not documented)
|
255
|
-
module CacheWrappers
|
256
|
-
# @return [nil]
|
257
|
-
def destroy()
|
258
|
-
Leveldb.cache_destroy(self)
|
259
|
-
end
|
260
|
-
end
|
261
|
-
|
262
|
-
class Cache < FFI::Struct
|
263
|
-
include CacheWrappers
|
264
|
-
layout :dummy, :char
|
265
|
-
end
|
266
|
-
|
267
|
-
# (Not documented)
|
268
|
-
module FilterpolicyWrappers
|
269
|
-
# @return [nil]
|
270
|
-
def destroy()
|
271
|
-
Leveldb.filterpolicy_destroy(self)
|
272
|
-
end
|
273
|
-
end
|
274
|
-
|
275
|
-
class Filterpolicy < FFI::Struct
|
276
|
-
include FilterpolicyWrappers
|
277
|
-
layout :dummy, :char
|
278
|
-
end
|
279
|
-
|
280
|
-
# (Not documented)
|
281
|
-
class Randomfile < FFI::Struct
|
282
|
-
layout :dummy, :char
|
283
|
-
end
|
284
|
-
|
285
|
-
# (Not documented)
|
286
|
-
class Writablefile < FFI::Struct
|
287
|
-
layout :dummy, :char
|
288
|
-
end
|
289
|
-
|
290
|
-
# (Not documented)
|
291
|
-
module EnvWrappers
|
292
|
-
# @return [nil]
|
293
|
-
def destroy()
|
294
|
-
Leveldb.env_destroy(self)
|
295
|
-
end
|
296
|
-
end
|
297
|
-
|
298
|
-
class Env < FFI::Struct
|
299
|
-
include EnvWrappers
|
300
|
-
layout :dummy, :char
|
301
|
-
end
|
302
|
-
|
303
|
-
# (Not documented)
|
304
|
-
class Seqfile < FFI::Struct
|
305
|
-
layout :dummy, :char
|
306
|
-
end
|
307
|
-
|
308
|
-
# (Not documented)
|
309
|
-
class Logger < FFI::Struct
|
310
|
-
layout :dummy, :char
|
311
|
-
end
|
312
|
-
|
313
|
-
# (Not documented)
|
314
|
-
module WriteoptionsWrappers
|
315
|
-
# @return [nil]
|
316
|
-
def destroy()
|
317
|
-
Leveldb.writeoptions_destroy(self)
|
318
|
-
end
|
319
|
-
|
320
|
-
# @param [Integer] u_char
|
321
|
-
# @return [nil]
|
322
|
-
def set_sync(u_char)
|
323
|
-
Leveldb.writeoptions_set_sync(self, u_char)
|
324
|
-
end
|
325
|
-
end
|
326
|
-
|
327
|
-
class Writeoptions < FFI::Struct
|
328
|
-
include WriteoptionsWrappers
|
329
|
-
layout :dummy, :char
|
330
|
-
end
|
331
|
-
|
332
|
-
##
|
333
|
-
# Writing Callbacks
|
334
|
-
#
|
335
|
-
##
|
336
|
-
# Writing Functions
|
337
|
-
#
|
338
|
-
# DB operations
|
339
|
-
#
|
340
|
-
# @method open(options, name, errptr)
|
341
|
-
# @param [Options] options
|
342
|
-
# @param [String] name
|
343
|
-
# @param [FFI::Pointer(**CharS)] errptr
|
344
|
-
# @return [DB]
|
345
|
-
# @scope class
|
346
|
-
#
|
347
|
-
attach_function :open, :leveldb_open, [Options, :string, :pointer], DB.auto_ptr
|
348
|
-
|
349
|
-
# (Not documented)
|
350
|
-
#
|
351
|
-
# @method put(db, options, key, keylen, val, vallen, errptr)
|
352
|
-
# @param [DB] db
|
353
|
-
# @param [Writeoptions] options
|
354
|
-
# @param [String] key
|
355
|
-
# @param [Integer] keylen
|
356
|
-
# @param [String] val
|
357
|
-
# @param [Integer] vallen
|
358
|
-
# @param [FFI::Pointer(**CharS)] errptr
|
359
|
-
# @return [nil]
|
360
|
-
# @scope class
|
361
|
-
#
|
362
|
-
attach_function :put, :leveldb_put, [DB, Writeoptions, :string, :ulong, :string, :ulong, :pointer], :void
|
363
|
-
|
364
|
-
alias __put put
|
365
|
-
def self.put(db, wo, key, value, err)
|
366
|
-
__put(db, wo, key, key.size, value, value.size, err)
|
367
|
-
end
|
368
|
-
def put(*args); Leveldb.put(*args); end
|
369
|
-
|
370
|
-
# (Not documented)
|
371
|
-
#
|
372
|
-
# @method write(db, options, batch, errptr)
|
373
|
-
# @param [DB] db
|
374
|
-
# @param [Writeoptions] options
|
375
|
-
# @param [Writebatch] batch
|
376
|
-
# @param [FFI::Pointer(**CharS)] errptr
|
377
|
-
# @return [nil]
|
378
|
-
# @scope class
|
379
|
-
#
|
380
|
-
attach_function :write, :leveldb_write, [DB, Writeoptions, Writebatch, :pointer], :void
|
381
|
-
|
382
|
-
# Returns NULL if not found. A malloc()ed array otherwise.
|
383
|
-
# Stores the length of the array in *vallen.
|
384
|
-
#
|
385
|
-
# @method create_iterator(db, options)
|
386
|
-
# @param [DB] db
|
387
|
-
# @param [Readoptions] options
|
388
|
-
# @return [Iterator]
|
389
|
-
# @scope class
|
390
|
-
#
|
391
|
-
attach_function :create_iterator, :leveldb_create_iterator, [DB, Readoptions], Iterator.auto_ptr
|
392
|
-
|
393
|
-
# (Not documented)
|
394
|
-
#
|
395
|
-
# @method release_snapshot(db, snapshot)
|
396
|
-
# @param [DB] db
|
397
|
-
# @param [Snapshot] snapshot
|
398
|
-
# @return [nil]
|
399
|
-
# @scope class
|
400
|
-
#
|
401
|
-
attach_function :release_snapshot, :leveldb_release_snapshot, [DB, Snapshot], :void
|
402
|
-
|
403
|
-
# Returns NULL if property name is unknown.
|
404
|
-
# Else returns a pointer to a malloc()-ed null-terminated value.
|
405
|
-
#
|
406
|
-
# @method approximate_sizes(db, num_ranges, range_start_key, range_start_key_len, range_limit_key, range_limit_key_len, sizes)
|
407
|
-
# @param [DB] db
|
408
|
-
# @param [Integer] num_ranges
|
409
|
-
# @param [FFI::Pointer(**CharS)] range_start_key
|
410
|
-
# @param [FFI::Pointer(*Size)] range_start_key_len
|
411
|
-
# @param [FFI::Pointer(**CharS)] range_limit_key
|
412
|
-
# @param [FFI::Pointer(*Size)] range_limit_key_len
|
413
|
-
# @param [FFI::Pointer(*Uint64)] sizes
|
414
|
-
# @return [nil]
|
415
|
-
# @scope class
|
416
|
-
#
|
417
|
-
attach_function :approximate_sizes, :leveldb_approximate_sizes, [DB, :int, :pointer, :pointer, :pointer, :pointer, :pointer], :void
|
418
|
-
|
419
|
-
# Management operations
|
420
|
-
#
|
421
|
-
# @method destroy_db(options, name, errptr)
|
422
|
-
# @param [Options] options
|
423
|
-
# @param [String] name
|
424
|
-
# @param [FFI::Pointer(**CharS)] errptr
|
425
|
-
# @return [nil]
|
426
|
-
# @scope class
|
427
|
-
#
|
428
|
-
attach_function :destroy_db, :leveldb_destroy_db, [Options, :string, :pointer], :void
|
429
|
-
|
430
|
-
# Iterator
|
431
|
-
#
|
432
|
-
# @method iter_destroy(iterator)
|
433
|
-
# @param [Iterator] iterator
|
434
|
-
# @return [nil]
|
435
|
-
# @scope class
|
436
|
-
#
|
437
|
-
attach_function :iter_destroy, :leveldb_iter_destroy, [Iterator], :void
|
438
|
-
|
439
|
-
# (Not documented)
|
440
|
-
#
|
441
|
-
# @method iter_seek_to_first(iterator)
|
442
|
-
# @param [Iterator] iterator
|
443
|
-
# @return [nil]
|
444
|
-
# @scope class
|
445
|
-
#
|
446
|
-
attach_function :iter_seek_to_first, :leveldb_iter_seek_to_first, [Iterator], :void
|
447
|
-
|
448
|
-
# (Not documented)
|
449
|
-
#
|
450
|
-
# @method iter_seek(iterator, k, klen)
|
451
|
-
# @param [Iterator] iterator
|
452
|
-
# @param [String] k
|
453
|
-
# @param [Integer] klen
|
454
|
-
# @return [nil]
|
455
|
-
# @scope class
|
456
|
-
#
|
457
|
-
attach_function :iter_seek, :leveldb_iter_seek, [Iterator, :string, :ulong], :void
|
458
|
-
|
459
|
-
# (Not documented)
|
460
|
-
#
|
461
|
-
# @method iter_prev(iterator)
|
462
|
-
# @param [Iterator] iterator
|
463
|
-
# @return [nil]
|
464
|
-
# @scope class
|
465
|
-
#
|
466
|
-
attach_function :iter_prev, :leveldb_iter_prev, [Iterator], :void
|
467
|
-
|
468
|
-
# (Not documented)
|
469
|
-
#
|
470
|
-
# @method iter_value(iterator, vlen)
|
471
|
-
# @param [Iterator] iterator
|
472
|
-
# @param [FFI::Pointer(*Size)] vlen
|
473
|
-
# @return [String]
|
474
|
-
# @scope class
|
475
|
-
#
|
476
|
-
attach_function :iter_value, :leveldb_iter_value, [Iterator, :pointer], :string
|
477
|
-
|
478
|
-
# Write batch
|
479
|
-
#
|
480
|
-
# @method writebatch_create()
|
481
|
-
# @return [Writebatch]
|
482
|
-
# @scope class
|
483
|
-
#
|
484
|
-
attach_function :writebatch_create, :leveldb_writebatch_create, [], Writebatch.auto_ptr
|
485
|
-
|
486
|
-
# (Not documented)
|
487
|
-
#
|
488
|
-
# @method writebatch_clear(writebatch)
|
489
|
-
# @param [Writebatch] writebatch
|
490
|
-
# @return [nil]
|
491
|
-
# @scope class
|
492
|
-
#
|
493
|
-
attach_function :writebatch_clear, :leveldb_writebatch_clear, [Writebatch], :void
|
494
|
-
|
495
|
-
# (Not documented)
|
496
|
-
#
|
497
|
-
# @method writebatch_delete(writebatch, key, klen)
|
498
|
-
# @param [Writebatch] writebatch
|
499
|
-
# @param [String] key
|
500
|
-
# @param [Integer] klen
|
501
|
-
# @return [nil]
|
502
|
-
# @scope class
|
503
|
-
#
|
504
|
-
attach_function :writebatch_delete, :leveldb_writebatch_delete, [Writebatch, :string, :ulong], :void
|
505
|
-
|
506
|
-
# Options
|
507
|
-
#
|
508
|
-
# @method options_create()
|
509
|
-
# @return [Options]
|
510
|
-
# @scope class
|
511
|
-
#
|
512
|
-
attach_function :options_create, :leveldb_options_create, [], Options.auto_ptr
|
513
|
-
|
514
|
-
# (Not documented)
|
515
|
-
#
|
516
|
-
# @method options_set_comparator(options, comparator)
|
517
|
-
# @param [Options] options
|
518
|
-
# @param [Comparator] comparator
|
519
|
-
# @return [nil]
|
520
|
-
# @scope class
|
521
|
-
#
|
522
|
-
attach_function :options_set_comparator, :leveldb_options_set_comparator, [Options, Comparator], :void
|
523
|
-
|
524
|
-
# (Not documented)
|
525
|
-
#
|
526
|
-
# @method options_set_create_if_missing(options, u_char)
|
527
|
-
# @param [Options] options
|
528
|
-
# @param [Integer] u_char
|
529
|
-
# @return [nil]
|
530
|
-
# @scope class
|
531
|
-
#
|
532
|
-
attach_function :options_set_create_if_missing, :leveldb_options_set_create_if_missing, [Options, :uchar], :void
|
533
|
-
|
534
|
-
# (Not documented)
|
535
|
-
#
|
536
|
-
# @method options_set_paranoid_checks(options, u_char)
|
537
|
-
# @param [Options] options
|
538
|
-
# @param [Integer] u_char
|
539
|
-
# @return [nil]
|
540
|
-
# @scope class
|
541
|
-
#
|
542
|
-
attach_function :options_set_paranoid_checks, :leveldb_options_set_paranoid_checks, [Options, :uchar], :void
|
543
|
-
|
544
|
-
# (Not documented)
|
545
|
-
#
|
546
|
-
# @method options_set_info_log(options, logger)
|
547
|
-
# @param [Options] options
|
548
|
-
# @param [Logger] logger
|
549
|
-
# @return [nil]
|
550
|
-
# @scope class
|
551
|
-
#
|
552
|
-
attach_function :options_set_info_log, :leveldb_options_set_info_log, [Options, Logger], :void
|
553
|
-
|
554
|
-
# (Not documented)
|
555
|
-
#
|
556
|
-
# @method options_set_max_open_files(options, int)
|
557
|
-
# @param [Options] options
|
558
|
-
# @param [Integer] int
|
559
|
-
# @return [nil]
|
560
|
-
# @scope class
|
561
|
-
#
|
562
|
-
attach_function :options_set_max_open_files, :leveldb_options_set_max_open_files, [Options, :int], :void
|
563
|
-
|
564
|
-
# (Not documented)
|
565
|
-
#
|
566
|
-
# @method options_set_block_size(options, u_long)
|
567
|
-
# @param [Options] options
|
568
|
-
# @param [Integer] u_long
|
569
|
-
# @return [nil]
|
570
|
-
# @scope class
|
571
|
-
#
|
572
|
-
attach_function :options_set_block_size, :leveldb_options_set_block_size, [Options, :ulong], :void
|
573
|
-
|
574
|
-
# (Not documented)
|
575
|
-
#
|
576
|
-
# @method options_set_compression(options, int)
|
577
|
-
# @param [Options] options
|
578
|
-
# @param [Integer] int
|
579
|
-
# @return [nil]
|
580
|
-
# @scope class
|
581
|
-
#
|
582
|
-
attach_function :options_set_compression, :leveldb_options_set_compression, [Options, :int], :void
|
583
|
-
|
584
|
-
# Comparator
|
585
|
-
#
|
586
|
-
# @method comparator_destroy(comparator)
|
587
|
-
# @param [Comparator] comparator
|
588
|
-
# @return [nil]
|
589
|
-
# @scope class
|
590
|
-
#
|
591
|
-
attach_function :comparator_destroy, :leveldb_comparator_destroy, [Comparator], :void
|
592
|
-
|
593
|
-
# Filter policy
|
594
|
-
#
|
595
|
-
# @method filterpolicy_destroy(filterpolicy)
|
596
|
-
# @param [Filterpolicy] filterpolicy
|
597
|
-
# @return [nil]
|
598
|
-
# @scope class
|
599
|
-
#
|
600
|
-
attach_function :filterpolicy_destroy, :leveldb_filterpolicy_destroy, [Filterpolicy], :void
|
601
|
-
|
602
|
-
# Read options
|
603
|
-
#
|
604
|
-
# @method readoptions_create()
|
605
|
-
# @return [Readoptions]
|
606
|
-
# @scope class
|
607
|
-
#
|
608
|
-
attach_function :readoptions_create, :leveldb_readoptions_create, [], Readoptions.auto_ptr
|
609
|
-
|
610
|
-
# (Not documented)
|
611
|
-
#
|
612
|
-
# @method readoptions_set_verify_checksums(readoptions, u_char)
|
613
|
-
# @param [Readoptions] readoptions
|
614
|
-
# @param [Integer] u_char
|
615
|
-
# @return [nil]
|
616
|
-
# @scope class
|
617
|
-
#
|
618
|
-
attach_function :readoptions_set_verify_checksums, :leveldb_readoptions_set_verify_checksums, [Readoptions, :uchar], :void
|
619
|
-
|
620
|
-
# (Not documented)
|
621
|
-
#
|
622
|
-
# @method readoptions_set_snapshot(readoptions, snapshot)
|
623
|
-
# @param [Readoptions] readoptions
|
624
|
-
# @param [Snapshot] snapshot
|
625
|
-
# @return [nil]
|
626
|
-
# @scope class
|
627
|
-
#
|
628
|
-
attach_function :readoptions_set_snapshot, :leveldb_readoptions_set_snapshot, [Readoptions, Snapshot], :void
|
629
|
-
|
630
|
-
# Write options
|
631
|
-
#
|
632
|
-
# @method writeoptions_destroy(writeoptions)
|
633
|
-
# @param [Writeoptions] writeoptions
|
634
|
-
# @return [nil]
|
635
|
-
# @scope class
|
636
|
-
#
|
637
|
-
attach_function :writeoptions_destroy, :leveldb_writeoptions_destroy, [Writeoptions], :void
|
638
|
-
|
639
|
-
# Cache
|
640
|
-
#
|
641
|
-
# @method cache_create_lru(capacity)
|
642
|
-
# @param [Integer] capacity
|
643
|
-
# @return [Cache]
|
644
|
-
# @scope class
|
645
|
-
#
|
646
|
-
attach_function :cache_create_lru, :leveldb_cache_create_lru, [:ulong], Cache.auto_ptr
|
647
|
-
|
648
|
-
# Env
|
649
|
-
#
|
650
|
-
# @method create_default_env()
|
651
|
-
# @return [Env]
|
652
|
-
# @scope class
|
653
|
-
#
|
654
|
-
attach_function :create_default_env, :leveldb_create_default_env, [], Env.auto_ptr
|
655
|
-
|
656
|
-
# Calls free(ptr).
|
657
|
-
# REQUIRES: ptr was malloc()-ed and returned by one of the routines
|
658
|
-
# in this file. Note that in certain cases (typically on Windows), you
|
659
|
-
# may need to call this routine instead of free(ptr) to dispose of
|
660
|
-
# malloc()-ed memory returned by this library.
|
661
|
-
#
|
662
|
-
# @method free(ptr)
|
663
|
-
# @param [FFI::Pointer(*Void)] ptr
|
664
|
-
# @return [nil]
|
665
|
-
# @scope class
|
666
|
-
#
|
667
|
-
attach_function :free, :leveldb_free, [:pointer], :void
|
668
|
-
|
669
|
-
# Return the minor version number for this release.
|
670
|
-
#
|
671
|
-
# @method minor_version()
|
672
|
-
# @return [Integer]
|
673
|
-
# @scope class
|
674
|
-
#
|
675
|
-
attach_function :minor_version, :leveldb_minor_version, [], :int
|
676
|
-
|
677
|
-
# (Not documented)
|
678
|
-
#
|
679
|
-
# @method close(db)
|
680
|
-
# @param [DB] db
|
681
|
-
# @return [nil]
|
682
|
-
# @scope class
|
683
|
-
#
|
684
|
-
attach_function :close, :leveldb_close, [DB], :void
|
685
|
-
|
686
|
-
# Returns NULL if not found. A malloc()ed array otherwise.
|
687
|
-
# Stores the length of the array in *vallen.
|
688
|
-
#
|
689
|
-
# @method get(db, options, key, keylen, vallen, errptr)
|
690
|
-
# @param [DB] db
|
691
|
-
# @param [Readoptions] options
|
692
|
-
# @param [String] key
|
693
|
-
# @param [Integer] keylen
|
694
|
-
# @param [FFI::Pointer(*Size)] vallen
|
695
|
-
# @param [FFI::Pointer(**CharS)] errptr
|
696
|
-
# @return [String]
|
697
|
-
# @scope class
|
698
|
-
#
|
699
|
-
attach_function :get, :leveldb_get, [DB, Readoptions, :string, :ulong, :pointer, :pointer], :string
|
700
|
-
|
701
|
-
# Returns NULL if property name is unknown.
|
702
|
-
# Else returns a pointer to a malloc()-ed null-terminated value.
|
703
|
-
#
|
704
|
-
# @method property_value(db, propname)
|
705
|
-
# @param [DB] db
|
706
|
-
# @param [String] propname
|
707
|
-
# @return [String]
|
708
|
-
# @scope class
|
709
|
-
#
|
710
|
-
attach_function :property_value, :leveldb_property_value, [DB, :string], :string
|
711
|
-
|
712
|
-
# Management operations
|
713
|
-
#
|
714
|
-
# @method repair_db(options, name, errptr)
|
715
|
-
# @param [Options] options
|
716
|
-
# @param [String] name
|
717
|
-
# @param [FFI::Pointer(**CharS)] errptr
|
718
|
-
# @return [nil]
|
719
|
-
# @scope class
|
720
|
-
#
|
721
|
-
attach_function :repair_db, :leveldb_repair_db, [Options, :string, :pointer], :void
|
722
|
-
|
723
|
-
# Iterator
|
724
|
-
#
|
725
|
-
# @method iter_seek_to_last(iterator)
|
726
|
-
# @param [Iterator] iterator
|
727
|
-
# @return [nil]
|
728
|
-
# @scope class
|
729
|
-
#
|
730
|
-
attach_function :iter_seek_to_last, :leveldb_iter_seek_to_last, [Iterator], :void
|
731
|
-
|
732
|
-
# (Not documented)
|
733
|
-
#
|
734
|
-
# @method iter_key(iterator, klen)
|
735
|
-
# @param [Iterator] iterator
|
736
|
-
# @param [FFI::Pointer(*Size)] klen
|
737
|
-
# @return [String]
|
738
|
-
# @scope class
|
739
|
-
#
|
740
|
-
attach_function :iter_key, :leveldb_iter_key, [Iterator, :pointer], :string
|
741
|
-
|
742
|
-
# Write batch
|
743
|
-
#
|
744
|
-
# @method writebatch_destroy(writebatch)
|
745
|
-
# @param [Writebatch] writebatch
|
746
|
-
# @return [nil]
|
747
|
-
# @scope class
|
748
|
-
#
|
749
|
-
attach_function :writebatch_destroy, :leveldb_writebatch_destroy, [Writebatch], :void
|
750
|
-
|
751
|
-
# (Not documented)
|
752
|
-
#
|
753
|
-
# @method writebatch_iterate(writebatch, state, put, deleted)
|
754
|
-
# @param [Writebatch] writebatch
|
755
|
-
# @param [FFI::Pointer(*Void)] state
|
756
|
-
# @param [FFI::Pointer(*)] put
|
757
|
-
# @param [FFI::Pointer(*)] deleted
|
758
|
-
# @return [nil]
|
759
|
-
# @scope class
|
760
|
-
#
|
761
|
-
attach_function :writebatch_iterate, :leveldb_writebatch_iterate, [Writebatch, :pointer, :pointer, :pointer], :void
|
762
|
-
|
763
|
-
# Options
|
764
|
-
#
|
765
|
-
# @method options_set_filter_policy(options, filterpolicy)
|
766
|
-
# @param [Options] options
|
767
|
-
# @param [Filterpolicy] filterpolicy
|
768
|
-
# @return [nil]
|
769
|
-
# @scope class
|
770
|
-
#
|
771
|
-
attach_function :options_set_filter_policy, :leveldb_options_set_filter_policy, [Options, Filterpolicy], :void
|
772
|
-
|
773
|
-
# (Not documented)
|
774
|
-
#
|
775
|
-
# @method options_set_env(options, env)
|
776
|
-
# @param [Options] options
|
777
|
-
# @param [Env] env
|
778
|
-
# @return [nil]
|
779
|
-
# @scope class
|
780
|
-
#
|
781
|
-
attach_function :options_set_env, :leveldb_options_set_env, [Options, Env], :void
|
782
|
-
|
783
|
-
# (Not documented)
|
784
|
-
#
|
785
|
-
# @method options_set_cache(options, cache)
|
786
|
-
# @param [Options] options
|
787
|
-
# @param [Cache] cache
|
788
|
-
# @return [nil]
|
789
|
-
# @scope class
|
790
|
-
#
|
791
|
-
attach_function :options_set_cache, :leveldb_options_set_cache, [Options, Cache], :void
|
792
|
-
|
793
|
-
# Comparator
|
794
|
-
#
|
795
|
-
# @method comparator_create(state, destructor, compare, name)
|
796
|
-
# @param [FFI::Pointer(*Void)] state
|
797
|
-
# @param [FFI::Pointer(*)] destructor
|
798
|
-
# @param [FFI::Pointer(*)] compare
|
799
|
-
# @param [FFI::Pointer(*)] name
|
800
|
-
# @return [Comparator]
|
801
|
-
# @scope class
|
802
|
-
#
|
803
|
-
attach_function :comparator_create, :leveldb_comparator_create, [:pointer, :pointer, :pointer, :pointer], Comparator.auto_ptr
|
804
|
-
|
805
|
-
# Filter policy
|
806
|
-
#
|
807
|
-
# @method filterpolicy_create_bloom(bits_per_key)
|
808
|
-
# @param [Integer] bits_per_key
|
809
|
-
# @return [Filterpolicy]
|
810
|
-
# @scope class
|
811
|
-
#
|
812
|
-
attach_function :filterpolicy_create_bloom, :leveldb_filterpolicy_create_bloom, [:int], Filterpolicy.auto_ptr
|
813
|
-
|
814
|
-
# Read options
|
815
|
-
#
|
816
|
-
# @method readoptions_set_fill_cache(readoptions, u_char)
|
817
|
-
# @param [Readoptions] readoptions
|
818
|
-
# @param [Integer] u_char
|
819
|
-
# @return [nil]
|
820
|
-
# @scope class
|
821
|
-
#
|
822
|
-
attach_function :readoptions_set_fill_cache, :leveldb_readoptions_set_fill_cache, [Readoptions, :uchar], :void
|
823
|
-
|
824
|
-
# Write options
|
825
|
-
#
|
826
|
-
# @method writeoptions_set_sync(writeoptions, u_char)
|
827
|
-
# @param [Writeoptions] writeoptions
|
828
|
-
# @param [Integer] u_char
|
829
|
-
# @return [nil]
|
830
|
-
# @scope class
|
831
|
-
#
|
832
|
-
attach_function :writeoptions_set_sync, :leveldb_writeoptions_set_sync, [Writeoptions, :uchar], :void
|
833
|
-
|
834
|
-
# Env
|
835
|
-
#
|
836
|
-
# @method env_destroy(env)
|
837
|
-
# @param [Env] env
|
838
|
-
# @return [nil]
|
839
|
-
# @scope class
|
840
|
-
#
|
841
|
-
attach_function :env_destroy, :leveldb_env_destroy, [Env], :void
|
842
|
-
|
843
|
-
# (Not documented)
|
844
|
-
#
|
845
|
-
# @method delete(db, options, key, keylen, errptr)
|
846
|
-
# @param [DB] db
|
847
|
-
# @param [Writeoptions] options
|
848
|
-
# @param [String] key
|
849
|
-
# @param [Integer] keylen
|
850
|
-
# @param [FFI::Pointer(**CharS)] errptr
|
851
|
-
# @return [nil]
|
852
|
-
# @scope class
|
853
|
-
#
|
854
|
-
attach_function :delete, :leveldb_delete, [DB, Writeoptions, :string, :ulong, :pointer], :void
|
855
|
-
|
856
|
-
# Returns NULL if property name is unknown.
|
857
|
-
# Else returns a pointer to a malloc()-ed null-terminated value.
|
858
|
-
#
|
859
|
-
# @method compact_range(db, start_key, start_key_len, limit_key, limit_key_len)
|
860
|
-
# @param [DB] db
|
861
|
-
# @param [String] start_key
|
862
|
-
# @param [Integer] start_key_len
|
863
|
-
# @param [String] limit_key
|
864
|
-
# @param [Integer] limit_key_len
|
865
|
-
# @return [nil]
|
866
|
-
# @scope class
|
867
|
-
#
|
868
|
-
attach_function :compact_range, :leveldb_compact_range, [DB, :string, :ulong, :string, :ulong], :void
|
869
|
-
|
870
|
-
# Iterator
|
871
|
-
#
|
872
|
-
# @method iter_next(iterator)
|
873
|
-
# @param [Iterator] iterator
|
874
|
-
# @return [nil]
|
875
|
-
# @scope class
|
876
|
-
#
|
877
|
-
attach_function :iter_next, :leveldb_iter_next, [Iterator], :void
|
878
|
-
|
879
|
-
# Write batch
|
880
|
-
#
|
881
|
-
# @method writebatch_put(writebatch, key, klen, val, vlen)
|
882
|
-
# @param [Writebatch] writebatch
|
883
|
-
# @param [String] key
|
884
|
-
# @param [Integer] klen
|
885
|
-
# @param [String] val
|
886
|
-
# @param [Integer] vlen
|
887
|
-
# @return [nil]
|
888
|
-
# @scope class
|
889
|
-
#
|
890
|
-
attach_function :writebatch_put, :leveldb_writebatch_put, [Writebatch, :string, :ulong, :string, :ulong], :void
|
891
|
-
|
892
|
-
# Options
|
893
|
-
#
|
894
|
-
# @method options_set_error_if_exists(options, u_char)
|
895
|
-
# @param [Options] options
|
896
|
-
# @param [Integer] u_char
|
897
|
-
# @return [nil]
|
898
|
-
# @scope class
|
899
|
-
#
|
900
|
-
attach_function :options_set_error_if_exists, :leveldb_options_set_error_if_exists, [Options, :uchar], :void
|
901
|
-
|
902
|
-
# (Not documented)
|
903
|
-
#
|
904
|
-
# @method options_set_block_restart_interval(options, int)
|
905
|
-
# @param [Options] options
|
906
|
-
# @param [Integer] int
|
907
|
-
# @return [nil]
|
908
|
-
# @scope class
|
909
|
-
#
|
910
|
-
attach_function :options_set_block_restart_interval, :leveldb_options_set_block_restart_interval, [Options, :int], :void
|
911
|
-
|
912
|
-
# Read options
|
913
|
-
#
|
914
|
-
# @method readoptions_destroy(readoptions)
|
915
|
-
# @param [Readoptions] readoptions
|
916
|
-
# @return [nil]
|
917
|
-
# @scope class
|
918
|
-
#
|
919
|
-
attach_function :readoptions_destroy, :leveldb_readoptions_destroy, [Readoptions], :void
|
920
|
-
|
921
|
-
# Cache
|
922
|
-
#
|
923
|
-
# @method cache_destroy(cache)
|
924
|
-
# @param [Cache] cache
|
925
|
-
# @return [nil]
|
926
|
-
# @scope class
|
927
|
-
#
|
928
|
-
attach_function :cache_destroy, :leveldb_cache_destroy, [Cache], :void
|
929
|
-
|
930
|
-
# (Not documented)
|
931
|
-
#
|
932
|
-
# @method create_snapshot(db)
|
933
|
-
# @param [DB] db
|
934
|
-
# @return [Snapshot]
|
935
|
-
# @scope class
|
936
|
-
#
|
937
|
-
attach_function :create_snapshot, :leveldb_create_snapshot, [DB], Snapshot.auto_ptr
|
938
|
-
|
939
|
-
# Iterator
|
940
|
-
#
|
941
|
-
# @method iter_get_error(iterator, errptr)
|
942
|
-
# @param [Iterator] iterator
|
943
|
-
# @param [FFI::Pointer(**CharS)] errptr
|
944
|
-
# @return [nil]
|
945
|
-
# @scope class
|
946
|
-
#
|
947
|
-
attach_function :iter_get_error, :leveldb_iter_get_error, [Iterator, :pointer], :void
|
948
|
-
|
949
|
-
# Options
|
950
|
-
#
|
951
|
-
# @method options_set_write_buffer_size(options, u_long)
|
952
|
-
# @param [Options] options
|
953
|
-
# @param [Integer] u_long
|
954
|
-
# @return [nil]
|
955
|
-
# @scope class
|
956
|
-
#
|
957
|
-
attach_function :options_set_write_buffer_size, :leveldb_options_set_write_buffer_size, [Options, :ulong], :void
|
958
|
-
|
959
|
-
# Write options
|
960
|
-
#
|
961
|
-
# @method writeoptions_create()
|
962
|
-
# @return [Writeoptions]
|
963
|
-
# @scope class
|
964
|
-
#
|
965
|
-
attach_function :writeoptions_create, :leveldb_writeoptions_create, [], Writeoptions.auto_ptr
|
966
|
-
|
967
|
-
# (Not documented)
|
968
|
-
#
|
969
|
-
# @method iter_valid(iterator)
|
970
|
-
# @param [Iterator] iterator
|
971
|
-
# @return [Integer]
|
972
|
-
# @scope class
|
973
|
-
#
|
974
|
-
attach_function :iter_valid, :leveldb_iter_valid, [Iterator], :uchar
|
975
|
-
|
976
|
-
# Filter policy
|
977
|
-
#
|
978
|
-
# @method filterpolicy_create(state, destructor, create_filter, key_may_match, name)
|
979
|
-
# @param [FFI::Pointer(*Void)] state
|
980
|
-
# @param [FFI::Pointer(*)] destructor
|
981
|
-
# @param [FFI::Pointer(*)] create_filter
|
982
|
-
# @param [FFI::Pointer(*)] key_may_match
|
983
|
-
# @param [FFI::Pointer(*)] name
|
984
|
-
# @return [Filterpolicy]
|
985
|
-
# @scope class
|
986
|
-
#
|
987
|
-
attach_function :filterpolicy_create, :leveldb_filterpolicy_create, [:pointer, :pointer, :pointer, :pointer, :pointer], Filterpolicy.auto_ptr
|
988
|
-
|
989
|
-
# (Not documented)
|
990
|
-
#
|
991
|
-
# @method options_destroy(options)
|
992
|
-
# @param [Options] options
|
993
|
-
# @return [nil]
|
994
|
-
# @scope class
|
995
|
-
#
|
996
|
-
attach_function :options_destroy, :leveldb_options_destroy, [Options], :void
|
997
|
-
|
998
|
-
# Return the major version number for this release.
|
999
|
-
#
|
1000
|
-
# @method major_version()
|
1001
|
-
# @return [Integer]
|
1002
|
-
# @scope class
|
1003
|
-
#
|
1004
|
-
attach_function :major_version, :leveldb_major_version, [], :int
|
1
|
+
require 'native'
|
2
|
+
require 'leveldb/db'
|
1005
3
|
|
4
|
+
module LevelDB
|
5
|
+
C = Native
|
1006
6
|
end
|