Skip to content

Commit 3f29599

Browse files
committed
Merge pull request sqlitebrowser#363 from schdub/issue362
fix: renameColumn 'no error' after errors
2 parents 6b8f57d + d4ce11b commit 3f29599

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/sqlitedb.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -931,18 +931,20 @@ bool DBBrowserDB::renameColumn(const QString& tablename, const QString& name, sq
931931
// Create the new table
932932
if(!executeSQL(newSchema.sql()))
933933
{
934-
lastErrorMessage = tr("renameColumn: creating new table failed. DB says: %1").arg(lastErrorMessage);
935-
qWarning() << lastErrorMessage;
934+
QString error(tr("renameColumn: creating new table failed. DB says: %1").arg(lastErrorMessage));
935+
qWarning() << error;
936936
executeSQL("ROLLBACK TO SAVEPOINT sqlitebrowser_rename_column;");
937+
lastErrorMessage = error;
937938
return false;
938939
}
939940

940941
// Copy the data from the old table to the new one
941942
if(!executeSQL(QString("INSERT INTO sqlitebrowser_rename_column_new_table SELECT %1 FROM `%2`;").arg(select_cols).arg(tablename)))
942943
{
943-
lastErrorMessage = tr("renameColumn: copying data to new table failed. DB says:\n%1").arg(lastErrorMessage);
944-
qWarning() << lastErrorMessage;
944+
QString error(tr("renameColumn: copying data to new table failed. DB says:\n%1").arg(lastErrorMessage));
945+
qWarning() << error;
945946
executeSQL("ROLLBACK TO SAVEPOINT sqlitebrowser_rename_column;");
947+
lastErrorMessage = error;
946948
return false;
947949
}
948950

@@ -958,9 +960,10 @@ bool DBBrowserDB::renameColumn(const QString& tablename, const QString& name, sq
958960
// Delete the old table
959961
if(!executeSQL(QString("DROP TABLE `%1`;").arg(tablename)))
960962
{
961-
lastErrorMessage = tr("renameColumn: deleting old table failed. DB says: %1").arg(lastErrorMessage);
962-
qWarning() << lastErrorMessage;
963+
QString error(tr("renameColumn: deleting old table failed. DB says: %1").arg(lastErrorMessage));
964+
qWarning() << error;
963965
executeSQL("ROLLBACK TO SAVEPOINT sqlitebrowser_rename_column;");
966+
lastErrorMessage = error;
964967
return false;
965968
}
966969

0 commit comments

Comments
 (0)