Levi Tamasi
61932cdf1d
Add blob support to DBIter ( #7731 )
...
Summary:
The patch adds iterator support to the integrated BlobDB implementation.
Whenever a blob reference is encountered during iteration, the corresponding
blob is retrieved by calling `Version::GetBlob`, assuming the `expose_blob_index`
(formerly `allow_blob`) flag is *not* set. (Note: the flag is set by the old stacked
BlobDB implementation, which has its own blob file handling/blob retrieval logic.)
In addition, `DBIter` now uniformly returns `Status::NotSupported` with the error
message `"BlobDB does not support merge operator."` when encountering a
blob reference while performing a merge (instead of potentially returning a
message that implies the database should be opened using the stacked BlobDB's
`Open`.)
TODO: We can implement support for lazily retrieving the blob value (or in other
words, bypassing the retrieval of blob values based on key) by extending the `Iterator`
API with a new `PrepareValue` method (similarly to `InternalIterator`, which already
supports lazy values).
Pull Request resolved: https://github.com/facebook/rocksdb/pull/7731
Test Plan: `make check`
Reviewed By: riversand963
Differential Revision: D25256293
Pulled By: ltamasi
fbshipit-source-id: c39cd782011495a526cdff99c16f5fca400c4811
2020-12-04 21:29:38 -08:00
..
2020-12-04 21:29:38 -08:00
2020-11-23 21:08:22 -08:00
2020-12-04 21:29:38 -08:00
2020-12-04 21:29:38 -08:00
2020-12-04 21:29:38 -08:00
2020-11-12 18:44:34 -08:00
2020-11-12 18:44:34 -08:00
2020-10-16 11:04:01 -07:00
2020-10-28 23:22:27 -07:00
2020-11-23 21:08:22 -08:00
2020-12-03 19:22:24 -08:00
2020-10-28 10:12:58 -07:00
2020-07-02 19:25:41 -07:00
2020-10-01 19:14:14 -07:00
2020-02-20 12:09:57 -08:00
2020-10-28 23:22:27 -07:00
2020-05-12 18:23:33 -07:00
2020-11-20 18:40:24 -08:00
2020-11-07 22:23:27 -08:00
2020-11-16 22:09:01 -08:00
2020-11-02 19:21:11 -08:00
2020-11-12 20:46:14 -08:00
2020-10-28 10:12:58 -07:00
2020-11-23 21:08:22 -08:00
2020-10-19 11:38:48 -07:00
2020-10-27 10:33:09 -07:00
2020-09-10 22:35:25 -07:00
2020-12-03 19:22:24 -08:00
2020-10-22 17:06:20 -07:00
2020-06-15 10:47:02 -07:00
2020-08-17 18:42:25 -07:00
2020-08-17 18:42:25 -07:00
2020-12-04 21:29:38 -08:00
2020-12-04 21:29:38 -08:00
2020-12-04 21:29:38 -08:00
2020-12-04 21:29:38 -08:00
2020-12-04 21:29:38 -08:00
2020-08-17 18:42:25 -07:00
2020-03-20 15:26:10 -07:00
2020-11-23 16:29:04 -08:00
2020-08-17 18:42:25 -07:00
2020-11-06 15:24:17 -08:00
2020-11-11 20:32:28 -08:00
2020-10-27 10:33:09 -07:00
2020-11-07 22:23:27 -08:00
2020-10-27 10:33:09 -07:00
2020-09-04 23:25:03 -07:00
2020-11-06 14:25:14 -08:00
2020-08-17 18:42:25 -07:00
2020-11-02 19:48:23 -08:00
2020-11-13 13:37:14 -08:00
2020-10-27 10:33:09 -07:00
2020-10-27 10:33:09 -07:00
2020-10-27 10:33:09 -07:00
2020-12-02 09:31:14 -08:00
2020-12-02 13:00:53 -08:00
2020-08-17 18:42:25 -07:00
2020-10-27 10:33:09 -07:00
2020-10-28 23:22:27 -07:00
2020-12-02 13:00:53 -08:00
2020-12-02 13:00:53 -08:00
2020-10-22 17:06:20 -07:00
2020-12-02 18:24:01 -08:00
2020-12-04 14:58:37 -08:00
2020-09-17 20:25:45 -07:00
2020-10-02 16:41:13 -07:00
2020-08-25 10:46:11 -07:00
2020-02-20 12:09:57 -08:00
2020-10-27 10:33:09 -07:00
2020-10-28 16:47:12 -07:00
2020-08-18 16:20:54 -07:00
2020-08-24 11:26:09 -07:00
2020-10-28 23:22:27 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-10-28 23:22:27 -07:00
2020-12-03 19:22:24 -08:00
2020-12-02 09:31:14 -08:00
2020-12-02 09:31:14 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-10-21 20:18:06 -07:00
2020-04-15 17:40:44 -07:00
2020-10-28 10:12:58 -07:00
2020-08-18 16:20:54 -07:00
2020-10-27 10:33:09 -07:00
2020-11-12 17:33:04 -08:00
2020-10-15 13:04:47 -07:00
2020-05-04 15:08:13 -07:00
2020-10-28 23:22:27 -07:00
2020-02-20 12:09:57 -08:00
2020-11-30 18:11:38 -08:00
2020-08-26 10:39:20 -07:00
2020-11-30 18:11:38 -08:00
2020-06-18 10:09:12 -07:00
2020-03-27 16:04:43 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-03-04 20:15:25 -08:00
2020-12-03 19:22:24 -08:00
2020-12-03 19:22:24 -08:00
2020-12-03 19:22:24 -08:00
2020-12-01 14:07:15 -08:00
2020-11-23 16:29:04 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-10-28 10:12:58 -07:00
2020-10-28 10:12:58 -07:00
2020-02-20 12:09:57 -08:00
2020-10-26 18:23:01 -07:00
2020-10-28 23:22:27 -07:00
2020-09-16 15:48:07 -07:00
2020-11-10 23:42:13 -08:00
2020-11-10 23:42:13 -08:00
2020-10-27 10:33:09 -07:00
2020-10-27 10:33:09 -07:00
2020-10-28 23:22:27 -07:00
2020-10-01 19:14:14 -07:00
2020-02-20 12:09:57 -08:00
2020-10-28 23:22:27 -07:00
2020-02-20 12:09:57 -08:00
2020-10-02 17:01:15 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-10-28 10:12:58 -07:00
2020-10-28 10:12:58 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-08-14 19:20:58 -07:00
2020-09-29 16:30:08 -07:00
2020-11-12 18:44:34 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-11-03 09:45:41 -08:00
2020-08-27 11:21:52 -07:00
2020-09-14 17:01:01 -07:00
2020-10-28 10:12:58 -07:00
2020-02-20 12:09:57 -08:00
2020-08-18 16:20:54 -07:00
2020-08-12 17:31:23 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-10-28 23:22:27 -07:00
2020-10-02 22:11:00 -07:00
2020-06-09 16:51:23 -07:00
2020-11-11 08:00:14 -08:00
2020-11-11 08:00:14 -08:00
2020-11-06 17:22:36 -08:00
2020-11-06 17:22:36 -08:00
2020-11-11 08:00:14 -08:00
2020-11-11 08:00:14 -08:00
2020-12-04 21:29:38 -08:00
2020-12-04 21:29:38 -08:00
2020-11-06 17:22:36 -08:00
2020-11-06 17:22:36 -08:00
2020-11-06 17:22:36 -08:00
2020-10-22 17:06:20 -07:00
2020-10-22 17:06:20 -07:00
2020-08-12 17:31:23 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-11-16 20:39:01 -08:00
2020-11-23 16:29:04 -08:00
2020-06-30 12:31:30 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-10-06 12:44:20 -07:00
2020-10-14 10:47:58 -07:00