Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the DBD-Oracle CPAN distribution.

Report information
The Basics
Id: 39232
Status: resolved
Priority: 0/
Queue: DBD-Oracle

People
Owner: Nobody in particular
Requestors: jeffrey.klein [...] priorityhealth.com
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 1.22
Fixed in: 1.23



Subject: binding large XMLTYPE fails on 64-bit perl
64-bit perl on HPUX fails test "execute for large XML" in 32xmltyp.t DBI_TRACE=6: OCIDescriptorAlloc(800000010056a168,800003ffbfff1e28,OCI_DTYPE_LOB,0,0) OCILobCreateTemporary(800000010058df48,800000010058e018,80000001005d39c0,0,0,2,0,10)=SUCCESS OCILobWriteAppend(800000010058df48,800000010058e018,80000001005d39c0,800003ffbfff1e18,800000010081ca18,567854,0,0,0,1,1)=ERROR OCIErrorGet(800000010058e018,1,"<NULL>",800003ffbfff24a8,"ORA-24801: illegal parameter value in OCI lob function ",1024,2)=SUCCESS OCILobWriteAppend requires a pointer to ub4; in this build of perl, STRLEN is 8 bits. Patch attached. Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Built under hpux
Subject: xml-64bit.patch
Index: dbdimp.c =================================================================== --- dbdimp.c (revision 11777) +++ dbdimp.c (working copy) @@ -1039,6 +1039,7 @@ dTHR; OCIXMLType *xml = NULL; STRLEN len; + ub4 buflen; sword status; ub1 src_type; dvoid* src_ptr = NULL; @@ -1074,8 +1075,9 @@ } csid = (SvUTF8(source) && !CS_IS_UTF8(csid)) ? utf8_csid : CSFORM_IMPLIED_CSID(csform); + buflen = len; OCILobWriteAppend_log_stat(imp_dbh->svchp, imp_dbh->errhp, src_ptr, - &len, bufp, (ub4)len, OCI_ONE_PIECE, + &buflen, bufp, (ub4)len, OCI_ONE_PIECE, NULL, NULL, csid, csform, status);
patch tested and applied to trunk which can be found at http://svn.perl.org/modules/dbd-oracle/trunk It will be in the next release.