On Tue, May 28, 2002 at 09:20:18AM +0200, H.Merijn Brand wrote:
> On Tue 28 May 2002 00:19, Tim Bunce <[EMAIL PROTECTED]> wrote:
> > Given this code:
> > 
> >     my $dbh = DBI->connect("dbi:ExampleP:", '', '', {
> >     Profile => 1    #  <=== NEW
> >     });
> >     my $sth = $dbh->prepare("select mode,size,name from ?");
> >     $sth->execute(".");
> >     while ( my $hash = $sth->fetchrow_hashref ) {
> >     }
> >     exit 0;
> >
> > [snip]
> >
> > Any questions/comments?
> 
> Lovely. Very useful. Hope to be able to extend DBD::Unify to meet what 1.23
> offers soon. Time's short however.
> 
> Could you consider promoting my support for DBD backend debugging to DBI?
> 
>      my $dbh = DBI->connect ("dbi:ExampleP:", "", "", {
>       Profile    => 1,        #  <=== NEW
>       DBDverbose => 9,        # Backend debugging
>       });
> 
> In DBD::Unify it shows what is happening behind the scenes. I know that Oracle
> has support for dumping all SQL backend communications to a file, including
> optimization actions and such, but DBDverbose controls debug statements in
> dbdimp.c These probably aint very informative for the end user that just want
> to retreive records, but for those that want to squeeze the last drop of
> performance out of the available DBD, it provides a welth of information.

The existing trace level mechanism is specifically meant for that.
>From the docs:

 Trace levels are as follows:
 
  0 - Trace disabled.
  1 - Trace DBI method calls returning with results or errors.
  2 - Trace method entry with parameters and returning with results.
  3 - As above, adding some high-level information from the driver
      and some internal information from the DBI.
  4 - As above, adding more detailed information from the driver.
      Also includes DBI mutex information when using threaded Perl.
  5 and above - As above but with more and more obscure information.

For example, DBD::Oracle shows progressively more information from
trace level 3 upwards.  At level 9 where it shows every OCI API
function call with parameters and results.

Tim.

Reply via email to