[svn:dbd-oracle] r15329 - in dbd-oracle/trunk: . lib/DBD lib/DBD/Oracle t

[email protected] Thu, 21 Jun 2012 13:03:25 -0700 (PDT)
Newsgroups perl.dbd.oracle.changes
Message-ID <[email protected]>
Author: yanick
Date: Thu Jun 21 13:03:23 2012
New Revision: 15329

Modified:
   dbd-oracle/trunk/Changes
   dbd-oracle/trunk/META.json
   dbd-oracle/trunk/META.yml
   dbd-oracle/trunk/README
   dbd-oracle/trunk/README.mkdn
   dbd-oracle/trunk/lib/DBD/Oracle.pm
   dbd-oracle/trunk/lib/DBD/Oracle/GetInfo.pm
   dbd-oracle/trunk/lib/DBD/Oracle/Object.pm
   dbd-oracle/trunk/t/51scroll.t

Log:
release housekeeping

Modified: dbd-oracle/trunk/Changes
==============================================================================
--- dbd-oracle/trunk/Changes	(original)
+++ dbd-oracle/trunk/Changes	Thu Jun 21 13:03:23 2012
@@ -1,6 +1,15 @@
 Revision history for DBD::Oracle
 
-NEXT
+1.45_00   2012-06-21
+
+ [CHANGE IN BEHAVIOUR]
+
+ - In future versions of DBD::Oracle ora_verbose will be changed
+   so that it is simply a switch to turn DBI's DBD tracing on or off.
+   A true value will turn it on and a false value will turn it off.
+   DBI's "DBD" tracing was not available when ora_verbose was created
+   and ora_verbose adds an additional test to every trace test.
+
  [BUG FIXES]
 
  - Fixed RT76695 - offset passed to ora_fetch_scroll should not affect
@@ -21,14 +30,6 @@
    If you want to try another connect attempt in your taf handler you
    now need to return OCI_FO_RETRY from it. (Martin J. Evans)
 
- [CHANGE IN BEHAVIOUR]
-
- - In future versions of DBD::Oracle ora_verbose will be changed
-   so that it is simply a switch to turn DBI's DBD tracing on or off.
-   A true value will turn it on and a false value will turn it off.
-   DBI's "DBD" tracing was not available when ora_verbose was created
-   and ora_verbose adds an additional test to every trace test.
-
  [MISCELLANEOUS]
 
  - minor change to confusing debug output for input parameters

