| 284 | } |
| 285 | |
| 286 | ThreadFuture<Standalone<VectorRef<BlobGranuleChunkRef>>> DLTransaction::readBlobGranulesStart( |
| 287 | const KeyRangeRef& keyRange, |
| 288 | Version beginVersion, |
| 289 | Optional<Version> readVersion, |
| 290 | Version* readVersionOut) { |
| 291 | if (!api->transactionReadBlobGranulesStart) { |
| 292 | return unsupported_operation(); |
| 293 | } |
| 294 | |
| 295 | int64_t rv = readVersion.present() ? readVersion.get() : latestVersion; |
| 296 | |
| 297 | FdbCApi::FDBFuture* f = api->transactionReadBlobGranulesStart(tr, |
| 298 | keyRange.begin.begin(), |
| 299 | keyRange.begin.size(), |
| 300 | keyRange.end.begin(), |
| 301 | keyRange.end.size(), |
| 302 | beginVersion, |
| 303 | rv, |
| 304 | readVersionOut); |
| 305 | |
| 306 | return ThreadFuture<Standalone<VectorRef<BlobGranuleChunkRef>>>( |
| 307 | (ThreadSingleAssignmentVar<Standalone<VectorRef<BlobGranuleChunkRef>>>*)(f)); |
| 308 | }; |
| 309 | |
| 310 | ThreadResult<RangeResult> DLTransaction::readBlobGranulesFinish( |
| 311 | ThreadFuture<Standalone<VectorRef<BlobGranuleChunkRef>>> startFuture, |
no test coverage detected