From 70834cdb82cef46e904c7e32f21d34ed5ea35040 Mon Sep 17 00:00:00 2001 From: Robert Kruszewski Date: Tue, 17 Mar 2026 23:28:05 -0700 Subject: [PATCH 1/2] Simplify returned value when chunked reader is asked to read empty range Signed-off-by: Robert Kruszewski --- vortex-layout/src/layouts/chunked/reader.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/vortex-layout/src/layouts/chunked/reader.rs b/vortex-layout/src/layouts/chunked/reader.rs index 34816d5bdf8..9ea6f3f0248 100644 --- a/vortex-layout/src/layouts/chunked/reader.rs +++ b/vortex-layout/src/layouts/chunked/reader.rs @@ -2,15 +2,18 @@ // SPDX-FileCopyrightText: Copyright the Vortex contributors use std::collections::BTreeSet; +use std::future; use std::ops::Range; use std::sync::Arc; use futures::FutureExt; +use futures::StreamExt; use futures::TryStreamExt; use futures::future::BoxFuture; use futures::stream::FuturesOrdered; use itertools::Itertools; use vortex_array::ArrayRef; +use vortex_array::Canonical; use vortex_array::IntoArray; use vortex_array::MaskFuture; use vortex_array::arrays::ChunkedArray; @@ -293,9 +296,7 @@ impl LayoutReader for ChunkedReader { ) -> VortexResult>> { let dtype = expr.return_dtype(self.dtype())?; if row_range.is_empty() { - return Ok( - async move { Ok(ChunkedArray::try_new(vec![], dtype)?.into_array()) }.boxed(), - ); + return Ok(future::ready(Ok(Canonical::empty(&dtype).into_array())).boxed()); } let mut chunk_evals = vec![]; From 7bca01df7a17fa02d6cdf0c92d58d06d5ada0177 Mon Sep 17 00:00:00 2001 From: Robert Kruszewski Date: Wed, 18 Mar 2026 11:23:45 -0700 Subject: [PATCH 2/2] unused Signed-off-by: Robert Kruszewski --- vortex-layout/src/layouts/chunked/reader.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/vortex-layout/src/layouts/chunked/reader.rs b/vortex-layout/src/layouts/chunked/reader.rs index 9ea6f3f0248..6a0c63b6eb5 100644 --- a/vortex-layout/src/layouts/chunked/reader.rs +++ b/vortex-layout/src/layouts/chunked/reader.rs @@ -7,7 +7,6 @@ use std::ops::Range; use std::sync::Arc; use futures::FutureExt; -use futures::StreamExt; use futures::TryStreamExt; use futures::future::BoxFuture; use futures::stream::FuturesOrdered;