Extracting information back out of a DBH
Simon Wistow
simon at thegestalt.org
Mon Feb 9 21:01:00 GMT 2009
I'm dealing with some code that currently uses a lookup table for dbh
handles with the hash key being based on the dsn, username and password
passed in.
I'm adapting it to be able to take in a random DB handle and therefore
I'd really like to be able to extract the dsn and username back out
again. Preferably I'd like to be able to get the password out again to
but I can't think of a database whereby a user can use multiple
passwords with the resulting handles having different abilities
(although maybe I'm wrong).
DBH has a clone method which "duplicates the $dbh connection by
connecting with the same parameters ($dsn, $user, $password) as
originally used."
which sounds like it should mean that the information is available but
since it also does something with a closure it's possible that for .xs
based drivers something more funky is going on.
So basically, I have 3 questions:
1) Is there any reason not just to use the username and dsn in the hash
2) Is there any way to get that information out of a dbh
3) Is there another way to do this?
I suppose, I could either force the user to pass in a username and dsn
when they pass in the dbh or, alternatively, just use a random hash and
lose the auto pooling of handles.
Simon
More information about the london.pm
mailing list