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


Apache-Session documentation  | view source Contained in the Apache-Session distribution.

Index


NAME

Top

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

SYNOPSIS

Top

 use Apache::Session::Lock::MySQL;

 my $locker = Apache::Session::Lock::MySQL->new();

 $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

Top

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

Top

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

Top

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

SEE ALSO

Top

Apache::Session


Apache-Session documentation  | view source Contained in the Apache-Session distribution.