On 7 Jul 2014, at 6:49am, big stone <[email protected]> wrote:

> If I understood well, the "autocommit" idea was to not "hold" the database
> file by default, and ease multi-user access to the file database.

Not executing "BEGIN" is also the most frequent error that SQL programmers 
make.  Just like even the most experienced C programmer forgets a semicolon 
occasionally, even the most experienced SQL programmer forgets a "BEGIN".

SQLite does provide a way to check if you have manually started a transaction:

<http://www.sqlite.org/c3ref/get_autocommit.html>

and this can be used in interfaces and drivers which need to know whether they 
should be implementing their own transaction for a statement.  But I don't 
remember seeing one that uses it that way.

It's also useful if you have received an error from a SQL command and are 
trying to work out how serious is it.  If you're back in autocommit mode then 
you know your entire trasaction -- not just the statement -- has been 
terminated.

Simon.
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to