Modified: dbd-oracle/trunk/META.json
==============================================================================
--- dbd-oracle/trunk/META.json	(original)
+++ dbd-oracle/trunk/META.json	Thu Jun 21 13:03:23 2012
@@ -3,10 +3,11 @@
    "author" : [
       "Tim Bunce <[email protected]>",
       "John Scoles",
-      "Yanick Champoux <[email protected]>"
+      "Yanick Champoux <[email protected]>",
+      "Martin J. Evans <[email protected]>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 4.300009, CPAN::Meta::Converter version 2.120630",
+   "generated_by" : "Dist::Zilla version 4.300016, CPAN::Meta::Converter version 2.120630",
    "license" : [
       "perl_5"
    ],

Modified: dbd-oracle/trunk/META.yml
==============================================================================
--- dbd-oracle/trunk/META.yml	(original)
+++ dbd-oracle/trunk/META.yml	Thu Jun 21 13:03:23 2012
@@ -4,6 +4,7 @@
   - 'Tim Bunce <[email protected]>'
   - 'John Scoles'
   - 'Yanick Champoux <[email protected]>'
+  - 'Martin J. Evans <[email protected]>'
 build_requires:
   Carp: 0
   Config: 0
@@ -20,7 +21,7 @@
 configure_requires:
   ExtUtils::MakeMaker: 6.30
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.300009, CPAN::Meta::Converter version 2.120630'
+generated_by: 'Dist::Zilla version 4.300016, CPAN::Meta::Converter version 2.120630'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html

Modified: dbd-oracle/trunk/README
==============================================================================
--- dbd-oracle/trunk/README	(original)
+++ dbd-oracle/trunk/README	Thu Jun 21 13:03:23 2012
@@ -75,7 +75,7 @@
 
     :ora_fail_over
           OCI_FO_END OCI_FO_ABORT OCI_FO_REAUTH OCI_FO_BEGIN OCI_FO_ERROR
-          OCI_FO_NONE OCI_FO_SESSION OCI_FO_SELECT OCI_FO_TXNAL
+          OCI_FO_NONE OCI_FO_SESSION OCI_FO_SELECT OCI_FO_TXNAL OCI_FO_RETRY
 
 DBI CLASS METHODS
   connect
@@ -245,7 +245,7 @@
       #set up TAF on the connection
       # NOTE since DBD::Oracle uses call_pv you may need to pass a full
       # name space as the function e.g., 'main::handle_taf'
-      my $dbh = DBI->connect('dbi:Oracle:XE','hr','hr',{ora_taf=>1,taf_sleep=>5,ora_taf_function=>'handle_taf'});
+      my $dbh = DBI->connect('dbi:Oracle:XE','hr','hr',{ora_taf=>1,ora_taf_sleep=>5,ora_taf_function=>'handle_taf'});
 
       #create the perl TAF event function
 
@@ -274,6 +274,9 @@
         }
         elsif ($fo_event == OCI_FO_ERROR){
            print " Failover error Sleeping...\n";
+           # DBD::Oracle will sleep for ora_taf_sleep if you return OCI_FO_RETRY
+           # If you want to stop retrying just return 0
+           return OCI_FO_RETRY;
         }
         else {
            printf(" Bad Failover Event: %d.\n",  $fo_event);
@@ -378,9 +381,14 @@
          return;
       }
 
+    Note you'll probably have to use the full name space when setting the
+    TAF function e.g., 'main::my_taf_function' and not just
+    'my_taf_function'.
+
    ora_taf_sleep
-    The amount of time in seconds the OCI client will sleep between
-    attempting successive failover events when the event is OCI_FO_ERROR.
+    The amount of time in seconds DBD::Oracle will sleep between attempting
+    successive failover events when the event is OCI_FO_ERROR and
+    OCI_FO_RETRY is returned from the TAF handler.
 
    ora_session_mode
     The ora_session_mode attribute can be used to connect with SYSDBA,
@@ -524,6 +532,12 @@
     In both cases the DBD::Oracle trace level is set to 6, which is the
     highest level tracing most of the calls to OCI.
 
+    NOTE: In future versions of DBD::Oracle ora_verbose will be changed so
+    that it is simply a switch to turn DBI's DBD tracing on or off. A true
+    value will turn it on and a false value will turn it off. DBI's "DBD"
+    tracing was not available when ora_verbose was created and ora_verbose
+    adds an additional test to every trace test.
+
    ora_oci_success_warn
     Use this value to print otherwise silent OCI warnings that may happen
     when an execute or fetch returns "Success With Info" or when you want to
@@ -3633,7 +3647,7 @@
       print "$i0 to $o0, $i1 to $o1\n";
       # Result is : "'' to '(undef)', 'Something else' to '1'"
 
-   Support for Insert of XMLType (ORA_XMLTYPE)
+  Support for Insert of XMLType (ORA_XMLTYPE)
     Inserting large XML data sets into tables with XMLType fields is now
     supported by DBD::Oracle. The only special requirement is the use of
     bind_param() with an attribute hash parameter that specifies ora_type as
@@ -3665,7 +3679,7 @@
     that is smaller than 32k as well. Attempting to insert malformed XML
     will cause an error.
 
-   Binding Cursors
+  Binding Cursors
     Cursors can be returned from PL/SQL blocks, either from stored functions
     (or procedures with OUT parameters) or from direct "OPEN" statements, as
     shown below:
@@ -3734,7 +3748,7 @@
     See the "curref.pl" script in the Oracle.ex directory in the DBD::Oracle
     source distribution for a complete working example.
 
-   Fetching Nested Cursors
+  Fetching Nested Cursors
     Oracle supports the use of select list expressions of type REF CURSOR.
     These may be explicit cursor expressions - "CURSOR(SELECT ...)", or
     calls to PL/SQL functions which return REF CURSOR values. The values of
