remove breaking change in sstable public api

This commit is contained in:
trinity-1686a
2024-12-19 17:30:05 +01:00
parent 24c5dc2398
commit a1447cc9c2
3 changed files with 13 additions and 5 deletions

View File

@@ -170,7 +170,7 @@ impl ColumnarReader {
) -> io::Result<Vec<DynamicColumnHandle>> {
let stream = self
.stream_for_column_range(column_name)
.into_stream_async(0)
.into_stream_async()
.await?;
read_all_columns_in_stream(stream, &self.column_data, self.format_version)
}

View File

@@ -253,7 +253,9 @@ impl InvertedIndexReader {
range_builder
};
let mut stream = range_builder.into_stream_async(merge_holes_under).await?;
let mut stream = range_builder
.into_stream_async_merging_holes(merge_holes_under)
.await?;
let iter = std::iter::from_fn(move || stream.next().map(|(_k, v)| v.clone()));

View File

@@ -137,11 +137,17 @@ where
}
/// See `into_stream(..)`
pub async fn into_stream_async(
pub async fn into_stream_async(self) -> io::Result<Streamer<'a, TSSTable, A>> {
self.into_stream_async_merging_holes(0).await
}
/// Same as `into_stream_async`, but tries to issue a single io operation when requesting
/// blocks that are not consecutive, but also less than `merge_holes_under` bytes appart.
pub async fn into_stream_async_merging_holes(
self,
merge_holes_undex: usize,
merge_holes_under: usize,
) -> io::Result<Streamer<'a, TSSTable, A>> {
let delta_reader = self.delta_reader_async(merge_holes_undex).await?;
let delta_reader = self.delta_reader_async(merge_holes_under).await?;
self.into_stream_given_delta_reader(delta_reader)
}