我正在尝试使用odb运行我的vacuum
查询。当我在事务块中执行此操作时,如下所示:
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无法在事务块内运行”。 当我摆脱交易时,会遇到另一个异常,例如:“操作只能在交易中执行”
陷阱的种类。我该如何解决?谢谢。