Re: ANNOUNCE: DBD::Oracle 1.25 Release Candidate 3

"Martin J. Evans" <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase.devel
Organization Easysoft Limited
Message-ID <[email protected]>
On 10/09/10 11:00, H.Merijn Brand wrote:
> On Fri, 10 Sep 2010 11:42:08 +0200, "H.Merijn Brand"
> <[email protected]> wrote:
> 
>> On Thu, 09 Sep 2010 15:27:41 -0400, John Scoles <[email protected]>
>> wrote:
>>
>>> Well the third time is a charm!!  We hope for the 'two bit' version of 
>>> DBD::Oracle 1.25
>>>
>>> You can find release candidate 3 here
>>>
>>> http://svn.perl.org/modules/dbd-oracle/trunk/DBD-Oracle-1.25-RC3.tar
>>
>> Oracle version 11.2.0.1 (11.2)
>> Configuring DBD::Oracle for perl 5.012000 on linux (i686-linux-64int-ld)
>>
>>
>> DBD-Oracle-1.25-RC3 411 > make test
>> cp Oracle.pm blib/lib/DBD/Oracle.pm
>> cp oraperl.ph blib/lib/oraperl.ph
>> cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h
>> cp ocitrace.h blib/arch/auto/DBD/Oracle/ocitrace.h
>> cp Oraperl.pm blib/lib/Oraperl.pm
>> cp Oracle.h blib/arch/auto/DBD/Oracle/Oracle.h
>> cp lib/DBD/Oracle/Object.pm blib/lib/DBD/Oracle/Object.pm
>> cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm
>> cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm
>> /pro/bin/perl -p -e "s/~DRIVER~/Oracle/g" /pro/lib/perl5/site_perl/5.12.0/i686-l
>> inux-64int-ld/auto/DBI/Driver.xst > Oracle.xsi
>> /pro/bin/perl /pro/lib/perl5/5.12.0/ExtUtils/xsubpp  -typemap /pro/lib/perl5/5.1
>> 2.0/ExtUtils/typemap -typemap typemap  Oracle.xs > Oracle.xsc && mv Oracle.xsc O
>> racle.c
>> cc -c  -I/usr/include/oracle/11.2/client  -I/pro/lib/perl5/site_perl/5.12.0/i686
>> -linux-64int-ld/auto/DBI -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protecto
>> r -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSIO
>> N=\"1.25\" -DXS_VERSION=\"1.25\" -fPIC "-I/pro/lib/perl5/5.12.0/i686-linux-64int
>> -ld/CORE"  -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.1\" -DOR
>> A_OCI_102 -DORA_OCI_112 Oracle.c
>> cc -c  -I/usr/include/oracle/11.2/client  -I/pro/lib/perl5/site_perl/5.12.0/i686
>> -linux-64int-ld/auto/DBI -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protecto
>> r -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSIO
>> N=\"1.25\" -DXS_VERSION=\"1.25\" -fPIC "-I/pro/lib/perl5/5.12.0/i686-linux-64int
>> -ld/CORE"  -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.1\" -DOR
>> A_OCI_102 -DORA_OCI_112 dbdimp.c
>> dbdimp.c: In function ‘ora_db_STORE_attrib’:
>> dbdimp.c:1154:34: error: ‘vl’ undeclared (first use in this function)
> 
> --8<---
> --- a/dbdimp.c    2010-09-08 15:53:15.000000000 +0200
> +++ b/dbdimp.c    2010-09-10 11:54:56.581459086 +0200
> @@ -1151,6 +1151,7 @@ dbd_db_STORE_attrib(SV *dbh, imp_dbh_t *
>                 imp_dbh->using_drcp = 1;
>         }
>         else if (kl==14 && strEQ(key, "ora_drcp_class") ) {
> +               STRLEN vl;
>                 imp_dbh->pool_class = (text *) SvPV (valuesv, vl );
>                 imp_dbh->pool_classl= (ub4) vl;
>         }
> -->8---
> 
> cc -c  -I/usr/include/oracle/11.2/client  -I/pro/lib/perl5/site_perl/5.12.0/i686
> -linux-64int-ld/auto/DBI -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protecto
> r -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSIO
> N=\"1.25\" -DXS_VERSION=\"1.25\" -fPIC "-I/pro/lib/perl5/5.12.0/i686-linux-64int
> -ld/CORE"  -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.1\" -DOR
> A_OCI_102 -DORA_OCI_112 dbdimp.c
> dbdimp.c: In function ‘dbd_rebind_ph_char’:
> dbdimp.c:2444:3: warning: format ‘%d’ expects type ‘int’, but argument 5 has typ
> e ‘IV’
> dbdimp.c:2511:20: warning: cast from pointer to integer of different size
> dbdimp.c: In function ‘dbd_rebind_ph_xml’:
> dbdimp.c:2709:17: warning: cast to pointer from integer of different size
> dbdimp.c: In function ‘ora_bind_ph’:
> dbdimp.c:3002:6: warning: format ‘%ld’ expects type ‘long int’, but argument 2 h
> as type ‘IV’
> dbdimp.c:3011:5: warning: format ‘%ld’ expects type ‘long int’, but argument 2 h
> as type ‘IV’
> dbdimp.c:3045:4: warning: format ‘%ld’ expects type ‘long int’, but argument 3 h
> as type ‘IV’

