Create a table scan. Call [TableScan::plan] to get splits.
(&self)
| 216 | |
| 217 | /// Create a table scan. Call [TableScan::plan] to get splits. |
| 218 | pub fn new_scan(&self) -> TableScan<'a> { |
| 219 | let partition_filter = self.filter.partition_predicate.clone().map(|pred| { |
| 220 | PartitionFilter::from_predicate(pred, &self.table.schema().partition_fields()) |
| 221 | }); |
| 222 | TableScan::new( |
| 223 | self.table, |
| 224 | partition_filter, |
| 225 | self.filter.data_predicates.clone(), |
| 226 | self.filter.bucket_predicate.clone(), |
| 227 | self.limit, |
| 228 | self.row_ranges.clone(), |
| 229 | ) |
| 230 | } |
| 231 | |
| 232 | /// Create a table read for consuming splits (e.g. from a scan plan). |
| 233 | pub fn new_read(&self) -> Result<TableRead<'a>> { |