Subject: | DBD::Proxy should block connected() method |
Once connect() has succeeded via DBD::Proxy, DBI will call connected()
on the database handle, which DBD::Proxy will then relay to the remote
handle. However, connected() has already been invoked on that handle
after the return of the remote DBI->connect(). Not only is connected()
thus called twice, but the second invocation does not carry the same
arguments that the remote handle would expect.
(Also, some of those arguments may not be serializable. I ran into this
bug when trying to pass a socket to PlRPC via proxy_rpc_socket.
Needless to say, Storable refused to send that IO::Socket over the wire.)
It seems to me that DBD::Proxy::db should define an empty connected()
that returns immediately.