| ApacheMysql documentation | Contained in the ApacheMysql distribution. |
Apache::Mysql - Initiate a persistent database connection to Mysql
use Apache::Mysql; $dbh = Apache::Mysql->connect(...);
This module supplies a persistent database connection to Mysql. You will need to have mysqlperl installed on your system. You should really use Apache::DBI instead of this module (this module was written when DBI::Mysql had problems, which have since been corrected).
This is the first version of the first module I have ever written, so expect errors! Any feedback or suggestions are gratefully received.
All you really need is to replace Mysql with Apache::Mysql. When connecting to a database the module looks if a database handle from a previous connect request is already stored. If not, a new connection is established and the handle is stored for later re-use. The destroy method has been intentionally left empty.
Apache(3), Mysql(3)
MySQL and mysqlperl by Michael (Monty) Widenius <month@tcx.se> mod_perl by Doug MacEachern <dougm@osf.org> Apache::Mysql by Neil Jensen <njensen@habaneros.com>
| ApacheMysql documentation | Contained in the ApacheMysql distribution. |
package Apache::Mysql; use strict; use Mysql(); my %Connected; sub connect { my($self, @args) = @_; my $idx; if ($#args == -1) { $idx = $self; } else { $idx = join (':', @args); } return (bless $Connected{$idx}) if $Connected{$idx}; # only uncomment out the following line to see the connections in error_log # print STDERR "Pid = $$, Apache::Mysql connect to $idx\n"; $Connected{$idx} = Mysql->Connect(@args); return (bless $Connected{$idx}); } sub DESTROY { } { package Apache::Mysql; no strict; @ISA=qw(Mysql); use strict; } 1; __END__