Drop specific partitions (OVERWRITE with only deletes).
(
&self,
partitions: Vec<HashMap<String, Option<Datum>>>,
)
| 232 | |
| 233 | /// Drop specific partitions (OVERWRITE with only deletes). |
| 234 | pub async fn truncate_partitions( |
| 235 | &self, |
| 236 | partitions: Vec<HashMap<String, Option<Datum>>>, |
| 237 | ) -> Result<()> { |
| 238 | if partitions.is_empty() { |
| 239 | return Ok(()); |
| 240 | } |
| 241 | |
| 242 | let partition_fields = self.table.schema().partition_fields(); |
| 243 | let partition_filter = PartitionFilter::from_partition_set( |
| 244 | self.partitions_to_bytes(&partitions), |
| 245 | &partition_fields, |
| 246 | )?; |
| 247 | |
| 248 | self.try_commit(CommitEntriesPlan::Overwrite { |
| 249 | partition_filter: Some(partition_filter), |
| 250 | new_entries: vec![], |
| 251 | new_index_entries: vec![], |
| 252 | }) |
| 253 | .await |
| 254 | } |
| 255 | |
| 256 | fn partitions_to_bytes( |
| 257 | &self, |