Skip to content

Commit

Permalink
feat: apply suggestion from AI
Browse files Browse the repository at this point in the history
  • Loading branch information
killme2008 committed Jul 9, 2024
1 parent 75d3e58 commit fe48696
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 14 deletions.
21 changes: 13 additions & 8 deletions src/common/meta/src/ddl/drop_view.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ use common_telemetry::info;
use serde::{Deserialize, Serialize};
use snafu::{ensure, OptionExt, ResultExt};
use strum::AsRefStr;
use table::metadata::{TableId, TableType};
use table::metadata::{RawTableInfo, TableId, TableType};
use table::table_reference::TableReference;

use super::utils::handle_retry_error;
Expand Down Expand Up @@ -103,7 +103,6 @@ impl DropViewProcedure {

async fn check_view_metadata(&mut self) -> Result<()> {
let view_id = self.data.view_id();

let table_info_value = self
.context
.table_metadata_manager
Expand All @@ -114,25 +113,31 @@ impl DropViewProcedure {
table: self.data.table_ref().to_string(),
})?;

// Ensure the exists one is view, we can't drop other table types
self.ensure_is_view(&table_info_value.table_info)?;
self.ensure_view_info_exists(view_id).await?;

Ok(())
}

fn ensure_is_view(&self, table_info: &RawTableInfo) -> Result<()> {
ensure!(
table_info_value.table_info.table_type == TableType::View,
table_info.table_type == TableType::View,
error::InvalidViewInfoSnafu {
err_msg: format!("{} is not a view", self.data.table_ref()),
}
);
Ok(())
}

// Ensure [ViewInfoValue] exists
let _ = self
.context
async fn ensure_view_info_exists(&self, view_id: TableId) -> Result<()> {
self.context
.table_metadata_manager
.view_info_manager()
.get(view_id)
.await?
.with_context(|| error::ViewNotFoundSnafu {
view_name: self.data.table_ref().to_string(),
})?;

Ok(())
}

Expand Down
16 changes: 10 additions & 6 deletions src/sql/src/statements/drop.rs
Original file line number Diff line number Diff line change
Expand Up @@ -148,12 +148,16 @@ pub struct DropView {

impl Display for DropView {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str("DROP VIEW")?;
if self.drop_if_exists {
f.write_str(" IF EXISTS")?;
}
let view_name = &self.view_name;
write!(f, r#" {view_name}"#)
write!(
f,
"DROP VIEW{} {}",
if self.drop_if_exists {
" IF EXISTS"
} else {
""
},
self.view_name
)
}
}

Expand Down

0 comments on commit fe48696

Please sign in to comment.