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.