[svn:dbd-oracle] r15596 - dbd-oracle/trunk
[email protected] Thu, 28 Mar 2013 13:21:53 -0700 (PDT)
| Newsgroups | perl.dbd.oracle.changes |
|---|---|
| Message-ID | <[email protected]> |
Author: mjevans
Date: Thu Mar 28 13:21:53 2013
New Revision: 15596
Modified:
dbd-oracle/trunk/Changes
dbd-oracle/trunk/oci8.c
Log:
Fix rt84170 - scrollable cursors fail to return undef on last fetch
Modified: dbd-oracle/trunk/Changes
==============================================================================
--- dbd-oracle/trunk/Changes (original)
+++ dbd-oracle/trunk/Changes Thu Mar 28 13:21:53 2013
@@ -4,9 +4,11 @@
[BUG FIXES]
- - Changed 51scroll.t to test you cannot fetch off the end of the
- result-set with a scrollable cursor - will fail until patch from
- RT 84170 committed (REMOVE WHEN RELEASED)
+ - Fixed RT84170 - when using scrollable cursors and you've done a
+ positioned fetch and then keep fetching until the end of the
+ result-set calls to fetch never return undef and you keep getting
+ the last row forever. Also added test case to the 51scroll.t test
+ (Martin J. Evans).
1.58 2013-03-05
- promote 1.57_00 to official release
Modified: dbd-oracle/trunk/oci8.c
==============================================================================
--- dbd-oracle/trunk/oci8.c (original)
+++ dbd-oracle/trunk/oci8.c Thu Mar 28 13:21:53 2013
@@ -4002,6 +4002,10 @@
OCIStmtFetch_log_stat(imp_sth, imp_sth->stmhp, imp_sth->errhp,1, imp_sth->fetch_orient,imp_sth->fetch_offset, status);
/*this will work without a round trip so might as well open it up for all statments handles*/
/* default and OCI_FETCH_NEXT are the same so this avoids miscaluation on the next value*/
+ if (status==OCI_NO_DATA){
+ return Nullav;
+ }
+
OCIAttrGet_stmhp_stat(imp_sth, &imp_sth->fetch_position, 0, OCI_ATTR_CURRENT_POSITION, status);
if (DBIc_DBISTATE(imp_sth)->debug >= 4 || dbd_verbose >= 4 )