From dde1edcdb4ca32bbeed0c4e1d1ae1a5cfcbcea0d Mon Sep 17 00:00:00 2001 From: Yingwen Date: Tue, 31 Mar 2026 10:45:07 +0800 Subject: [PATCH] fix: incorrect prefilter check (#7886) Signed-off-by: evenyag --- src/mito2/src/sst/parquet/flat_format.rs | 6 +++--- src/mito2/src/sst/parquet/prefilter.rs | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mito2/src/sst/parquet/flat_format.rs b/src/mito2/src/sst/parquet/flat_format.rs index ca39cac7e1..d4d6c11a45 100644 --- a/src/mito2/src/sst/parquet/flat_format.rs +++ b/src/mito2/src/sst/parquet/flat_format.rs @@ -282,10 +282,10 @@ impl FlatReadFormat { } } - /// Returns `true` if raw batches from parquet use the flat layout with a - /// dictionary-encoded `__primary_key` column (i.e., [`ParquetAdapter::Flat`]). + /// Returns `true` if raw batches from parquet use the flat layout and + /// stores primary key columns as raw columns. /// Returns `false` for the legacy primary-key-to-flat conversion path. - pub(crate) fn raw_batch_has_primary_key_dictionary(&self) -> bool { + pub(crate) fn batch_has_raw_pk_columns(&self) -> bool { matches!(&self.parquet_adapter, ParquetAdapter::Flat(_)) } diff --git a/src/mito2/src/sst/parquet/prefilter.rs b/src/mito2/src/sst/parquet/prefilter.rs index 07efbd052f..88df56e401 100644 --- a/src/mito2/src/sst/parquet/prefilter.rs +++ b/src/mito2/src/sst/parquet/prefilter.rs @@ -217,9 +217,9 @@ impl PrefilterContextBuilder { return None; } - // Only flat format with dictionary-encoded PKs supports PK prefiltering. + // Only perform PK prefiltering for primary-key-to-flat conversion path. let flat_format = read_format.as_flat()?; - if !flat_format.raw_batch_has_primary_key_dictionary() { + if flat_format.batch_has_raw_pk_columns() { return None; }