mirror of
https://github.com/sqlitebrowser/sqlitebrowser.git
synced 2026-01-20 11:00:44 -06:00
it's now possible to specify the restore point name
This commit is contained in:
@@ -86,39 +86,43 @@ bool DBBrowserDB::open ( const QString & db)
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool DBBrowserDB::setRestorePoint()
|
||||
bool DBBrowserDB::setRestorePoint(const QString& pointname)
|
||||
{
|
||||
if (!isOpen()) return false;
|
||||
if (dirty) return false;
|
||||
|
||||
if (_db){
|
||||
sqlite3_exec(_db,"SAVEPOINT RESTOREPOINT;",
|
||||
QString query = QString("SAVEPOINT %1;").arg(pointname);
|
||||
sqlite3_exec(_db, query.toUtf8(),
|
||||
NULL,NULL,NULL);
|
||||
setDirty(true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool DBBrowserDB::save()
|
||||
bool DBBrowserDB::save(const QString& pointname)
|
||||
{
|
||||
if (!isOpen()) return false;
|
||||
|
||||
if (_db){
|
||||
sqlite3_exec(_db,"RELEASE RESTOREPOINT;",
|
||||
QString query = QString("RELEASE %1;").arg(pointname);
|
||||
sqlite3_exec(_db, query.toUtf8(),
|
||||
NULL,NULL,NULL);
|
||||
setDirty(false);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool DBBrowserDB::revert()
|
||||
bool DBBrowserDB::revert(const QString& pointname)
|
||||
{
|
||||
if (!isOpen()) return false;
|
||||
|
||||
if (_db){
|
||||
sqlite3_exec(_db,"ROLLBACK TO SAVEPOINT RESTOREPOINT;",
|
||||
QString query = QString("ROLLBACK TO SAVEPOINT %1;").arg(pointname);
|
||||
sqlite3_exec(_db, query.toUtf8(),
|
||||
NULL,NULL,NULL);
|
||||
sqlite3_exec(_db,"RELEASE RESTOREPOINT;",
|
||||
query = QString("RELEASE %1;").arg(pointname);
|
||||
sqlite3_exec(_db, query.toUtf8(),
|
||||
NULL,NULL,NULL);
|
||||
setDirty(false);
|
||||
}
|
||||
@@ -391,7 +395,7 @@ bool DBBrowserDB::addRecord(const QString& sTableName)
|
||||
// we should cache the parsed tables somewhere
|
||||
sqlb::Table table = sqlb::Table::parseSQL(getTableSQL(sTableName));
|
||||
QString sInsertstmt = table.emptyInsertStmt();
|
||||
|
||||
qDebug() << sInsertstmt;
|
||||
lastErrorMessage = "";
|
||||
logSQL(sInsertstmt, kLogMsg_App);
|
||||
setRestorePoint();
|
||||
|
||||
@@ -83,9 +83,9 @@ public:
|
||||
bool create ( const QString & db);
|
||||
void close ();
|
||||
bool compact ();
|
||||
bool setRestorePoint();
|
||||
bool save ();
|
||||
bool revert ();
|
||||
bool setRestorePoint(const QString& pointname = "RESTOREPOINT");
|
||||
bool save (const QString& pointname = "RESTOREPOINT");
|
||||
bool revert (const QString& pointname = "RESTOREPOINT");
|
||||
bool dump( const QString & filename);
|
||||
bool reload( const QString & filename, int * lineErr);
|
||||
bool executeSQL ( const QString & statement, bool dirtyDB=true, bool logsql=true);
|
||||
|
||||
Reference in New Issue
Block a user