rocksdb-ruby 0.0.4 → 0.0.5
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 +14 -0
- data/ext/rocksdb/rocksdb_db_rb.cc +34 -8
- data/ext/rocksdb/rocksdb_db_rb.h +2 -4
- data/ext/rocksdb/rocksdb_iterator_rb.cc +63 -0
- data/ext/rocksdb/rocksdb_iterator_rb.h +19 -0
- data/ext/rocksdb/rocksdb_rb.cc +24 -1
- data/ext/rocksdb/rocksdb_rb.h +14 -0
- data/ext/rocksdb/rocksdb_status_rb.cc +3 -0
- data/ext/rocksdb/rocksdb_status_rb.h +3 -0
- data/lib/rocksdb/ruby/version.rb +1 -1
- data/spec/db_spec.rb +33 -18
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d4a29a50778a83f758f3ce02bf456fad90700d6
|
4
|
+
data.tar.gz: c38fef9d063b4efc8a3bc198c99bcfc94b5ec165
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e34957be12c20bde777b651a3fbc78745a115ffc7e6b11cdf6a8589dd4646aefb9518e618b8e143428cdaf7092b0a2c8cc3e1cabed2ab2dd5193d11c1dd74380
|
7
|
+
data.tar.gz: 31881bfefa0ee01bf24f640f7c280cce52b2a4246e65fff61d179fc1438b62588a9619395ece4d4cbc1ef5df2521ef64aebaaac47a7d609285dc7c579c054993
|
data/README.md
CHANGED
@@ -26,6 +26,7 @@ Or install it yourself as:
|
|
26
26
|
|
27
27
|
require "RocksDB"
|
28
28
|
|
29
|
+
# Reads And Writes
|
29
30
|
key = "test"
|
30
31
|
value = "1"
|
31
32
|
rocksdb = RocksDB::DB.new "/tmp/file"
|
@@ -33,11 +34,24 @@ Or install it yourself as:
|
|
33
34
|
new_value = rocksdb.get(key)
|
34
35
|
rocksdb.delete(key)
|
35
36
|
|
37
|
+
#Atomic Updates
|
36
38
|
batch = RocksDB::Batch.new
|
37
39
|
batch.delete("test:batch1")
|
38
40
|
batch.put("test:batch2", "b")
|
39
41
|
rocksdb.write(batch)
|
40
42
|
|
43
|
+
#Iteration
|
44
|
+
iterator = rocksdb.new_iterator
|
45
|
+
|
46
|
+
iterator.seek_to_first
|
47
|
+
while(iterator.valid)
|
48
|
+
iterator.value
|
49
|
+
iterator.key
|
50
|
+
iterator.next
|
51
|
+
end
|
52
|
+
iterator.close
|
53
|
+
|
54
|
+
|
41
55
|
rocksdb.close
|
42
56
|
|
43
57
|
|
@@ -1,4 +1,7 @@
|
|
1
|
+
#include "rocksdb_rb.h"
|
1
2
|
#include "rocksdb_db_rb.h"
|
3
|
+
#include "ruby/encoding.h"
|
4
|
+
#include <iostream>
|
2
5
|
|
3
6
|
extern "C" {
|
4
7
|
#include <ruby.h>
|
@@ -32,7 +35,6 @@ extern "C" {
|
|
32
35
|
Check_Type(v_value, T_STRING);
|
33
36
|
|
34
37
|
rocksdb_pointer* db_pointer;
|
35
|
-
rocksdb::DB* db;
|
36
38
|
Data_Get_Struct(self, rocksdb_pointer, db_pointer);
|
37
39
|
|
38
40
|
std::string key = std::string((char*)RSTRING_PTR(v_key));
|
@@ -45,7 +47,6 @@ extern "C" {
|
|
45
47
|
|
46
48
|
VALUE rocksdb_db_write(VALUE self, VALUE v_write){
|
47
49
|
rocksdb_pointer* db_pointer;
|
48
|
-
rocksdb::DB* db;
|
49
50
|
Data_Get_Struct(self, rocksdb_pointer, db_pointer);
|
50
51
|
|
51
52
|
rocksdb::WriteBatch *batch;
|
@@ -59,14 +60,13 @@ extern "C" {
|
|
59
60
|
Check_Type(v_key, T_STRING);
|
60
61
|
|
61
62
|
rocksdb_pointer* db_pointer;
|
62
|
-
rocksdb::DB* db;
|
63
63
|
Data_Get_Struct(self, rocksdb_pointer, db_pointer);
|
64
64
|
|
65
65
|
std::string key = std::string((char*)RSTRING_PTR(v_key));
|
66
66
|
std::string value;
|
67
67
|
db_pointer->db->Get(rocksdb::ReadOptions(), key, &value);
|
68
|
-
|
69
|
-
return
|
68
|
+
|
69
|
+
return rb_enc_str_new(value.data(), value.size(), rb_utf8_encoding());
|
70
70
|
}
|
71
71
|
|
72
72
|
|
@@ -74,7 +74,6 @@ extern "C" {
|
|
74
74
|
Check_Type(v_array, T_ARRAY);
|
75
75
|
|
76
76
|
rocksdb_pointer* db_pointer;
|
77
|
-
rocksdb::DB* db;
|
78
77
|
Data_Get_Struct(self, rocksdb_pointer, db_pointer);
|
79
78
|
|
80
79
|
long i;
|
@@ -100,7 +99,6 @@ extern "C" {
|
|
100
99
|
Check_Type(v_key, T_STRING);
|
101
100
|
|
102
101
|
rocksdb_pointer* db_pointer;
|
103
|
-
rocksdb::DB* db;
|
104
102
|
Data_Get_Struct(self, rocksdb_pointer, db_pointer);
|
105
103
|
|
106
104
|
std::string key = std::string((char*)RSTRING_PTR(v_key));
|
@@ -111,10 +109,38 @@ extern "C" {
|
|
111
109
|
|
112
110
|
VALUE rocksdb_db_close(VALUE self){
|
113
111
|
rocksdb_pointer* db_pointer;
|
114
|
-
rocksdb::DB* db;
|
115
112
|
Data_Get_Struct(self, rocksdb_pointer, db_pointer);
|
116
113
|
|
117
114
|
delete db_pointer->db;
|
118
115
|
return Qnil;
|
119
116
|
}
|
117
|
+
|
118
|
+
VALUE rocksdb_db_new_iterator(VALUE self){
|
119
|
+
rocksdb_pointer* db_pointer;
|
120
|
+
rocksdb_iterator_pointer* rocksdb_it;
|
121
|
+
|
122
|
+
VALUE klass;
|
123
|
+
Data_Get_Struct(self, rocksdb_pointer, db_pointer);
|
124
|
+
|
125
|
+
rocksdb::Iterator* it = db_pointer->db->NewIterator(rocksdb::ReadOptions());
|
126
|
+
|
127
|
+
klass = rb_class_new_instance(0, NULL, cRocksdb_iterator);
|
128
|
+
|
129
|
+
Data_Get_Struct(klass, rocksdb_iterator_pointer , rocksdb_it);
|
130
|
+
rocksdb_it->it = it;
|
131
|
+
return klass;
|
132
|
+
}
|
133
|
+
|
134
|
+
VALUE rocksdb_db_debug(VALUE self){
|
135
|
+
|
136
|
+
rocksdb_pointer* db_pointer;
|
137
|
+
Data_Get_Struct(self, rocksdb_pointer, db_pointer);
|
138
|
+
rocksdb::Iterator* it = db_pointer->db->NewIterator(rocksdb::ReadOptions());
|
139
|
+
|
140
|
+
for (it->SeekToFirst(); it->Valid(); it->Next()) {
|
141
|
+
std::cout << it->key().ToString() << ": " << it->value().ToString() << std::endl;
|
142
|
+
}
|
143
|
+
delete it;
|
144
|
+
return Qnil;
|
145
|
+
}
|
120
146
|
}
|
data/ext/rocksdb/rocksdb_db_rb.h
CHANGED
@@ -3,10 +3,6 @@
|
|
3
3
|
|
4
4
|
extern "C" {
|
5
5
|
#include <ruby.h>
|
6
|
-
struct rocksdb_pointer{
|
7
|
-
rocksdb::DB* db;
|
8
|
-
};
|
9
|
-
|
10
6
|
VALUE rocksdb_db_init(int argc, VALUE* argv, VALUE self);
|
11
7
|
VALUE db_alloc(VALUE klass);
|
12
8
|
VALUE rocksdb_db_put(VALUE self, VALUE v_key, VALUE v_value);
|
@@ -15,5 +11,7 @@ extern "C" {
|
|
15
11
|
VALUE rocksdb_db_multi_get(VALUE self, VALUE v_array);
|
16
12
|
VALUE rocksdb_db_delete(VALUE self, VALUE v_key);
|
17
13
|
VALUE rocksdb_db_close(VALUE self);
|
14
|
+
VALUE rocksdb_db_debug(VALUE self);
|
15
|
+
VALUE rocksdb_db_new_iterator(VALUE self);
|
18
16
|
|
19
17
|
}
|
@@ -0,0 +1,63 @@
|
|
1
|
+
#include "rocksdb_rb.h"
|
2
|
+
#include "rocksdb_batch_rb.h"
|
3
|
+
#include "ruby/encoding.h"
|
4
|
+
#include <iostream>
|
5
|
+
|
6
|
+
extern "C" {
|
7
|
+
#include <ruby.h>
|
8
|
+
|
9
|
+
VALUE rocksdb_iterator_seek_to_first(VALUE klass){
|
10
|
+
rocksdb_iterator_pointer* rocksdb_it;
|
11
|
+
Data_Get_Struct(klass, rocksdb_iterator_pointer , rocksdb_it);
|
12
|
+
rocksdb_it->it->SeekToFirst();
|
13
|
+
|
14
|
+
return Qnil;
|
15
|
+
}
|
16
|
+
VALUE rocksdb_iterator_alloc(VALUE klass){
|
17
|
+
rocksdb_iterator_pointer* it = ALLOC(rocksdb_iterator_pointer);
|
18
|
+
return Data_Wrap_Struct(klass, 0, -1, it);
|
19
|
+
}
|
20
|
+
|
21
|
+
VALUE rocksdb_iterator_valid(VALUE klass){
|
22
|
+
rocksdb_iterator_pointer* rocksdb_it;
|
23
|
+
Data_Get_Struct(klass, rocksdb_iterator_pointer , rocksdb_it);
|
24
|
+
return rocksdb_it->it->Valid() ? Qtrue : Qfalse;
|
25
|
+
}
|
26
|
+
|
27
|
+
VALUE rocksdb_iterator_key(VALUE klass){
|
28
|
+
rocksdb_iterator_pointer* rocksdb_it;
|
29
|
+
std::string value;
|
30
|
+
|
31
|
+
Data_Get_Struct(klass, rocksdb_iterator_pointer , rocksdb_it);
|
32
|
+
value = rocksdb_it->it->key().ToString();
|
33
|
+
|
34
|
+
return rb_enc_str_new(value.data(), value.size(), rb_utf8_encoding());
|
35
|
+
}
|
36
|
+
|
37
|
+
VALUE rocksdb_iterator_value(VALUE klass){
|
38
|
+
rocksdb_iterator_pointer* rocksdb_it;
|
39
|
+
std::string value;
|
40
|
+
|
41
|
+
Data_Get_Struct(klass, rocksdb_iterator_pointer , rocksdb_it);
|
42
|
+
value = rocksdb_it->it->value().ToString();
|
43
|
+
|
44
|
+
return rb_enc_str_new(value.data(), value.size(), rb_utf8_encoding());
|
45
|
+
|
46
|
+
}
|
47
|
+
|
48
|
+
VALUE rocksdb_iterator_next(VALUE klass){
|
49
|
+
rocksdb_iterator_pointer* rocksdb_it;
|
50
|
+
Data_Get_Struct(klass, rocksdb_iterator_pointer , rocksdb_it);
|
51
|
+
rocksdb_it->it->Next();
|
52
|
+
|
53
|
+
return Qnil;
|
54
|
+
}
|
55
|
+
|
56
|
+
VALUE rocksdb_iterator_close(VALUE klass){
|
57
|
+
rocksdb_iterator_pointer* rocksdb_it;
|
58
|
+
Data_Get_Struct(klass, rocksdb_iterator_pointer , rocksdb_it);
|
59
|
+
delete rocksdb_it->it;
|
60
|
+
|
61
|
+
return Qnil;
|
62
|
+
}
|
63
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#include "rocksdb/db.h"
|
2
|
+
#include "rocksdb/write_batch.h"
|
3
|
+
|
4
|
+
extern "C" {
|
5
|
+
|
6
|
+
#include <ruby.h>
|
7
|
+
|
8
|
+
typedef VALUE (*METHOD)(...);
|
9
|
+
|
10
|
+
VALUE rocksdb_iterator_seek_to_first(VALUE klass);
|
11
|
+
VALUE rocksdb_iterator_alloc(VALUE klass);
|
12
|
+
VALUE rocksdb_iterator_valid(VALUE klass);
|
13
|
+
VALUE rocksdb_iterator_key(VALUE klass);
|
14
|
+
VALUE rocksdb_iterator_value(VALUE klass);
|
15
|
+
VALUE rocksdb_iterator_next(VALUE klass);
|
16
|
+
VALUE rocksdb_iterator_close(VALUE klass);
|
17
|
+
|
18
|
+
}
|
19
|
+
|
data/ext/rocksdb/rocksdb_rb.cc
CHANGED
@@ -1,13 +1,20 @@
|
|
1
1
|
#include "rocksdb_rb.h"
|
2
2
|
#include "rocksdb_db_rb.h"
|
3
3
|
#include "rocksdb_batch_rb.h"
|
4
|
+
#include "rocksdb_status_rb.h"
|
5
|
+
#include "rocksdb_iterator_rb.h"
|
4
6
|
|
5
7
|
extern "C" {
|
8
|
+
VALUE cRocksdb_iterator;
|
9
|
+
|
6
10
|
void Init_RocksDB(){
|
7
|
-
|
11
|
+
|
8
12
|
VALUE cRocksdb;
|
9
13
|
VALUE cRocksdb_db;
|
10
14
|
VALUE cRocksdb_write_batch;
|
15
|
+
VALUE cRocksdb_read_options;
|
16
|
+
VALUE cRocksdb_write_options;
|
17
|
+
VALUE cRocksdb_status;
|
11
18
|
|
12
19
|
cRocksdb = rb_define_class("RocksDB", rb_cObject);
|
13
20
|
cRocksdb_db = rb_define_class_under(cRocksdb, "DB", rb_cObject);
|
@@ -20,11 +27,27 @@ extern "C" {
|
|
20
27
|
rb_define_method(cRocksdb_db, "multi_get", (METHOD)rocksdb_db_multi_get, 1);
|
21
28
|
rb_define_method(cRocksdb_db, "delete", (METHOD)rocksdb_db_delete, 1);
|
22
29
|
rb_define_method(cRocksdb_db, "close", (METHOD)rocksdb_db_close, 0);
|
30
|
+
rb_define_method(cRocksdb_db, "debug", (METHOD)rocksdb_db_debug, 0);
|
31
|
+
rb_define_method(cRocksdb_db, "new_iterator", (METHOD)rocksdb_db_new_iterator, 0);
|
23
32
|
|
24
33
|
cRocksdb_write_batch = rb_define_class_under(cRocksdb, "Batch", rb_cObject);
|
25
34
|
rb_define_alloc_func(cRocksdb_write_batch, batch_alloc);
|
26
35
|
rb_define_private_method(cRocksdb_write_batch, "initialize", (METHOD)rocksdb_write_batch_init, 0);
|
27
36
|
rb_define_method(cRocksdb_write_batch, "put", (METHOD)rocksdb_write_batch_put, 2);
|
28
37
|
rb_define_method(cRocksdb_write_batch, "delete", (METHOD)rocksdb_write_batch_delete, 1);
|
38
|
+
|
39
|
+
cRocksdb_iterator = rb_define_class_under(cRocksdb, "Iterator", rb_cObject);
|
40
|
+
rb_define_alloc_func(cRocksdb_iterator, rocksdb_iterator_alloc);
|
41
|
+
rb_define_method(cRocksdb_iterator, "seek_to_first", (METHOD)rocksdb_iterator_seek_to_first, 0);
|
42
|
+
rb_define_method(cRocksdb_iterator, "valid", (METHOD)rocksdb_iterator_valid, 0);
|
43
|
+
rb_define_method(cRocksdb_iterator, "key", (METHOD)rocksdb_iterator_key, 0);
|
44
|
+
rb_define_method(cRocksdb_iterator, "value", (METHOD)rocksdb_iterator_value, 0);
|
45
|
+
rb_define_method(cRocksdb_iterator, "next", (METHOD)rocksdb_iterator_next, 0);
|
46
|
+
rb_define_method(cRocksdb_iterator, "close", (METHOD)rocksdb_iterator_close, 0);
|
47
|
+
|
48
|
+
cRocksdb_status = rb_define_class_under(cRocksdb, "Status", rb_cObject);
|
49
|
+
cRocksdb_read_options = rb_define_class_under(cRocksdb, "ReadOptions", rb_cObject);
|
50
|
+
cRocksdb_write_options = rb_define_class_under(cRocksdb, "WriteOptions", rb_cObject);
|
51
|
+
|
29
52
|
}
|
30
53
|
}
|
data/ext/rocksdb/rocksdb_rb.h
CHANGED
@@ -1,10 +1,24 @@
|
|
1
1
|
#include "rocksdb/db.h"
|
2
2
|
#include "rocksdb/write_batch.h"
|
3
3
|
|
4
|
+
#ifndef RUBY_ROCKSDB_H
|
5
|
+
#define RUBY_ROCKSDB_H 1
|
6
|
+
|
7
|
+
|
4
8
|
extern "C" {
|
5
9
|
|
6
10
|
#include <ruby.h>
|
11
|
+
extern VALUE cRocksdb_iterator;
|
7
12
|
|
8
13
|
typedef VALUE (*METHOD)(...);
|
9
14
|
|
15
|
+
struct rocksdb_pointer{
|
16
|
+
rocksdb::DB* db;
|
17
|
+
};
|
18
|
+
|
19
|
+
struct rocksdb_iterator_pointer{
|
20
|
+
rocksdb::Iterator* it;
|
21
|
+
};
|
22
|
+
|
10
23
|
}
|
24
|
+
#endif
|
data/lib/rocksdb/ruby/version.rb
CHANGED
data/spec/db_spec.rb
CHANGED
@@ -1,27 +1,28 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
1
2
|
require 'spec_helper'
|
2
3
|
require "RocksDB"
|
3
4
|
|
4
5
|
describe RocksDB do
|
5
6
|
before do
|
6
|
-
@rocksdb = RocksDB::DB.new "/tmp/
|
7
|
+
@rocksdb = RocksDB::DB.new "/tmp/file3"
|
7
8
|
end
|
8
9
|
|
9
10
|
it 'should get data' do
|
10
11
|
@rocksdb.put("test:read", "1")
|
11
|
-
@rocksdb.get("test:read").
|
12
|
+
expect(@rocksdb.get("test:read")).to eq "1"
|
12
13
|
end
|
13
14
|
|
14
15
|
it 'should put data' do
|
15
|
-
@rocksdb.put("test:put", "2").
|
16
|
-
@rocksdb.get("test:put").
|
16
|
+
expect(@rocksdb.put("test:put", "2")).to be_true
|
17
|
+
expect(@rocksdb.get("test:put")).to eq "2"
|
17
18
|
end
|
18
19
|
|
19
20
|
it 'should delete data' do
|
20
21
|
@rocksdb.put("test:delete", "3")
|
21
|
-
@rocksdb.get("test:delete").
|
22
|
+
expect(@rocksdb.get("test:delete")).to eq "3"
|
22
23
|
|
23
|
-
@rocksdb.delete("test:delete").
|
24
|
-
@rocksdb.get("test:delete").
|
24
|
+
expect(@rocksdb.delete("test:delete")).to be_true
|
25
|
+
expect(@rocksdb.get("test:delete")).to be_empty
|
25
26
|
end
|
26
27
|
|
27
28
|
it 'should get multi data' do
|
@@ -29,23 +30,23 @@ describe RocksDB do
|
|
29
30
|
@rocksdb.put("test:multi2", "b")
|
30
31
|
@rocksdb.put("test:multi3", "c")
|
31
32
|
|
32
|
-
@rocksdb.multi_get(["test:multi1", "test:multi2", "test:multi3"]).
|
33
|
+
expect(@rocksdb.multi_get(["test:multi1", "test:multi2", "test:multi3"])).to eq ["a", "b", "c"]
|
33
34
|
end
|
34
35
|
|
35
36
|
it 'should put data atomic update' do
|
36
37
|
@rocksdb.put("test:batch1", "a")
|
37
38
|
@rocksdb.delete("test:batch2")
|
38
39
|
|
39
|
-
@rocksdb.get("test:batch1").
|
40
|
-
@rocksdb.get("test:batch").
|
40
|
+
expect(@rocksdb.get("test:batch1")).to eq "a"
|
41
|
+
expect(@rocksdb.get("test:batch")).to eq ""
|
41
42
|
|
42
43
|
batch = RocksDB::Batch.new
|
43
44
|
batch.delete("test:batch1")
|
44
45
|
batch.put("test:batch2", "b")
|
45
46
|
@rocksdb.write(batch)
|
46
47
|
|
47
|
-
@rocksdb.get("test:batch1").
|
48
|
-
@rocksdb.get("test:batch2").
|
48
|
+
expect(@rocksdb.get("test:batch1")).to eq ""
|
49
|
+
expect(@rocksdb.get("test:batch2")).to eq "b"
|
49
50
|
end
|
50
51
|
|
51
52
|
it 'should use multiple db' do
|
@@ -54,17 +55,31 @@ describe RocksDB do
|
|
54
55
|
@rocksdb.put("test:multi_db", "1")
|
55
56
|
@rocksdb2.put("test:multi_db", "2")
|
56
57
|
|
57
|
-
@rocksdb.get("test:multi_db").
|
58
|
-
@rocksdb2.get("test:multi_db").
|
58
|
+
expect(@rocksdb.get("test:multi_db")).to eq "1"
|
59
|
+
expect(@rocksdb2.get("test:multi_db")).to eq "2"
|
59
60
|
end
|
60
61
|
|
62
|
+
it 'should use japanese charactor' do
|
63
|
+
@rocksdb.put("test:japanese", "あいうえお")
|
61
64
|
|
62
|
-
|
63
|
-
@rocksdb.close
|
65
|
+
expect(@rocksdb.get("test:japanese")).to eq "あいうえお"
|
64
66
|
end
|
65
67
|
|
66
|
-
|
67
|
-
|
68
|
+
it 'should use iterator' do
|
69
|
+
iterator = @rocksdb.new_iterator
|
70
|
+
|
71
|
+
iterator.seek_to_first
|
72
|
+
|
73
|
+
while(iterator.valid)
|
74
|
+
expect(iterator.value).not_to be_empty
|
75
|
+
expect(iterator.key).not_to be_empty
|
76
|
+
iterator.next
|
77
|
+
end
|
78
|
+
iterator.close
|
79
|
+
end
|
68
80
|
|
81
|
+
after do
|
82
|
+
@rocksdb.close
|
83
|
+
end
|
69
84
|
end
|
70
85
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rocksdb-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Isamu Arimoto
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -65,18 +65,22 @@ files:
|
|
65
65
|
- LICENSE.txt
|
66
66
|
- README.md
|
67
67
|
- Rakefile
|
68
|
+
- ext/rocksdb/extconf.rb
|
68
69
|
- ext/rocksdb/rocksdb_batch_rb.cc
|
69
70
|
- ext/rocksdb/rocksdb_batch_rb.h
|
70
71
|
- ext/rocksdb/rocksdb_db_rb.cc
|
71
72
|
- ext/rocksdb/rocksdb_db_rb.h
|
73
|
+
- ext/rocksdb/rocksdb_iterator_rb.cc
|
74
|
+
- ext/rocksdb/rocksdb_iterator_rb.h
|
72
75
|
- ext/rocksdb/rocksdb_rb.cc
|
73
76
|
- ext/rocksdb/rocksdb_rb.h
|
77
|
+
- ext/rocksdb/rocksdb_status_rb.cc
|
78
|
+
- ext/rocksdb/rocksdb_status_rb.h
|
74
79
|
- lib/rocksdb/ruby.rb
|
75
80
|
- lib/rocksdb/ruby/version.rb
|
76
81
|
- rocksdb-ruby.gemspec
|
77
82
|
- spec/db_spec.rb
|
78
83
|
- spec/spec_helper.rb
|
79
|
-
- ext/rocksdb/extconf.rb
|
80
84
|
homepage: https://github.com/isamu/rocksdb-ruby
|
81
85
|
licenses:
|
82
86
|
- mit
|