а в какой последовательности это надо делать? делаю так:
db.transaction();
QSqlQuery q1(db);
q1.exec("delete from agentsinfo");
q1.exec("VACUUM");
db.commit();
q1.exec("VACUUM"); возвращает false.
вот выдержка из документации, по sqlite
"VACUUM only works on the main database. It is not possible to VACUUM an attached database file."
как это понимать? я боюсь у меня именно второй случай
изменения типа:
q1.exec("VACUUM FULL");
q1.exec("VACUUM agentsinfo");
тоже ничего не дают
оказывается надо было читать документацию дальше:
"The VACUUM command will fail if there is an active transaction. The VACUUM command is a no-op for in-memory databases."
вот код, который работает:
db.transaction();
QSqlQuery q1(db);
q1.exec("delete from agentsinfo");
db.commit();
q1.exec("VACUUM agentsinfo");