mod test_helpers {
include!("../common/test_helpers.rs");
}
use test_helpers::run_with_both_backends;
use tegdb::{Database, Result};
#[test]
fn test_drop_table_integration() -> Result<()> {
run_with_both_backends("test_drop_table_integration", |db_path| {
let mut db = Database::open(db_path)?;
db.execute("CREATE TABLE test_table (id INTEGER PRIMARY KEY, name TEXT(32))")?;
db.execute("INSERT INTO test_table (id, name) VALUES (1, 'test')")?;
let result = db.query("SELECT * FROM test_table")?;
assert_eq!(result.rows().len(), 1);
let affected = db.execute("DROP TABLE test_table")?;
assert_eq!(affected, 0);
let result = db.query("SELECT * FROM test_table");
assert!(result.is_err(), "Table should no longer exist");
let result = db.execute("DROP TABLE test_table");
assert!(result.is_err(), "Dropping non-existent table should fail");
let affected = db.execute("DROP TABLE IF EXISTS test_table")?;
assert_eq!(affected, 0);
let affected = db.execute("DROP TABLE IF EXISTS never_existed_table")?;
assert_eq!(affected, 0);
Ok(())
})
}