slatedb 0.2.0 → 0.3.1
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 +75 -1
- data/ext/slatedb/Cargo.toml +8 -7
- data/ext/slatedb/src/admin.rs +17 -3
- data/ext/slatedb/src/database.rs +178 -38
- data/ext/slatedb/src/iterator.rs +4 -1
- data/ext/slatedb/src/lib.rs +2 -0
- data/ext/slatedb/src/merge_ops.rs +1 -3
- data/ext/slatedb/src/metrics.rs +47 -0
- data/ext/slatedb/src/reader.rs +51 -11
- data/ext/slatedb/src/snapshot.rs +29 -0
- data/ext/slatedb/src/transaction.rs +45 -7
- data/ext/slatedb/src/write_batch.rs +6 -1
- data/lib/slatedb/database.rb +104 -24
- data/lib/slatedb/metrics.rb +20 -0
- data/lib/slatedb/reader.rb +16 -1
- data/lib/slatedb/transaction.rb +29 -0
- data/lib/slatedb/version.rb +1 -1
- data/lib/slatedb.rb +1 -0
- metadata +15 -13
data/lib/slatedb/transaction.rb
CHANGED
|
@@ -141,5 +141,34 @@ module SlateDb
|
|
|
141
141
|
def mark_read(keys)
|
|
142
142
|
_mark_read(Array(keys))
|
|
143
143
|
end
|
|
144
|
+
|
|
145
|
+
# Commit the transaction.
|
|
146
|
+
#
|
|
147
|
+
# @param await_durable [Boolean, nil] Whether to wait for durability (default: true)
|
|
148
|
+
# @param seqnum [Integer, nil] User-supplied sequence number for the commit.
|
|
149
|
+
# When provided (and non-zero), it is used instead of the internally
|
|
150
|
+
# generated sequence number and must be strictly greater than the current
|
|
151
|
+
# maximum sequence number. (Requires SlateDB >= 0.13.0)
|
|
152
|
+
# @return [void]
|
|
153
|
+
#
|
|
154
|
+
# @example Commit a transaction
|
|
155
|
+
# txn = db.begin_transaction
|
|
156
|
+
# txn.put("key", "value")
|
|
157
|
+
# txn.commit
|
|
158
|
+
#
|
|
159
|
+
# @example Commit with an explicit sequence number
|
|
160
|
+
# txn.commit(seqnum: 99)
|
|
161
|
+
#
|
|
162
|
+
def commit(await_durable: nil, seqnum: nil)
|
|
163
|
+
opts = {}
|
|
164
|
+
opts[:await_durable] = await_durable unless await_durable.nil?
|
|
165
|
+
opts[:seqnum] = seqnum if seqnum
|
|
166
|
+
|
|
167
|
+
if opts.empty?
|
|
168
|
+
_commit
|
|
169
|
+
else
|
|
170
|
+
_commit_with_options(opts)
|
|
171
|
+
end
|
|
172
|
+
end
|
|
144
173
|
end
|
|
145
174
|
end
|
data/lib/slatedb/version.rb
CHANGED
data/lib/slatedb.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: slatedb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- SlateDB Contributors
|
|
@@ -15,70 +15,70 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - "~>"
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version:
|
|
18
|
+
version: 0.9.128
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - "~>"
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version:
|
|
25
|
+
version: 0.9.128
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: rake
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
30
|
- - "~>"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '13.
|
|
32
|
+
version: '13.4'
|
|
33
33
|
type: :development
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - "~>"
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '13.
|
|
39
|
+
version: '13.4'
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
41
|
name: rake-compiler
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
43
43
|
requirements:
|
|
44
44
|
- - "~>"
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: '1.
|
|
46
|
+
version: '1.3'
|
|
47
47
|
type: :development
|
|
48
48
|
prerelease: false
|
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
51
|
- - "~>"
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '1.
|
|
53
|
+
version: '1.3'
|
|
54
54
|
- !ruby/object:Gem::Dependency
|
|
55
55
|
name: rspec
|
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
|
57
57
|
requirements:
|
|
58
58
|
- - "~>"
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '3.
|
|
60
|
+
version: '3.13'
|
|
61
61
|
type: :development
|
|
62
62
|
prerelease: false
|
|
63
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
64
64
|
requirements:
|
|
65
65
|
- - "~>"
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '3.
|
|
67
|
+
version: '3.13'
|
|
68
68
|
- !ruby/object:Gem::Dependency
|
|
69
69
|
name: rubocop
|
|
70
70
|
requirement: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
|
72
72
|
- - "~>"
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: '1.
|
|
74
|
+
version: '1.86'
|
|
75
75
|
type: :development
|
|
76
76
|
prerelease: false
|
|
77
77
|
version_requirements: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements:
|
|
79
79
|
- - "~>"
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: '1.
|
|
81
|
+
version: '1.86'
|
|
82
82
|
description: A cloud-native embedded key-value store built on object storage
|
|
83
83
|
email:
|
|
84
84
|
- slatedb@example.com
|
|
@@ -98,6 +98,7 @@ files:
|
|
|
98
98
|
- ext/slatedb/src/iterator.rs
|
|
99
99
|
- ext/slatedb/src/lib.rs
|
|
100
100
|
- ext/slatedb/src/merge_ops.rs
|
|
101
|
+
- ext/slatedb/src/metrics.rs
|
|
101
102
|
- ext/slatedb/src/reader.rs
|
|
102
103
|
- ext/slatedb/src/runtime.rs
|
|
103
104
|
- ext/slatedb/src/snapshot.rs
|
|
@@ -108,6 +109,7 @@ files:
|
|
|
108
109
|
- lib/slatedb/admin.rb
|
|
109
110
|
- lib/slatedb/database.rb
|
|
110
111
|
- lib/slatedb/iterator.rb
|
|
112
|
+
- lib/slatedb/metrics.rb
|
|
111
113
|
- lib/slatedb/reader.rb
|
|
112
114
|
- lib/slatedb/snapshot.rb
|
|
113
115
|
- lib/slatedb/transaction.rb
|
|
@@ -128,14 +130,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
128
130
|
requirements:
|
|
129
131
|
- - ">="
|
|
130
132
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: 3.
|
|
133
|
+
version: 3.3.0
|
|
132
134
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
135
|
requirements:
|
|
134
136
|
- - ">="
|
|
135
137
|
- !ruby/object:Gem::Version
|
|
136
138
|
version: '0'
|
|
137
139
|
requirements: []
|
|
138
|
-
rubygems_version: 4.0.
|
|
140
|
+
rubygems_version: 4.0.10
|
|
139
141
|
specification_version: 4
|
|
140
142
|
summary: Ruby bindings for SlateDB
|
|
141
143
|
test_files: []
|