rocksdb-ruby 0.2.2 → 0.2.3
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/ext/rocksdb/rocksdb_db_rb.cc +17 -0
- data/ext/rocksdb/rocksdb_db_rb.h +1 -0
- data/ext/rocksdb/rocksdb_rb.cc +1 -0
- data/lib/rocksdb/ruby/version.rb +1 -1
- data/rocksdb-ruby.gemspec +3 -2
- data/spec/db_spec.rb +10 -0
- metadata +20 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e63a830799d975bd61b019413c022b2dd2c2b996
|
4
|
+
data.tar.gz: 4629fb74bd9ff28fdcc4654656410b729033d3e0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8cd31b6afd9fc8c84638b1e37325a753e1f2a4bde49e48697f993bcf65b71c6c480b89fde2ee303a3ec1ec9b52339081508809aef6be0a31ede97cf8747191da
|
7
|
+
data.tar.gz: 4dec517e5bcc0d8c6b82c1c5a02c43643a9e0bd8e4fa1174d62730ed6c91e950e395957249e6adeb0b4bdb451faffe300b997c8ffe70a6b99c6f5c2337918cbc
|
@@ -119,6 +119,23 @@ extern "C" {
|
|
119
119
|
return status.ok() ? Qtrue : Qfalse;
|
120
120
|
}
|
121
121
|
|
122
|
+
VALUE rocksdb_db_property(VALUE self, VALUE v_key){
|
123
|
+
Check_Type(v_key, T_STRING);
|
124
|
+
|
125
|
+
rocksdb_pointer* db_pointer;
|
126
|
+
Data_Get_Struct(self, rocksdb_pointer, db_pointer);
|
127
|
+
|
128
|
+
std::string key = std::string((char*)RSTRING_PTR(v_key), RSTRING_LEN(v_key));
|
129
|
+
std::string value;
|
130
|
+
if (db_pointer->db == NULL) {
|
131
|
+
rb_raise(rb_eRuntimeError, "db not open");
|
132
|
+
}
|
133
|
+
|
134
|
+
bool status = db_pointer->db->GetProperty(key, &value);
|
135
|
+
if(!status) return Qnil;
|
136
|
+
return rb_enc_str_new(value.data(), value.size(), rb_utf8_encoding());
|
137
|
+
}
|
138
|
+
|
122
139
|
VALUE rocksdb_db_get(VALUE self, VALUE v_key){
|
123
140
|
Check_Type(v_key, T_STRING);
|
124
141
|
|
data/ext/rocksdb/rocksdb_db_rb.h
CHANGED
@@ -8,6 +8,7 @@ extern "C" {
|
|
8
8
|
VALUE db_alloc(VALUE klass);
|
9
9
|
VALUE rocksdb_db_put(VALUE self, VALUE v_key, VALUE v_value);
|
10
10
|
VALUE rocksdb_db_write(VALUE self, VALUE v_write);
|
11
|
+
VALUE rocksdb_db_property(VALUE self, VALUE v_key);
|
11
12
|
VALUE rocksdb_db_get(VALUE self, VALUE v_key);
|
12
13
|
VALUE rocksdb_db_multi_get(VALUE self, VALUE v_array);
|
13
14
|
VALUE rocksdb_db_delete(VALUE self, VALUE v_key);
|
data/ext/rocksdb/rocksdb_rb.cc
CHANGED
@@ -22,6 +22,7 @@ extern "C" {
|
|
22
22
|
|
23
23
|
rb_define_private_method(cRocksdb_db, "__initialize", (METHOD)rocksdb_db_init, -1);
|
24
24
|
rb_define_private_method(cRocksdb_db, "__initialize2", (METHOD)rocksdb_db_init2, -1);
|
25
|
+
rb_define_method(cRocksdb_db, "property", (METHOD)rocksdb_db_property, 1);
|
25
26
|
rb_define_method(cRocksdb_db, "put", (METHOD)rocksdb_db_put, 2);
|
26
27
|
rb_define_method(cRocksdb_db, "write", (METHOD)rocksdb_db_write, 1);
|
27
28
|
rb_define_method(cRocksdb_db, "get", (METHOD)rocksdb_db_get, 1);
|
data/lib/rocksdb/ruby/version.rb
CHANGED
data/rocksdb-ruby.gemspec
CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.require_paths = ["ext", "lib"]
|
21
21
|
|
22
22
|
spec.add_development_dependency "bundler", "~> 2.0"
|
23
|
-
spec.add_development_dependency
|
24
|
-
spec.add_development_dependency "rspec"
|
23
|
+
spec.add_development_dependency "rake"
|
24
|
+
spec.add_development_dependency "rspec"
|
25
|
+
spec.add_development_dependency "rspec-core"
|
25
26
|
end
|
data/spec/db_spec.rb
CHANGED
@@ -1,12 +1,22 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
require 'spec_helper'
|
3
3
|
require "rocksdb"
|
4
|
+
require 'fileutils'
|
4
5
|
|
5
6
|
describe RocksDB do
|
7
|
+
before :all do
|
8
|
+
FileUtils.rm(Dir.glob('/tmp/file/*'))
|
9
|
+
end
|
10
|
+
|
6
11
|
before do
|
7
12
|
@rocksdb = RocksDB::DB.new("/tmp/file")
|
8
13
|
end
|
9
14
|
|
15
|
+
it "should get property" do
|
16
|
+
@rocksdb.put("test:read", "1")
|
17
|
+
expect(@rocksdb.property("rocksdb.estimate-num-keys")).to eq("1")
|
18
|
+
end
|
19
|
+
|
10
20
|
it 'should get data' do
|
11
21
|
@rocksdb.put("test:read", "1")
|
12
22
|
expect(@rocksdb.is_readonly?).to eq false
|
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.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Isamu Arimoto
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-04-
|
11
|
+
date: 2019-04-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -28,28 +28,42 @@ dependencies:
|
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec-core
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '0'
|
55
69
|
description:
|