Я пытаюсь выполнить мой запрос vacuum
, используя odb.Когда я делаю это внутри блока транзакции, что-то вроде этого:
data_source::Transaction t(d->db);
try
{
d->db->execute(d->query);
}
catch(odb::database_exception& e)
{
qDebug() << Q_FUNC_INFO << e.what();
qDebug() << "failed query" << d->query;
t.rollback();
return false;
}
t.commit();
я получаю исключение типа: «VACUUM не может работать внутри блока транзакции».Когда я избавляюсь от транзакции, я получаю еще одно исключение, подобное: «операция может быть выполнена только в транзакции»
Вид ловушки.Что мне делать, чтобы это исправить?Спасибо заранее.