Задать вопрос
@Neonoviiwolf
Flutter developer

Sqlite VACUUM — ошибка?

Доброго
Подскажите, в бд часто появляются и удаляются записи, читал тут, что нужно ещё команду VACUUM писать. А как писать? если просто
VACUUM;
, то ошибка:
cannot VACUUM from within a transaction:
  • Вопрос задан
  • 658 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
CodeNull
@CodeNull
Столкнулся с подобной проблемой. Она возникала только в случаях, когда я запускал VACUUM вместе с другими командами, например так:
self.db.execute("DELETE FROM %s" % table_name)
self.db.execute("REINDEX %s" % table_name)
self.db.execute("VACUUM")        
self.db.commit()


Проблему решил добавлением отдельного комита для вакуума:
self.db.execute("DELETE FROM %s" % table_name)
self.db.execute("REINDEX %s" % table_name)
self.db.commit()
self.db.execute("VACUUM")        
self.db.commit()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы