From 26c83510a727bb5386c6946ff1db607cf77e88b2 Mon Sep 17 00:00:00 2001 From: Takanori Hayashi Date: Sun, 22 Jun 2025 03:23:23 +0900 Subject: [PATCH] Fix SortScan::has_field for pre-iteration access --- src/materialization/sort_scan.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/materialization/sort_scan.rs b/src/materialization/sort_scan.rs index 0c5ca8e..f96b1b5 100644 --- a/src/materialization/sort_scan.rs +++ b/src/materialization/sort_scan.rs @@ -124,9 +124,10 @@ impl ScanControl for SortScan { } fn has_field(&self, field_name: &str) -> bool { - self.scans[self.current_scan_index.unwrap()] - .borrow() - .has_field(field_name) + // All runs share the same schema so just check the first scan. + // `current_scan_index` might be `None` before iteration starts, + // which caused a panic when this method was called by `ProjectScan`. + self.scans[0].borrow().has_field(field_name) } }