quill-sql 0.2.1

An educational Rust relational database (RDBMS) inspired by CMU 15445
Documentation
#[derive(Debug, Clone)]
pub struct DropIndex {
    pub name: String,
    pub schema: Option<String>,
    pub catalog: Option<String>,
    pub if_exists: bool,
}

impl std::fmt::Display for DropIndex {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let qualified = match (&self.catalog, &self.schema) {
            (Some(catalog), Some(schema)) => format!("{catalog}.{schema}.{}", self.name),
            (None, Some(schema)) => format!("{schema}.{}", self.name),
            _ => self.name.clone(),
        };
        if self.if_exists {
            write!(f, "DropIndex IF EXISTS: {qualified}")
        } else {
            write!(f, "DropIndex: {qualified}")
        }
    }
}