Read multiple columns with shared predicate pushdown. All columns share the same block skip decisions so row alignment is maintained across the result set.
(
&self,
col_indices: &[usize],
predicates: &[ScanPredicate],
)
| 151 | /// All columns share the same block skip decisions so row alignment |
| 152 | /// is maintained across the result set. |
| 153 | pub fn read_columns( |
| 154 | &self, |
| 155 | col_indices: &[usize], |
| 156 | predicates: &[ScanPredicate], |
| 157 | ) -> Result<Vec<DecodedColumn>, ColumnarError> { |
| 158 | col_indices |
| 159 | .iter() |
| 160 | .map(|&idx| self.read_column_filtered(idx, predicates)) |
| 161 | .collect() |
| 162 | } |
| 163 | |
| 164 | /// Read a column with both predicate pushdown and delete bitmap masking. |
| 165 | /// |