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);

Reply via email to