rocksdb-ruby 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/ext/rocksdb/rocksdb_db_rb.cc +13 -11
- data/ext/rocksdb/rocksdb_db_rb.h +1 -0
- data/ext/rocksdb/rocksdb_rb.cc +2 -1
- data/lib/rocksdb/ruby/version.rb +1 -1
- data/lib/rocksdb/ruby.rb +0 -7
- data/lib/rocksdb.rb +16 -0
- data/spec/db_spec.rb +12 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 877a71b0f471b4a5c045c73357baba3aa15f60d0
|
4
|
+
data.tar.gz: 2bd8f14ce238885afa810d742fc70eb3cd8ea608
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2c9e587b5ffe39364ee6bd2ccf89214a5d1f1f618e9dd5e9b1a6f400ffbdec21e2b43200f042640ae75888fac551fc39cedb58484ff97bf246f1d0dd3d1859f
|
7
|
+
data.tar.gz: 97f1ad5e431da4953ba5850d425f51cccf9d817e56a787e6266f96b845e5bdfb9fa20f58f01cea7fcc48ad8d2524ffd9fa48cb55076f44f77733c3546142d603
|
data/README.md
CHANGED
@@ -106,7 +106,19 @@ extern "C" {
|
|
106
106
|
|
107
107
|
return status.ok() ? Qtrue : Qfalse;
|
108
108
|
}
|
109
|
-
|
109
|
+
|
110
|
+
VALUE rocksdb_db_exists(VALUE self, VALUE v_key){
|
111
|
+
Check_Type(v_key, T_STRING);
|
112
|
+
|
113
|
+
rocksdb_pointer* db_pointer;
|
114
|
+
Data_Get_Struct(self, rocksdb_pointer, db_pointer);
|
115
|
+
|
116
|
+
std::string key = std::string((char*)RSTRING_PTR(v_key));
|
117
|
+
std::string value = std::string();
|
118
|
+
|
119
|
+
return db_pointer->db->KeyMayExist(rocksdb::ReadOptions(), key, &value) ? Qtrue : Qfalse;
|
120
|
+
}
|
121
|
+
|
110
122
|
VALUE rocksdb_db_close(VALUE self){
|
111
123
|
rocksdb_pointer* db_pointer;
|
112
124
|
Data_Get_Struct(self, rocksdb_pointer, db_pointer);
|
@@ -174,15 +186,5 @@ extern "C" {
|
|
174
186
|
}
|
175
187
|
|
176
188
|
VALUE rocksdb_db_debug(VALUE self){
|
177
|
-
|
178
|
-
rocksdb_pointer* db_pointer;
|
179
|
-
Data_Get_Struct(self, rocksdb_pointer, db_pointer);
|
180
|
-
rocksdb::Iterator* it = db_pointer->db->NewIterator(rocksdb::ReadOptions());
|
181
|
-
|
182
|
-
for (it->SeekToFirst(); it->Valid(); it->Next()) {
|
183
|
-
std::cout << it->key().ToString() << ": " << it->value().ToString() << std::endl;
|
184
|
-
}
|
185
|
-
delete it;
|
186
|
-
return Qnil;
|
187
189
|
}
|
188
190
|
}
|
data/ext/rocksdb/rocksdb_db_rb.h
CHANGED
@@ -10,6 +10,7 @@ extern "C" {
|
|
10
10
|
VALUE rocksdb_db_get(VALUE self, VALUE v_key);
|
11
11
|
VALUE rocksdb_db_multi_get(VALUE self, VALUE v_array);
|
12
12
|
VALUE rocksdb_db_delete(VALUE self, VALUE v_key);
|
13
|
+
VALUE rocksdb_db_exists(VALUE self, VALUE v_key);
|
13
14
|
VALUE rocksdb_db_close(VALUE self);
|
14
15
|
VALUE rocksdb_db_debug(VALUE self);
|
15
16
|
VALUE rocksdb_db_new_iterator(VALUE self);
|
data/ext/rocksdb/rocksdb_rb.cc
CHANGED
@@ -16,7 +16,7 @@ extern "C" {
|
|
16
16
|
VALUE cRocksdb_write_options;
|
17
17
|
VALUE cRocksdb_status;
|
18
18
|
|
19
|
-
cRocksdb =
|
19
|
+
cRocksdb = rb_define_module("RocksDB");
|
20
20
|
cRocksdb_db = rb_define_class_under(cRocksdb, "DB", rb_cObject);
|
21
21
|
rb_define_alloc_func(cRocksdb_db, db_alloc);
|
22
22
|
|
@@ -26,6 +26,7 @@ extern "C" {
|
|
26
26
|
rb_define_method(cRocksdb_db, "get", (METHOD)rocksdb_db_get, 1);
|
27
27
|
rb_define_method(cRocksdb_db, "multi_get", (METHOD)rocksdb_db_multi_get, 1);
|
28
28
|
rb_define_method(cRocksdb_db, "delete", (METHOD)rocksdb_db_delete, 1);
|
29
|
+
rb_define_method(cRocksdb_db, "exists?", (METHOD)rocksdb_db_exists, 1);
|
29
30
|
rb_define_method(cRocksdb_db, "close", (METHOD)rocksdb_db_close, 0);
|
30
31
|
rb_define_method(cRocksdb_db, "debug", (METHOD)rocksdb_db_debug, 0);
|
31
32
|
rb_define_method(cRocksdb_db, "new_iterator", (METHOD)rocksdb_db_new_iterator, 0);
|
data/lib/rocksdb/ruby/version.rb
CHANGED
data/lib/rocksdb/ruby.rb
CHANGED
data/lib/rocksdb.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require "RocksDB/RocksDB" # the c extension
|
2
|
+
require "rocksdb/ruby/version"
|
3
|
+
|
4
|
+
module RocksDB
|
5
|
+
class DB
|
6
|
+
class << self
|
7
|
+
end
|
8
|
+
|
9
|
+
alias :includes? :exists?
|
10
|
+
alias :contains? :exists?
|
11
|
+
alias :member? :exists?
|
12
|
+
alias :[] :get
|
13
|
+
alias :[]= :put
|
14
|
+
alias :close! :close
|
15
|
+
end
|
16
|
+
end
|
data/spec/db_spec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
require 'spec_helper'
|
3
|
-
require "
|
3
|
+
require "rocksdb"
|
4
4
|
|
5
5
|
describe RocksDB do
|
6
6
|
before do
|
@@ -81,6 +81,17 @@ describe RocksDB do
|
|
81
81
|
expect(array).to eq rev_array.reverse
|
82
82
|
|
83
83
|
end
|
84
|
+
|
85
|
+
it 'should exists?' do
|
86
|
+
@rocksdb.put("test:exists?", "a")
|
87
|
+
@rocksdb.delete("test:noexists?")
|
88
|
+
expect(@rocksdb.exists?("test:exists?")).to be_true
|
89
|
+
expect(@rocksdb.exists?("test:noexists?")).to be_false
|
90
|
+
|
91
|
+
expect(@rocksdb.includes?("test:exists?")).to be_true
|
92
|
+
expect(@rocksdb.includes?("test:noexists?")).to be_false
|
93
|
+
|
94
|
+
end
|
84
95
|
|
85
96
|
after do
|
86
97
|
@rocksdb.close
|
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.7
|
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
|
+
date: 2013-12-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -76,6 +76,7 @@ files:
|
|
76
76
|
- ext/rocksdb/rocksdb_rb.h
|
77
77
|
- ext/rocksdb/rocksdb_status_rb.cc
|
78
78
|
- ext/rocksdb/rocksdb_status_rb.h
|
79
|
+
- lib/rocksdb.rb
|
79
80
|
- lib/rocksdb/ruby.rb
|
80
81
|
- lib/rocksdb/ruby/version.rb
|
81
82
|
- rocksdb-ruby.gemspec
|