Sqliteman can operate in Auto Commit mode or in Transaction Pending mode. It starts off in Auto Commit mode. It can go into Transaction Pending mode if the user executes a BEGIN command or a SAVEPOINT name command in the SQL Editor without a corresponding COMMIT, ROLLBACK, or RELEASE SAVEPOINT command. Executing a COMMIT or ROLLBACK command, or executing a RELEASE SAVEPOINT on the highest level savepoint, will take Sqliteman back to Auto Commit mode
In Auto Commit mode, all actions driven by the menus are committed to the database immediately, if they succeed. Editing fields, adding rows, or deleting rows in the current table (if there is one) result in changes cached inside Sqliteman until they are committed by pressing the Commit button or discarded by pressing the Rollback button. If you leave the current table, or select any menu action which modifies it, Sqliteman will ask if you want to commit your changes: the exceptions are Empty Table and Drop table, both of which discard all the data in the table anyway.
In Transaction Pending mode, all actions driven by the menus are added to the pending transaction. Editing fields, adding rows, or deleting rows in the current table (if there is one) result in changes cached inside Sqliteman, but the Commit button only writes the changes to the database, adding them to the pending transaction, and does not commit them. The Rollback button discards the changes as in Auto Commit mode. If you leave the current table, or select any menu action which modifies it, Sqliteman will ask if you want to write your changes to the database: the exceptions are Empty Table and Drop table, both of which discard all the data in the table anyway. To commit your changes, you need to execute a COMMIT or ROLLBACK command, or a RELEASE SAVEPOINT on the highest level savepoint, in the SQL Editor.
If you try to exit from Sqliteman, and some changes are cached, it will ask you if you want to write the changes to the database or discard them or cancel the exit. Next, if Sqliteman is in Pending Transaction mode, it will ask you if you want to commit the pending transaction, roll it back, or cancel the exit. Sqliteman cannot tell whether the pending transaction contains any changes to the database, so it asks even if there are no changes.