Practical mod_perl / HTML Book /



previous page: 20.1.5.1. Database locking risks
  
page up: HTML Version of the book
  
next page: 20.1.5.3. Opening connections with different parameters

20.1.5.2. Transactions


A standard Perl script using DBI will automatically perform a rollback whenever the script exits. In the case of persistent database connections, the database handle will not be destroyed and hence no automatic rollback will occur. At first glance it even seems to be possible to handle a transaction over multiple requests, but the temptation should be avoided because different requests are handled by different mod_perl processes, and a mod_perl process does not know the state of a specific transaction that has been started by another mod_perl process.

In general, it is good practice to perform an explicit commit or rollback at the end of every script. To avoid inconsistencies in the database in case AutoCommit is Off and the script terminates prematurely without an explicit rollback, the Apache::DBI module uses a PerlCleanupHandler to issue a rollback at the end of every request.

 

Continue to:

  • prev: 20.1.5.1. Database locking risks
  • Table of Contents
  • next: 20.1.5.3. Opening connections with different parameters







TOP
previous page: 20.1.5.1. Database locking risks
  
page up: HTML Version of the book
  
next page: 20.1.5.3. Opening connections with different parameters


Menu

  • HTML Book
  • PDF Book
  • Download Code
  • Table of Contents
  • Errata
  • mod_perl2 User's Guide
  • Sitemap

Search


Add to Google




Creative Commons License


Written by
Eric Cholet (Logilune) and
Stas Bekman (StasoSphere & Free Books).


[ Privacy Policy | Terms of Use | About Us | Search ]

© 2007 StasoSphere.com