rocksdb-ruby 0.0.6 → 0.0.7
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 +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
|