Author: turnstep
Date: Sat Mar 1 19:27:40 2008
New Revision: 10866
Modified:
DBD-Pg/trunk/Changes
DBD-Pg/trunk/Pg.pm
DBD-Pg/trunk/t/04misc.t
Log:
Add explicit $sth->parse_trace_flag() method, adjust docs and tests.
Modified: DBD-Pg/trunk/Changes
==============================================================================
--- DBD-Pg/trunk/Changes (original)
+++ DBD-Pg/trunk/Changes Sat Mar 1 19:27:40 2008
@@ -1,5 +1,9 @@
('GSM' is Greg Sabino Mullane, [EMAIL PROTECTED])
+2.2.2
+
+ - Add parse_trace_flag as statement handle method.
+
2.2.1
- Fixed memory leaks in dbdimp.c (CPAN bug #33743)
Modified: DBD-Pg/trunk/Pg.pm
==============================================================================
--- DBD-Pg/trunk/Pg.pm (original)
+++ DBD-Pg/trunk/Pg.pm Sat Mar 1 19:27:40 2008
@@ -229,7 +229,7 @@
use strict;
sub parse_trace_flag {
- my ($dbh, $flag) = @_;
+ my ($h, $flag) = @_;
return DBD::Pg->parse_trace_flag($flag);
}
@@ -1575,6 +1575,11 @@
{
package DBD::Pg::st;
+ sub parse_trace_flag {
+ my ($h, $flag) = @_;
+ return DBD::Pg->parse_trace_flag($flag);
+ }
+
sub bind_param_array {
## The DBI version is broken, so we implement a near-copy here
@@ -1795,6 +1800,9 @@
=head1 METHODS COMMON TO ALL HANDLES
+For all of the methods below, $h can be either a database handle ($dbh)
+or a statement handle ($sth).
+
=over 4
=item B<err>
@@ -1860,8 +1868,8 @@
=item B<parse_trace_flag> and B<parse_trace_flags>
- $dbh->trace($dbh->parse_trace_flag('SQL|pglibpq'));
- $dbh->trace($dbh->parse_trace_flag('1|pgstart'));
+ $h->trace($h->parse_trace_flag('SQL|pglibpq'));
+ $h->trace($h->parse_trace_flag('1|pgstart'));
my $value = DBD::Pg->parse_trace_flags('pglibpq');
DBI->trace($value);
Modified: DBD-Pg/trunk/t/04misc.t
==============================================================================
--- DBD-Pg/trunk/t/04misc.t (original)
+++ DBD-Pg/trunk/t/04misc.t Sat Mar 1 19:27:40 2008
@@ -16,7 +16,7 @@
if (! defined $dbh) {
plan skip_all => 'Connection to database failed, cannot continue
testing';
}
-plan tests => 36;
+plan tests => 54;
isnt( $dbh, undef, 'Connect to database for miscellaneous tests');
@@ -55,11 +55,21 @@
is( $num, 0x03000100, $t);
my $flagexp = 24;
+my $sth = $dbh->prepare('SELECT 1');
for my $flag (qw/pglibpq pgstart pgend pgprefix pglogin pgquote/) {
my $hex = 2**$flagexp++;
+ $t = qq{Database handle method 'server_trace_flag' returns $hex for
flag $flag};
+ $num = $dbh->parse_trace_flag($flag);
+ is( $num, $hex, $t);
$t = qq{Database handle method 'server_trace_flags' returns $hex for
flag $flag};
$num = $dbh->parse_trace_flags($flag);
is( $num, $hex, $t);
+ $t = qq{Statement handle method 'server_trace_flag' returns $hex for
flag $flag};
+ $num = $sth->parse_trace_flag($flag);
+ is( $num, $hex, $t);
+ $t = qq{Statement handle method 'server_trace_flags' returns $hex for
flag $flag};
+ $num = $sth->parse_trace_flag($flag);
+ is( $num, $hex, $t);
}
SKIP: {
@@ -208,7 +218,7 @@
$info =~ s/(Login connection string: ).+/$1/g;
is($info, "$expected$expected", $t);
- $t=q{Trace flag 'pglogin' works as expected with
DBD::Pg->parse_trace_flags()};
+ $t=q{Trace flag 'pglogin' works as expected with
DBD::Pg->parse_trace_flag()};
seek $fh, 0, 0;
truncate $fh, tell($fh);
DBI->trace($flagval, $filename);