1
0
Fork 0
mirror of https://github.com/DBD-SQLite/DBD-SQLite synced 2025-06-07 14:19:10 -04:00

improved description on immediate transaction (#9)

This commit is contained in:
Kenichi Ishigaki 2015-04-17 01:52:43 +09:00
parent 1034fedc84
commit ba815ce91f

View file

@ -1373,8 +1373,8 @@ operation, and thus it is possible that another thread or process
could create a separate transaction and write to the database after
the C<BEGIN> on the current thread has executed, and eventually
cause a "deadlock". To avoid this, DBD::SQLite internally issues
a C<BEGIN IMMEDIATE> when you begin a transaction by
C<begin_work> or under the C<AutoCommit> mode (since 1.38_01).
a C<BEGIN IMMEDIATE> if you begin a transaction by
C<begin_work> or by turning off C<AutoCommit> (since 1.38_01).
If you really need to turn off this feature for some reasons,
set C<sqlite_use_immediate_transaction> database handle attribute
@ -1384,6 +1384,9 @@ to false, and the default C<deferred> transaction will be used.
sqlite_use_immediate_transaction => 0,
});
Or, issue a C<BEGIN> statement explicitly each time you begin
a transaction.
See L<http://sqlite.org/lockingv3.html> for locking details.
=head2 C<< $sth->finish >> and Transaction Rollback