Skip to content

Commit e079428

Browse files
committed
remove unused column readers
1 parent 8954309 commit e079428

File tree

2 files changed

+13
-21
lines changed

2 files changed

+13
-21
lines changed

src/common/base/src/rangemap/range_merger.rs

+7-4
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,15 @@ use std::ops::Range;
2222

2323
/// Check overlap.
2424
fn overlaps(this: &Range<u64>, other: &Range<u64>, max_gap_size: u64, max_range_size: u64) -> bool {
25-
if (this.end - this.start) >= max_range_size {
25+
let this_len = this.end - this.start;
26+
let other_len = other.end - other.start;
27+
28+
if (this_len + other_len) >= max_range_size {
2629
false
2730
} else {
28-
let end_with_hole = this.end + max_gap_size;
29-
(other.start >= this.start && other.start <= end_with_hole)
30-
|| (other.end >= this.start && other.end <= end_with_hole)
31+
let end_with_gap = this.end + max_gap_size;
32+
(other.start >= this.start && other.start <= end_with_gap)
33+
|| (other.end >= this.start && other.end <= end_with_gap)
3134
}
3235
}
3336

src/query/storages/fuse/src/io/read/block_reader_parquet.rs

+6-17
Original file line numberDiff line numberDiff line change
@@ -274,21 +274,6 @@ impl BlockReader {
274274
self.try_next_block(&mut deserializer)
275275
}
276276

277-
/// Merge overlap io request to one.
278-
fn merge_io_requests(
279-
max_gap_size: u64,
280-
max_range_size: u64,
281-
part: &PartInfoPtr,
282-
) -> Result<Vec<std::ops::Range<u64>>> {
283-
let part = FusePartInfo::from_part(part)?;
284-
let ranges = part
285-
.columns_meta
286-
.values()
287-
.map(|v| (v.offset..v.offset + v.len))
288-
.collect::<Vec<_>>();
289-
Ok(RangeMerger::from_iter(ranges, max_gap_size, max_range_size).ranges())
290-
}
291-
292277
pub async fn read_columns_data(
293278
&self,
294279
ctx: Arc<dyn TableContext>,
@@ -299,9 +284,12 @@ impl BlockReader {
299284
let indices = Self::build_projection_indices(&columns);
300285
let mut join_handlers = Vec::with_capacity(indices.len());
301286

287+
let mut ranges = vec![];
302288
let mut normal_read_bytes = 0u64;
303289
for (index, _) in indices {
304290
let column_meta = &part.columns_meta[&index];
291+
ranges.push(column_meta.offset..(column_meta.offset + column_meta.len));
292+
305293
normal_read_bytes += column_meta.len;
306294
join_handlers.push(UnlimitedFuture::create(Self::read_column(
307295
self.operator.object(&part.location),
@@ -318,11 +306,12 @@ impl BlockReader {
318306
// Merge io requests.
319307
let max_gap_size = ctx.get_settings().get_max_storage_io_requests_merge_gap()?;
320308
let max_range_size = ctx.get_settings().get_max_storage_io_requests_page_size()?;
321-
let ranges = Self::merge_io_requests(max_gap_size, max_range_size, &raw_part)?;
309+
let ranges = RangeMerger::from_iter(ranges, max_gap_size, max_range_size).ranges();
322310
let mut merge_io_handlers = Vec::with_capacity(ranges.len());
323311
let mut merge_read_bytes = 0u64;
324312
for (index, range) in ranges.iter().enumerate() {
325-
merge_read_bytes += range.end - range.start;
313+
let len = range.end - range.start;
314+
merge_read_bytes += len;
326315
merge_io_handlers.push(UnlimitedFuture::create(Self::read_range(
327316
self.operator.object(&part.location),
328317
index,

0 commit comments

Comments
 (0)