@@ -3788,7 +3802,7 @@
         my ($nested) = $sth->fetchrow_array;
         while ( my @row = $nested->fetchrow_array ) { ... }
 
-   Pre-fetching Nested Cursors
+  Pre-fetching Nested Cursors
     By default, DBD::Oracle pre-fetches rows in order to reduce the number
     of round trips to the server. For queries which do not involve nested
     cursors, the number of pre-fetched rows is controlled by the DBI
@@ -4203,6 +4217,8 @@
 
     *   Yanick Champoux <[email protected]>
 
+    *   Martin J. Evans <[email protected]>
+
 COPYRIGHT AND LICENSE
     This software is copyright (c) 1994 by Tim Bunce.
 

Modified: dbd-oracle/trunk/README.mkdn
==============================================================================
--- dbd-oracle/trunk/README.mkdn	(original)
+++ dbd-oracle/trunk/README.mkdn	Thu Jun 21 13:03:23 2012
@@ -89,7 +89,7 @@
 - :ora_fail_over
 
   OCI_FO_END OCI_FO_ABORT OCI_FO_REAUTH OCI_FO_BEGIN OCI_FO_ERROR
-  OCI_FO_NONE OCI_FO_SESSION OCI_FO_SELECT OCI_FO_TXNAL
+  OCI_FO_NONE OCI_FO_SESSION OCI_FO_SELECT OCI_FO_TXNAL OCI_FO_RETRY
 
 # DBI CLASS METHODS
 
@@ -247,7 +247,7 @@
   #set up TAF on the connection
   # NOTE since DBD::Oracle uses call_pv you may need to pass a full
   # name space as the function e.g., 'main::handle_taf'
-  my $dbh = DBI->connect('dbi:Oracle:XE','hr','hr',{ora_taf=>1,taf_sleep=>5,ora_taf_function=>'handle_taf'});
+  my $dbh = DBI->connect('dbi:Oracle:XE','hr','hr',{ora_taf=>1,ora_taf_sleep=>5,ora_taf_function=>'handle_taf'});
 
   #create the perl TAF event function
 
@@ -276,6 +276,9 @@
     }
     elsif ($fo_event == OCI_FO_ERROR){
        print " Failover error Sleeping...\n";
+       # DBD::Oracle will sleep for ora_taf_sleep if you return OCI_FO_RETRY
+       # If you want to stop retrying just return 0
+       return OCI_FO_RETRY;
     }
     else {
        printf(" Bad Failover Event: %d.\n",  $fo_event);
@@ -389,10 +392,15 @@
      return;
   }
 
+Note you'll probably have to use the full name space when setting the
+TAF function e.g., 'main::my_taf_function' and not just
+'my_taf_function'.
+
 #### ora_taf_sleep
 
-The amount of time in seconds the OCI client will sleep between attempting
-successive failover events when the event is OCI_FO_ERROR.
+The amount of time in seconds DBD::Oracle will sleep between attempting
+successive failover events when the event is OCI_FO_ERROR and OCI_FO_RETRY
+is returned from the TAF handler.
 
 #### ora_session_mode
 
@@ -550,6 +558,12 @@
 In both cases the DBD::Oracle trace level is set to 6, which is the highest
 level tracing most of the calls to OCI.
 
+NOTE: In future versions of DBD::Oracle ora_verbose will be changed so
+that it is simply a switch to turn DBI's DBD tracing on or off.  A
+true value will turn it on and a false value will turn it off.  DBI's
+"DBD" tracing was not available when ora_verbose was created and
+ora_verbose adds an additional test to every trace test.
+
 #### ora_oci_success_warn
 
 Use this value to print otherwise silent OCI warnings that may happen
@@ -3649,7 +3663,7 @@
   print "$i0 to $o0, $i1 to $o1\n";
   # Result is : "'' to '(undef)', 'Something else' to '1'"
 
