mdbx 0.1.0 → 0.1.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
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.md +7 -0
- data/lib/mdbx.rb +1 -1
- data/lib/mdbx/database.rb +39 -21
- metadata +1 -1
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e88f3e5ea2e66b7e924500a33f25f635c712e359bd0f8e19c52f60605bcafe46
|
4
|
+
data.tar.gz: c069a2b838b86f1cc9873613ad1b99c1f888f24eab395c9f264d830aa7ba810d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6d575ad77ff4c72382d13852d0d075c8b8caa664f8e55ace63e0e638695cd2cff43d2580484abff76fce0cf4efa60b8423d4330d65d1a1f39da07c8cd93ea7e9
|
7
|
+
data.tar.gz: 895d6aee64d76e6e2b62071ae7d1cc98aa4d692d2b377c0d04e6f9f5ebb7495f23db7dafa66c8a2cdaf6a9a1925f003fca6d02e4646e4a23bf415167050dc0b4
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/History.md
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
# Release History for MDBX
|
2
2
|
|
3
3
|
---
|
4
|
+
## v0.1.1 [2021-03-14] Mahlon E. Smith <mahlon@martini.nu>
|
5
|
+
|
6
|
+
Bugfix:
|
7
|
+
|
8
|
+
- Don't inadvertantly close an open transaction while using hash convenience methods.
|
9
|
+
|
10
|
+
|
4
11
|
## v0.1.0 [2021-03-14] Mahlon E. Smith <mahlon@martini.nu>
|
5
12
|
|
6
13
|
Initial public release.
|
data/lib/mdbx.rb
CHANGED
data/lib/mdbx/database.rb
CHANGED
@@ -201,18 +201,24 @@ class MDBX::Database
|
|
201
201
|
### pairs.
|
202
202
|
###
|
203
203
|
def to_a
|
204
|
-
self.
|
205
|
-
|
206
|
-
|
204
|
+
in_txn = self.in_transaction?
|
205
|
+
self.snapshot unless in_txn
|
206
|
+
|
207
|
+
return self.each_pair.to_a
|
208
|
+
ensure
|
209
|
+
self.abort unless in_txn
|
207
210
|
end
|
208
211
|
|
209
212
|
|
210
213
|
### Return the entirety of database contents as a Hash.
|
211
214
|
###
|
212
215
|
def to_h
|
213
|
-
self.
|
214
|
-
|
215
|
-
|
216
|
+
in_txn = self.in_transaction?
|
217
|
+
self.snapshot unless in_txn
|
218
|
+
|
219
|
+
return self.each_pair.to_h
|
220
|
+
ensure
|
221
|
+
self.abort unless in_txn
|
216
222
|
end
|
217
223
|
|
218
224
|
|
@@ -261,9 +267,12 @@ class MDBX::Database
|
|
261
267
|
### Returns a new Array containing all keys in the collection.
|
262
268
|
###
|
263
269
|
def keys
|
264
|
-
self.
|
265
|
-
|
266
|
-
|
270
|
+
in_txn = self.in_transaction?
|
271
|
+
self.snapshot unless in_txn
|
272
|
+
|
273
|
+
return self.each_key.to_a
|
274
|
+
ensure
|
275
|
+
self.abort unless in_txn
|
267
276
|
end
|
268
277
|
|
269
278
|
|
@@ -271,32 +280,41 @@ class MDBX::Database
|
|
271
280
|
### keys. Any given keys that are not found are ignored.
|
272
281
|
###
|
273
282
|
def slice( *keys )
|
274
|
-
self.
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
283
|
+
in_txn = self.in_transaction?
|
284
|
+
self.snapshot unless in_txn
|
285
|
+
|
286
|
+
return keys.each_with_object( {} ) do |key, acc|
|
287
|
+
val = self[ key ]
|
288
|
+
acc[ key ] = val if val
|
279
289
|
end
|
290
|
+
ensure
|
291
|
+
self.abort unless in_txn
|
280
292
|
end
|
281
293
|
|
282
294
|
|
283
295
|
### Returns a new Array containing all values in the collection.
|
284
296
|
###
|
285
297
|
def values
|
286
|
-
self.
|
287
|
-
|
288
|
-
|
298
|
+
in_txn = self.in_transaction?
|
299
|
+
self.snapshot unless in_txn
|
300
|
+
|
301
|
+
return self.each_value.to_a
|
302
|
+
ensure
|
303
|
+
self.abort unless in_txn
|
289
304
|
end
|
290
305
|
|
291
306
|
|
292
307
|
### Returns a new Array containing values for the given +keys+.
|
293
308
|
###
|
294
309
|
def values_at( *keys )
|
295
|
-
self.
|
296
|
-
|
297
|
-
|
298
|
-
|
310
|
+
in_txn = self.in_transaction?
|
311
|
+
self.snapshot unless in_txn
|
312
|
+
|
313
|
+
return keys.each_with_object( [] ) do |key, acc|
|
314
|
+
acc << self[ key ]
|
299
315
|
end
|
316
|
+
ensure
|
317
|
+
self.abort unless in_txn
|
300
318
|
end
|
301
319
|
|
302
320
|
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|