Jeffrey Baker > Apache-Session-1.54 > Apache::Session::Lock::MySQL

Download:
Apache-Session-1.54.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  7
Open  5
Stalled  3
View Bugs
Report a bug
Module Version: 1.00   Source   Latest Release: Apache-Session-1.88

NAME ^

Apache::Session::Lock::MySQL - Provides mutual exclusion using MySQL

SYNOPSIS ^

 use Apache::Session::Lock::MySQL;
 
 my $locker = new Apache::Session::Lock::MySQL;
 
 $locker->acquire_read_lock($ref);
 $locker->acquire_write_lock($ref);
 $locker->release_read_lock($ref);
 $locker->release_write_lock($ref);
 $locker->release_all_locks($ref);

DESCRIPTION ^

Apache::Session::Lock::MySQL fulfills the locking interface of Apache::Session. Mutual exclusion is achieved through the use of MySQL's GET_LOCK and RELEASE_LOCK functions. MySQL does not support the notion of read and write locks, so this module only supports exclusive locks. When you request a shared read lock, it is instead promoted to an exclusive write lock.

CONFIGURATION ^

The module must know how to connect to your MySQL database to acquire locks. You must provide a datasource name, a user name, and a password. These options are passed in the usual Apache::Session style, and are very similar to the options for Apache::Session::Store::MySQL. Example:

 tie %hash, 'Apache::Session::MySQL', $id, {
     LockDataSource => 'dbi:mysql:database',
     LockUserName   => 'database_user',
     LockPassword   => 'K00l'
 };

Instead, you may pass in an already opened DBI handle to your database.

 tie %hash, 'Apache::Session::MySQL', $id, {
     LockHandle => $dbh
 };

AUTHOR ^

This module was written by Jeffrey William Baker <jwbaker@acm.org>.

SEE ALSO ^

Apache::Session