Martin Evans wrote: > Martin Evans wrote: >> John Scoles wrote: >>> Well here it is the long awaited 1.24 Beer version of DBD::ORACLE >>> >>> http://sctvguide.ca/images/bd_two-four.jpg >>> >>> >>> You can find the release candidate here >>> >>> http://svn.perl.org/modules/dbd-oracle/trunk/DBD-Oracle-1.24-RC1.tar >>> >>> Any and all testing will be most welcome! >>> >>> Well a big load of stuff this time. A number of patches and bug fixes >>> plus with this RC I am introducing a two really big features >>> >>> 1) Full support for a multiple records from a single Fetch. This should >>> really speed things up as it cuts down on round trips to the >>> server >>> >>> 2) I have added ora_ncs_buff_mtpl or environment var ORA_DBD_NCS_BUFFER >>> so you can control the size of the byte buffer for lobs. So rather >>> than a default buffer 4* the Long_Read_Length or it is now 1. >>> This should free up great hoards of memory for your LOB Fetches >>> >>> anyway here is a complete list >>> >>> >>> Added extended support for 64 bit clients in Makefile.PL from Ralph >>> Doncaster >>> Added extended nvarchar support from Jan Mach >>> Added support for the TYPE attribute on bind_col and the new DBI >>> bind_col attributes StrictlyTyped and DiscardString from Martin J. Evans >>> Added ora_ncs_buff_mtpl and environment var ORA_DBD_NCS_BUFFER so we >>> can control the size of the buffer when doing nclob reads >>> Fix for bug in for changes to row fetch buffer mostly lobs and object >>> fetches >>> Fix for rt.cpan.org Ticket #=49741 Oracle.h has commented out params >>> in OCIXMLTypeCreateFromSrc from Kartik Thakore >>> Added from rt.cpan.org Ticket #=49436 Patch to add support for a few >>> Oracle data types to type_info_all from David Hull >>> Added from rt.cpan.org Ticket #=49435 Patch to add support for a few >>> Oracle data types to dbd_describe from David Hull >>> Fix for rt.cpan.org Ticket #=49331 Bad code example in POD from John >>> Scoles >>> Added support for looking up OCI_DTYPE_PARAM Attributes >>> Added support for looking up csform values >>> Fix for rt.cpan.org Ticket #=46763,46998 enhancement -Rowcache size is >>> now being properly implemented with row fetch buffer from John Scoles >>> Fix for rt.cpan.org Ticket #=46448 enhancement -Errors returned by >>> procedures are now unicode strings from Martin Evans, John Scoles and >>> Tim Bunce >>> Fix for rt.cpan.org Ticket #=47503 bugfix - using more than 1 LOB in >>> insert broken from APLA >>> Fix for rt.cpan.org Ticket #=46613 bugfix - sig-abort on nested >>> objects with ora_objects=1 from TomasP >>> Fix for rt.cpan.org Ticket #=46661 DBD::Oracle hungs when >>> insert/update with LOB and quoted table name from APLA >>> Fix for rt.cpan.org Ticket #=46246 fetching from nested cursor >>> (returned from procedure) leads to application crash (abort) from John >>> Scoles >>> Fix for rt.cpan.org Ticket #=46016 LOBs bound with ora_field broken >>> from RKITOVER >>> Fix for bug in 58object.t when test run as externally identified user >>> from Charles Jardine >>> >>> >> Thanks for this John. >> >> All tests pass on "v5.10.0 built for i486-linux-gnu-thread-multi" with >> instant client 11.1 to Oracle 11.1.0 and the latest (from subversion) >> DBI except 26exe_array (the usual problem). >> >> I have a few minor comments. >> >> 1. >> >> The following minor patch makes a lot of warnings go away because ah is >> actually an OCIServer * and not a signed long: >> >> Index: ocitrace.h >> =================================================================== >> --- ocitrace.h (revision 13710) >> +++ ocitrace.h (working copy) >> @@ -267,7 +267,7 @@ >> stat=OCIAttrSet(th,ht,ah,s1,a,eh); \ >> (DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP, >> \ >> "%sAttrSet(%p,%s, %p,%lu,Attr=%s,%p)=%s\n", >> \ >> - OciTp, >> (void*)th,oci_hdtype_name(ht),sl_t(ah),ul_t(s1),oci_attr_name(a),(void*)eh, >> \ >> + OciTp, (void*)th,oci_hdtype_name(ht),(void >> *)ah,ul_t(s1),oci_attr_name(a),(void*)eh, \ >> oci_status_name(stat)),stat : stat >> >> #define >> OCIBindByName_log_stat(sh,bp,eh,p1,pl,v,vs,dt,in,al,rc,mx,cu,md,stat) >> \ >> >> 2. >> >> There are a number of typos in the Changes file for 1.24: >> >> extened (*2) => extended >> enviornment => environment >> "Fix for bug in for changes" => ? what does this mean? >> implimented => implemented >> hungs => hangs >> >> 3. >> >> Since 26exe_array fails for a growing number of people (758 hits on >> google for 26exe_array fail) I think it would be useful to explain why >> somewhere and add a Test::More::diag (or note, but needs a later >> Test::More - I think DBI needs note now too). I would happily supply the >> text but I still don't understand exactly why it fails. >> >> 4. >> >> There are a number of comments on annocpan (and typos) which would be >> worth considering. >> >> 5. >> >> What does ora_ncs_buff_mtpl and ORA_DBD_NCS_BUFFER in the Changes refer >> to - I cannot find any documentation. >> >> I have not tested the rts I reported yet or the bind_col changes but >> once I've done that I'll report back again and install it on our test >> system. >> >> Martin > > Spoke too soon about it running ok except 26exe_array - don't know how I > missed it first time around but with a fresh untar of the rc using same > versions of client and server as above I get: > > t/26exe_array...........dubious > > Test returned status 2 (wstat 512, 0x200) > DIED. FAILED tests 11, 14 > Failed 2/17 tests, 88.24% okay > t/28array_bind..........ok > > t/30long................ok 1/479DBD::Oracle has returned a NEED_DATA > status when doing a LobRead!! > DBD::Oracle::db disconnect failed: ORA-03127: no new operations allowed > until the active operation ends (DBD ERROR: OCISessionEnd) at t/30long.t > line 68. > t/30long................dubious > > Test returned status 255 (wstat 65280, 0xff00) > DIED. FAILED tests 196-479 > Failed 284/479 tests, 40.71% okay (less 122 skipped tests: 73 okay, > 15.24%) > t/31lob.................ok > > t/31lob_extended........ok 1/31DBD::Oracle has returned a NEED_DATA > status when doing a LobRead!! > procedure p_DBD_Oracle_drop_me possibly not dropped- check > table dbd_ora__drop_me possibly not dropped - check > DBD::Oracle::db DESTROY failed: ORA-03127: no new operations allowed > until the active operation ends (DBD ERROR: OCIStmtExecute) > ORA-03127: no new operations allowed until the active operation ends > (DBD ERROR: OCISessionEnd) at t/31lob_extended.t line 91. > t/31lob_extended........dubious > > Test returned status 255 (wstat 65280, 0xff00) > DIED. FAILED tests 24-31 > Failed 8/31 tests, 74.19% okay > t/32xmltype.............ok > > Martin
These failures were due to the fact I had set NLS_LANG=AMERICAN_AMERICA.AL32UTF8 to test the utf8 text in error messages. They go away when NLS_LANG is unset. Martin -- Martin J. Evans Easysoft Limited http://www.easysoft.com