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
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com