How Running with Autocommit On Works
Autocommit on describes a transaction management state in which each database statement is an individual transaction automatically committed when it is successfully executed. By default, autocommit is off. To turn autocommit on, use DBSessionObject's SetAutoCommit method.
When autocommit is on, the database session can have only one cursor open at a time (including a query object opened in cursor mode). When a cursor is open, the only valid database statements that the application can issue in the cursor's database session are cursor statements. For example, if autocommit is on and the application is running a single database session, you cannot open a cursor in one frame, call or open another frame, and then perform another unrelated database operation in the new frame before returning to the first frame and continuing the cursor operation.