rocksdb-ruby 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|