Я пытаюсь использовать механизм хранения на платформе Mozilla (в thundebird 3.0).
Следующий код используется после каждого теста для удаления таблицы, присутствующей в базе данных:
function tearDown()
{
let database = new Database();
let req1 = "SELECT name FROM sqlite_master WHERE type='table'";
let statement = database.connection.createStatement(req1);
let tables = [];
while(statement.executeStep()) {
tables.push(statement.row.name);
}
statement.reset();
for(table in tables) {
let req2 = "DROP TABLE " + tables[table];
database.connection.executeSimpleSQL(req2);
}
}
Но во время executeSimpleSQL
из req2
(NS_ERROR_FILE_IS_LOCKED
) произошла ошибка. Кажется, что SQLite не снимает блокировку с первого оператора. Я пробовал reset()
, finalize()
, но ничего не работает. Как правильно снять блокировку первого оператора?