Venerable monks,
I'm looking for a module that will cache a database handle for me and correctly handle when the program forks. I know DBIx::Class does this, but I don't need or want the ache of defining a schema and such, just the handle.
I have a program that uses a database. In it, I have a simple function to get a connection to the database.
sub dbh { my ($u,$p) = ('user',':)'); my $dbh = DBI->connect( "dbi:Sybase:server=sql.example.com", $u, $p, { RaiseError => 1 }, ); $dbh->do( $initial_stuff ); $L->debug( "made new database connection $dbh" ); return $dbh; }
That works fine. It would be easy enough to write something that caches that using a state variable.
sub dbh { state $dbh; if ( ! defined $dbh ) { # blah blah bah } return $dbh; }
That way I don't open up a new connection every time I need to talk to the database. Unfortunately, that will get tripped up when I fork.
I know about DBI, fork, and clone. I know how to write the code to get around this. What I want is a module that's already done it for me. Does it exist?
In reply to Simple DBI handle caching. by kyle
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |