Re: ANNOUNCE: DBD::Oracle 1.24 Release Candidate 1

Martin Evans <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase.devel
Organization Easysoft Limited
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.