On Apr 15, 2010, at 5:17 AM, Tim Bunce wrote:
> $drh = DBI->install_driver($driver);
> $dbh = $drh->connect(...);
>
> Assuming we added a $dbh->connecting() method, how would it be called,
> and how would the callback have been enabled prior to calling it?
In connect(), before $connect_meth, just as connected() is called in that
method after $connect_meth.
$dbh->connected(@orig_args);
unless ($dbh = $drh->$connect_meth($dsn, $user, $pass, $attr)) {
> Why not register the callback on the driver:
>
> DBI->install_driver('Pg')->{Callbacks}{connect} = ...;
>
> That'll affect all subsequent connects using that driver and won't work
> with proxy drivers like Gofer, which is why DBI docs discourage messing
> with driver handles, but it may fit your needs.
It's not my needs. Someone is creating a CPAN module I think. His needs were
met by connected(), but I think that connecting() would be useful as well.
> If we did that (and handled backwards compatibility somewhow)
> then presumably new_child() could apply the Callbacks attribute
> which would then fire on the subsequent $dbh->connect call.
That would be cool. I, alas, have a very short supply of tuits these days.
Best,
David