-#### Support for Insert of XMLType (ORA_XMLTYPE)
+## Support for Insert of XMLType (ORA_XMLTYPE)
 
 Inserting large XML data sets into tables with XMLType fields is now supported by DBD::Oracle. The only special
 requirement is the use of bind_param() with an attribute hash parameter that specifies ora_type as ORA_XMLTYPE. For
@@ -3679,7 +3693,7 @@
 In the above case we will assume that $xml has 10000 Book nodes and is over 32k in size and is well formed XML.
 This will also work for XML that is smaller than 32k as well. Attempting to insert malformed XML will cause an error.
 
-#### Binding Cursors
+## Binding Cursors
 
 Cursors can be returned from PL/SQL blocks, either from stored
 functions (or procedures with OUT parameters) or
@@ -3749,7 +3763,7 @@
 See the `curref.pl` script in the Oracle.ex directory in the DBD::Oracle
 source distribution for a complete working example.
 
-#### Fetching Nested Cursors
+## Fetching Nested Cursors
 
 Oracle supports the use of select list expressions of type REF CURSOR.
 These may be explicit cursor expressions - `CURSOR(SELECT ...)`, or
@@ -3804,7 +3818,7 @@
     my ($nested) = $sth->fetchrow_array;
     while ( my @row = $nested->fetchrow_array ) { ... }
 
-#### Pre-fetching Nested Cursors
+## Pre-fetching Nested Cursors
 
 By default, DBD::Oracle pre-fetches rows in order to reduce the number of
 round trips to the server. For queries which do not involve nested cursors,
@@ -4252,9 +4266,13 @@
 
 Yanick Champoux <[email protected]>
 
+- *
+
+Martin J. Evans <[email protected]>
+
 # COPYRIGHT AND LICENSE
 
 This software is copyright (c) 1994 by Tim Bunce.
 
 This is free software; you can redistribute it and/or modify it under
-the same terms as the Perl 5 programming language system itself.
+the same terms as the Perl 5 programming language system itself.
\ No newline at end of file

Modified: dbd-oracle/trunk/lib/DBD/Oracle.pm
==============================================================================
--- dbd-oracle/trunk/lib/DBD/Oracle.pm	(original)
+++ dbd-oracle/trunk/lib/DBD/Oracle.pm	Thu Jun 21 13:03:23 2012
@@ -5488,6 +5488,10 @@
 
 Yanick Champoux <[email protected]>
 
+=item *
+
+Martin J. Evans <[email protected]>
+
 =back
 
 =head1 COPYRIGHT AND LICENSE

Modified: dbd-oracle/trunk/lib/DBD/Oracle/GetInfo.pm
==============================================================================
--- dbd-oracle/trunk/lib/DBD/Oracle/GetInfo.pm	(original)
+++ dbd-oracle/trunk/lib/DBD/Oracle/GetInfo.pm	Thu Jun 21 13:03:23 2012
@@ -313,6 +313,10 @@
 
 Yanick Champoux <[email protected]>
 
+=item *
+
+Martin J. Evans <[email protected]>
+
 =back
 
 =head1 COPYRIGHT AND LICENSE

Modified: dbd-oracle/trunk/lib/DBD/Oracle/Object.pm
==============================================================================
--- dbd-oracle/trunk/lib/DBD/Oracle/Object.pm	(original)
+++ dbd-oracle/trunk/lib/DBD/Oracle/Object.pm	Thu Jun 21 13:03:23 2012
@@ -57,6 +57,10 @@
 
 Yanick Champoux <[email protected]>
 
+=item *
+
+Martin J. Evans <[email protected]>
+
 =back
 
 =head1 COPYRIGHT AND LICENSE

Modified: dbd-oracle/trunk/t/51scroll.t
==============================================================================
--- dbd-oracle/trunk/t/51scroll.t	(original)
+++ dbd-oracle/trunk/t/51scroll.t	Thu Jun 21 13:03:23 2012
@@ -34,7 +34,7 @@
 isa_ok($dbh, "DBI::db");
 
 my $table = table();
-#drop_table($dbh);
+
 
 $dbh->do(qq{
 	CREATE TABLE $table (