The 3 above are all fixed with the same fix I mailed an hour ago i.e., use IVdf for the format specifier.

> cc -c  -I/usr/include/oracle/11.2/client  -I/pro/lib/perl5/site_perl/5.12.0/i686
> -linux-64int-ld/auto/DBI -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protecto
> r -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSIO
> N=\"1.25\" -DXS_VERSION=\"1.25\" -fPIC "-I/pro/lib/perl5/5.12.0/i686-linux-64int
> -ld/CORE"  -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.1\" -DOR
> A_OCI_102 -DORA_OCI_112 oci8.c
> oci8.c: In function ‘ora_blob_read_mb_piece’:
> oci8.c:1645:4: warning: format ‘%ld’ expects type ‘long int’, but argument 6 has
>  type ‘UV’

already documented the fix for this.

> Running Mkbootstrap for DBD::Oracle ()
> chmod 644 Oracle.bs
> rm -f blib/arch/auto/DBD/Oracle/Oracle.so
> LD_RUN_PATH="/pro/oracle/v11/lib" cc  -shared -O2 -L/pro/local/lib -fstack-prote
> ctor Oracle.o dbdimp.o oci8.o  -o blib/arch/auto/DBD/Oracle/Oracle.so   \
>            -L/pro/oracle/v11/lib -L/pro/3gl/CPAN/DBD-Oracle-1.25-RC3/../.. -locc
> i -lclntsh -lpthread    \
> 
> chmod 755 blib/arch/auto/DBD/Oracle/Oracle.so
> cp Oracle.bs blib/arch/auto/DBD/Oracle/Oracle.bs
> chmod 644 blib/arch/auto/DBD/Oracle/Oracle.bs
> /pro/bin/perl "-Iblib/arch" "-Iblib/lib" ora_explain.PL ora_explain
> Extracted ora_explain from ora_explain.PL with variable substitutions.
> cp ora_explain blib/script/ora_explain
> /pro/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/ora_explain
> Manifying blib/man1/ora_explain.1
> Manifying blib/man3/DBD::Oracle.3
> Manifying blib/man3/DBD::Oraperl.3
> 
> DBD-Oracle-1.25-RC3 403 > make test
> PERL_DL_NONLAZY=1 /pro/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0,
> 'blib/lib', 'blib/arch')" t/*.t
> t/01base.t .............. # Test loading DBI, DBD::Oracle and version
> t/01base.t .............. ok
> t/10general.t ........... ok
> t/12impdata.t ........... ok
> t/14threads.t ........... skipped: this linux perl 5.012000 not configured to su
> pport iThreads
> t/15nls.t ............... ok
> t/20select.t ............ ok
> t/21nchar.t ............. ok
> t/22nchar_al32utf8.t .... ok
> t/22nchar_utf8.t ........ ok
> t/23wide_db.t ........... skipped: Database character set is not Unicode
> t/23wide_db_8bit.t ...... skipped: Database character set is not Unicode
> t/23wide_db_al32utf8.t .. skipped: Database character set is not Unicode
> t/24implicit_utf8.t ..... ok
> t/25plsql.t ............. ok
> t/26exe_array.t ......... ok
> t/28array_bind.t ........ ok
> t/30long.t .............. ok
> t/31lob.t ............... ok
> t/31lob_extended.t ...... ok
> t/32xmltype.t ........... ok
> t/34pres_lobs.t ......... ok
> t/36lob_leak.t .......... ok
> t/40ph_type.t ........... 1/19  Placeholder behaviour for ora_type=1 VARCHAR2 (t
> he default) varies with Oracle version.
>  Oracle 7 didn't strip trailing spaces, Oracle 8 did, until 9.2.x
>  Your system doesn't. If that seems odd, let us know.
> t/40ph_type.t ........... ok
> t/50cursor.t ............ ok
> t/51scroll.t ............ ok
> t/55nested.t ............ ok
> t/56embbeded.t .......... ok
> t/58object.t ............ 1/51
> 
> 
> 
> t/58object.t ............ Dubious, test returned 4 (wstat 1024, 0x400)

oh dear.

> Failed 4/51 subtests
> t/60reauth.t ............ skipped: ORACLE_USERID_2 not defined.
> t/70meta.t .............. ok
> t/80ora_charset.t ....... skipped: Database is set up as US7ASCII
> 
> Test Summary Report
> -------------------
> t/58object.t          (Wstat: 1024 Tests: 51 Failed: 4)
>   Failed tests:  27, 31, 33-34
>   Non-zero exit status: 4
> Files=31, Tests=2133, 50 wallclock secs ( 0.40 usr  0.04 sys +  5.27 cusr  0.55
> csys =  6.26 CPU)
> Result: FAIL
> Failed 1/31 test programs. 4/2133 subtests failed.
> 
> 

You have Oracle 11.2 and I am using 11.1 so that explains the compile error I did not see since the code is in ORA_OCI_112 conditional.

I'll try and install a 11.2 instant client as well and see what I get.

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.