| 348 | } |
| 349 | |
| 350 | async fn drop_table(&self, identifier: &Identifier, ignore_if_not_exists: bool) -> Result<()> { |
| 351 | let table_path = self.table_path(identifier); |
| 352 | |
| 353 | let table_exists = self.table_exists(identifier).await?; |
| 354 | |
| 355 | if !ignore_if_not_exists && !table_exists { |
| 356 | return Err(Error::TableNotExist { |
| 357 | full_name: identifier.full_name(), |
| 358 | }); |
| 359 | } |
| 360 | |
| 361 | if !table_exists { |
| 362 | return Ok(()); |
| 363 | } |
| 364 | |
| 365 | self.file_io.delete_dir(&table_path).await?; |
| 366 | Ok(()) |
| 367 | } |
| 368 | |
| 369 | async fn rename_table( |
| 370 | &self, |