What happens exactly when AutoCommit is "off"?

Hi! What exactly do fastinsert, etc., do when AutoCommit is set to off: an actual "push," or a simulation thereof? Put another way, is one obliged to use rollback to undo an insert even if AutoCommit is set to off? Is there any other way to "simulate" an insert w/out actually pushing data to the DB?
Thanks!

 Accepted Answer

Hi,
the autocommit is handled on the database side. Depending on the database at hand, the table where the insert is done, is locked, such that queries on this table are queued until the insert is either commited or rolled back. So, yes, you have to commit/rollback (although usually the rollback is done automatically after some timeout).
Usually you use autocommit=off to be sure about having multiple inserts done "simultaenously", i.e. do some insert statements after each other. If all go well, commit, if one of them fails, rollback (all) of them.
Titus

1 Comment

Excellent, thanks! Good info, well-stated: I vote for it being added to the official documentation of fastinsert! (Or as a separate entry documenting the AutoCommit state.) :-)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!