Skip to main content

execute_drop_index

Function execute_drop_index 

Source
pub fn execute_drop_index(
    names: &[ObjectName],
    if_exists: bool,
    db: &mut Database,
) -> Result<usize>
Expand description

Executes DROP INDEX [IF EXISTS] <name>;. The statement does not name a table, so we walk every table looking for the index across all three index families (B-Tree secondary, HNSW, FTS).

Refuses to drop auto-indexes (origin == IndexOrigin::Auto) — those are invariants of the table’s PRIMARY KEY / UNIQUE constraints and should only disappear when the column or table they depend on is dropped. SQLite has the same rule for its sqlite_autoindex_* indexes.