Author: turnstep
Date: Mon Aug 18 19:30:39 2008
New Revision: 11667
Modified:
DBD-Pg/trunk/Changes
DBD-Pg/trunk/Pg.pm
Log:
More variations of the 'DBD' tracing, and turn off the pgprefix.
Modified: DBD-Pg/trunk/Changes
==============================================================================
--- DBD-Pg/trunk/Changes (original)
+++ DBD-Pg/trunk/Changes Mon Aug 18 19:30:39 2008
@@ -2,7 +2,9 @@
2.10.0
- - Add the 'DBD' trace setting to output only non-DBI trace messages.
[GSM]
+ - Add the 'DBD' trace setting to output only non-DBI trace messages,
+ and allow 'dbd_verbose' as a connection attribute for the same
+ effect. [GSM]
2.9.2 Released August 18, 2008 (subversion r11664)
Modified: DBD-Pg/trunk/Pg.pm
==============================================================================
--- DBD-Pg/trunk/Pg.pm (original)
+++ DBD-Pg/trunk/Pg.pm Mon Aug 18 19:30:39 2008
@@ -80,7 +80,7 @@
## These two methods are here to allow calling before connect()
sub parse_trace_flag {
my ($class, $flag) = @_;
- return 0x7FFFFF00 if $flag eq 'DBD';
+ return (0x7FFFFF00 - 0x08000000) if $flag eq 'DBD'; ## all but
the prefix
return 0x01000000 if $flag eq 'pglibpq';
return 0x02000000 if $flag eq 'pgstart';
return 0x04000000 if $flag eq 'pgend';
@@ -185,7 +185,7 @@
sub connect { ## no critic (ProhibitBuiltinHomonyms)
- my ($drh, $dbname, $user, $pass)= @_;
+ my ($drh, $dbname, $user, $pass, $attr) = @_;
## Allow "db" and "database" as synonyms for "dbname"
$dbname =~ s/\b(?:db|database)\s*=/dbname=/;
@@ -214,6 +214,12 @@
my $version = $dbh->{pg_server_version};
$dbh->{private_dbdpg}{version} = $version;
+ if ($attr) {
+ if ($attr->{dbd_verbose}) {
+ $dbh->trace('DBD');
+ }
+ }
+
return $dbh;
}
@@ -1806,6 +1812,11 @@
$password,
{AutoCommit => 0, RaiseError => 1});
+The attribute hash can also contain a key named C<dbd_verbose>, which
+simply calls C<$dbh->trace('DBD')> after the handle is created. This attribute
+is not recommended, as it is clearer to simply explicitly call C<trace>
explicitly
+in your script.
+
=head3 B<connect_cached>
$dbh = DBI->connect_cached("dbi:Pg:dbname=$dbname", $username, $password,
\%options);