Re: DBD::Oracle Release Candidate 1
On 11/02/11 18:43, John Scoles wrote: Here is the latest and greatest DBD::Oracle for your programming pleasure. You can find the Zip file here a href=http://www.pythian.com/news/wp-content/uploads/DBD-Oracle-1.28_RC_1.zip;DBD-Oracle-1.28-RC1.zip/A This is a long overdue maintenance release that fixes a large number of bug and issues which are detailed below in the Changes. Don't worry there are some new goodies in this release namely I have added in 4 new server side tracing/debugging attributes strongora_driver_name/strong For 11g and later you can now set the name of the driver layer using OCI. PERL, PERL5, ApachePerl so on. Names starting with ORA are reserved. You can enter up to 8 characters. If none is enter then this will default to DBDO where is the current version number. This value can be retrieved on the server side using V$SESSION_CONNECT_INFO or GV$SESSION_CONNECT_INFO strongora_client_info/strong When passed in on the connection attributes it can specify any info you want onto the session up t0 64 bytes. This value can be retrieved on the server side using V$SESSION view. strongora_client_identifier/strong When passed in on the connection attributes it specifies the user identifier in the session handle. Most useful for web app as it can pass in the session user name which might be different than the connection user name. Can be up to 64 bytes long do not to include the password for security reasons and the first character of the identifier should not be ':'. This value can be retrieved on the server side using V$SESSION view. strongora_action/strong You can set this value to anything you want up to 32byes.This value can be retrieved on the server side using V$SESSION view. We have also added in the connection attribute strongora_connect_with_default_signals/strong Whit this attribute you can localize the $SIG{} so this should solve the problems with $SIG{} events that sometimes occur when using DBD::Oracle Finally I would like to thank Martin Evans for volunteering to be another co-maintainer of DBD::Oracle Cheers John Scoles Changes Added connection attribute 'ora_connect_with_default_signals' that will localize Perl's $SIG{INT} handler from Brian Phillips and T. Bunce Fix in execute_array to stop possible endless loop when using a fetch sub by Martin J. Evans Adapted Martin J. Evans' ODBC 70execute_array.t into t/26exe_array.t by John Scoles Fix for execute_array to bring it up to spec. by Martin J. Evans and John Scoles Marked ProC, Oraperl.pm, ora_explain.pl, ora_context, ora_use_proc_connection and ora_parse_lang as deprecated to be removed in 1.29 Added in 4 new server side debug/trace attributes, ora_driver_name, ora_client_info, ora_session_user and ora_action on the connection handle from John Scoles Cleaned up the pod a little by John Scoles Fix for function name length, Some function names are over 31char long which may cause problems for some OS/Compilers (VMS IA64 box.) from Jakob Snoer Fix for OCIPing in case where a 10 client tries to ping a lt;10 DB from Tim Oertel Fix for DBD-Oracle stored proc with array bug where second call array size is unchanged from Tim Oertel Fix for rt.cpan.org Ticket #=63332: Spelling error in POD from jonasbn Fix for rt.cpan.org Ticket #=62152: t/28array_bind.t and t/31lob.t may call plan() twice and others do not fail on not connect from John Scoles Fix for rt.cpan.org Ticket #=61511 ORA-00942 when inserting into a table with a LOB column over a synonym on HP-UX from Kris Lemaire Fix for rt.cpan.org Ticket #=42842 Test 31lob fails with 64-bit Instant Client by John Scoles Fix for support for objects on big endian platforms from Charles Jardine, John R Pierce Fix for rt.cpan.org Ticket #=61225 Windows install (Stawberry Perl) fails on long path names from David Tulloh Fix for rt.cpan.org Ticket #=rt64524 Memory Leak when Oracle connection fails by Martin J. Evans Added all the missing ora_drcp values to dbh private_attribute_info by Martin J. Evans Removed a load of attributes from sth private_attribute_info which are not handle attributes but attributes to bind_param/prepare by Martin J. Evans Fix for rt.cpan.org Ticket #=64244 - don#039;t bail out, skip tests when we cannot connect by Martin J. Evans and John Scoles Added DBI to PREREQ_PM in Makefile.PL by Martin J. Evans Added build_requires in Makefile.PL by Martin J. Evans Added workaround for ExtUtils::MakeMaker problems by Martin J. Evans Added LICENSE to Makefile.PL by Martin J. Evans Cheers John Scoles Thanks John. I haven't had a chance to play with this release candidate properly until today - sorry. On the platforms I've tested on so far (a few Linuxes) I am getting 100% test success. I will upgrade our test system to this RC later to see if it finds any problems. The only problems I've found so far: o the META.yml has not been generated properly (e.g., it is missing build_required, configure_requires etc o the version is
Re: DBD::Oracle Release Candidate 1
On Fri, 11 Feb 2011 13:43:34 -0500, John Scoles sco...@pythian.com wrote: Here is the latest and greatest DBD::Oracle for your programming pleasure. You can find the Zip file here A ZIP is a quite unusual way to release CPAN modules, even for RC's a href=http://www.pythian.com/news/wp-content/uploads/DBD-Oracle-1.28_RC_1.zip;DBD-Oracle-1.28-RC1.zip/A You need to work on longdouble support I guess Sorry for the long mail. I think it contains a lot of info to digest :) A summary for a few boxes ... ## 1. Linux 2.6.31.14-0.4-default/#1 HP xw6400 Xeon(R) CPU E5320 @1.86GHz/1596(4) x86_64 Using DBI 1.616 (for perl 5.010001 on x86_64-linux) installed in /pro/lib/perl5/site_perl/5.10.1/x86_64-linux/auto/DBI/ Configuring DBD::Oracle for perl 5.010001 on linux (x86_64-linux) Installing on a linux, Ver#2.6 Using Oracle in /pro/oracle/v11.2 DEFINE _SQLPLUS_RELEASE = 1102000200 (CHAR) Oracle version 11.2.0.2 (11.2) Found /usr/share/oracle/11.2/client64/demo.mk Using /usr/share/oracle/11.2/client64/demo.mk Your LD_LIBRARY_PATH env var is set to '/pro/asql/o90G/bin:/pro/asql/o90G/lib:/usr/lib64:/usr/lib:/pro/oracle/v11.2/lib' Reading /usr/share/oracle/11.2/client64/demo.mk Found header files in /usr/include/oracle/11.2/client64. client_version=11.2 DBD-Oracle-1.28_RC_1 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.010001 not configured to support 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 ... 2/12 t/31lob.t ... Dubious, test returned 1 (wstat 256, 0x100) Failed 4/12 subtests t/31lob_extended.t .. ok t/32xmltype.t ... ok t/34pres_lobs.t . ok t/40ph_type.t ... 1/19 Placeholder behaviour for ora_type=1 VARCHAR2 (the 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 ok 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/31lob.t (Wstat: 256 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 1 Parse errors: Bad plan. You planned 12 tests but ran 9. Files=30, Tests=2509, 25 wallclock secs ( 0.61 usr 0.08 sys + 5.44 cusr 0.97 csys = 7.10 CPU) Result: FAIL Failed 1/30 test programs. 1/2509 subtests failed. make: *** [test_dynamic] Error 255 DBD-Oracle-1.28_RC_1 prove -vwb t/31lob.t t/31lob.t .. 1..12 ok 1 - returned valid locator ok 2 - inserted into BLOB successfully ok 3 - got back what we put in ok 4 - returned valid locator ok 5 - returned valid locator ok 6 - returned initialized locator ok 7 - returned length ok 8 - returned written value not ok 9 - returned length via PL/SQL # Failed test 'returned length via PL/SQL' # at t/31lob.t line 152. # got: undef # expected: '4' Errors in file : OCI-21500: internal error code, arguments: [kghufree_06], [0x000C68978], [0], [0], [0], [], [], [] sx�sx�sx� ��Errors in file : OCI-21500: internal error code, arguments: [kghufree_06], [0x000C68978], [0], [0], [0], [], [], [] j���sx�sx�sx� Dubious, test returned 1 (wstat 256, 0x100) Failed 4/12 subtests Test Summary Report --- t/31lob.t (Wstat: 256 Tests: 9 Failed: 1) Failed test: 9 Non-zero exit status: 1 Parse errors: Bad plan. You planned 12 tests but
Re: DBD::Oracle Release Candidate 1
On Fri, 11 Feb 2011 13:43:34 -0500, John Scoles sco...@pythian.com wrote: Here is the latest and greatest DBD::Oracle for your programming pleasure. You can find the Zip file here a href=http://www.pythian.com/news/wp-content/uploads/DBD-Oracle-1.28_RC_1.zip;DBD-Oracle-1.28-RC1.zip/A Next to the failures for longdouble, here's a fix for Oracle9: http://www.xs4all.nl/~procura/DO-128.diff /pro/bin/perl -MExtUtils::MY -e 'MY-fixin(shift)' -- blib/script/ora_explain 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 hpux perl 5.010001 not configured to support 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 . 1/74 #row 4: DUMP(nch) = Typ=1 Len=4: 0,38,0,58 t/24implicit_utf8.t . 38/74 #row 4: DUMP(nch) = Typ=1 Len=4: 0,38,0,58 t/24implicit_utf8.t . Dubious, test returned 4 (wstat 1024, 0x400) Failed 4/74 subtests 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/40ph_type.t ... 1/19 Placeholder behaviour for ora_type=1 VARCHAR2 (the 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 ok 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/24implicit_utf8.t (Wstat: 1024 Tests: 74 Failed: 4) Failed tests: 33-34, 70-71 Non-zero exit status: 4 Files=30, Tests=2512, 47 wallclock secs ( 1.43 usr 0.23 sys + 23.53 cusr 2.79 csys = 27.98 CPU) Result: FAIL Failed 1/30 test programs. 4/2512 subtests failed. DBD-Oracle-1.28_RC_2 prove -vwb t/24implicit_utf8.t t/24implicit_utf8.t .. 1..74 # --- testing implicit csform (dbhimp.c sets csform implicitly) # row: 1: nice_string=\x03 byte_string=3 (, '.') # row: 2: nice_string=a byte_string=97 (a, 'a') # row: 3: nice_string=b byte_string=98 (b, 'b') # row: 4: nice_string=\x{263A} byte_string=9786 (☺, âº) # --- testing with NLS_NCHAR=UTF8 # set $ENV{NLS_NCHAR}=UTF8 # Database 9.2.0.8.0 CHAR set is US7ASCII (Non-Unicode), NCHAR set is AL16UTF16 (Unicode) # Client 9.2.0.8 NLS_LANG is 'unset', NLS_NCHAR is 'UTF8' ok 1 - prepared: insert into dbd_ora__drop_me ( idx, nch, descr, dt ) values( ?, ?, ?, sysdate ) ok 2 - bind_param idx ok 3 - bind_param nch ok 4 - bind_param descr withOUT attribute ora_csform # create table dbd_ora__drop_me ( idx integer, nch nvarchar2(20), descr varchar2(50), dt date ) ok 5 - insert row 1: control-C ok 6 - bind_param idx ok 7 - bind_param nch ok 8 - bind_param descr withOUT attribute ora_csform ok 9 - insert row 2: lowercase a ok 10 - bind_param idx ok 11 - bind_param nch ok 12 - bind_param descr withOUT attribute ora_csform ok 13 - insert row 3: lowercase b ok 14 - bind_param idx ok 15 - bind_param nch ok 16 - bind_param descr withOUT attribute ora_csform ok 17 - insert row 4: smiley face ok 18 - prepared: select nch, descr, DUMP(nch), dt from dbd_ora__drop_me order by idx ok 19 - bind column nch ok 20 - bind column descr ok 21 - byte_string test of row 1: column: nch (uft8) control-C ok 22 - nice_string test of row 1: column: nch (uft8) control-C ok 23 - byte_string test of row 1: column: descr control-C ok 24 - nice_string test of row 1: column: descr control-C ok 25 - byte_string test of row 2: column: nch (uft8) lowercase a ok 26 - nice_string test of row 2: column: nch (uft8) lowercase a ok 27 - byte_string test of row 2: column: descr lowercase a ok 28 - nice_string test of row 2: column: descr lowercase a ok 29 - byte_string test of row 3: column: nch (uft8) lowercase b ok 30 - nice_string test of row 3: column: nch (uft8) lowercase b ok 31 - byte_string test of row 3: column: descr lowercase b ok 32 - nice_string test of row 3: column: descr lowercase b not ok 33 - byte_string test of row 4: column: nch (uft8) smiley face not ok 34 - nice_string test of row 4: column: nch (uft8) smiley face ok 35 - byte_string test of row 4: column: descr smiley face ok 36 - nice_string test
Re: DBD::Oracle Release Candidate 1
On Wed, Feb 16, 2011 at 5:45 AM, Martin J. Evans martin.ev...@easysoft.com wrote: On 11/02/11 18:43, John Scoles wrote: Here is the latest and greatest DBD::Oracle for your programming pleasure. You can find the Zip file here a href=http://www.pythian.com/news/wp-content/uploads/DBD-Oracle-1.28_RC_1.zip;DBD-Oracle-1.28-RC1.zip/A This is a long overdue maintenance release that fixes a large number of bug and issues which are detailed below in the Changes. Don't worry there are some new goodies in this release namely I have added in 4 new server side tracing/debugging attributes strongora_driver_name/strong For 11g and later you can now set the name of the driver layer using OCI. PERL, PERL5, ApachePerl so on. Names starting with ORA are reserved. You can enter up to 8 characters. If none is enter then this will default to DBDO where is the current version number. This value can be retrieved on the server side using V$SESSION_CONNECT_INFO or GV$SESSION_CONNECT_INFO strongora_client_info/strong When passed in on the connection attributes it can specify any info you want onto the session up t0 64 bytes. This value can be retrieved on the server side using V$SESSION view. strongora_client_identifier/strong When passed in on the connection attributes it specifies the user identifier in the session handle. Most useful for web app as it can pass in the session user name which might be different than the connection user name. Can be up to 64 bytes long do not to include the password for security reasons and the first character of the identifier should not be ':'. This value can be retrieved on the server side using V$SESSION view. strongora_action/strong You can set this value to anything you want up to 32byes.This value can be retrieved on the server side using V$SESSION view. We have also added in the connection attribute strongora_connect_with_default_signals/strong Whit this attribute you can localize the $SIG{} so this should solve the problems with $SIG{} events that sometimes occur when using DBD::Oracle Finally I would like to thank Martin Evans for volunteering to be another co-maintainer of DBD::Oracle Cheers John Scoles Changes Added connection attribute 'ora_connect_with_default_signals' that will localize Perl's $SIG{INT} handler from Brian Phillips and T. Bunce Fix in execute_array to stop possible endless loop when using a fetch sub by Martin J. Evans Adapted Martin J. Evans' ODBC 70execute_array.t into t/26exe_array.t by John Scoles Fix for execute_array to bring it up to spec. by Martin J. Evans and John Scoles Marked ProC, Oraperl.pm, ora_explain.pl, ora_context, ora_use_proc_connection and ora_parse_lang as deprecated to be removed in 1.29 Added in 4 new server side debug/trace attributes, ora_driver_name, ora_client_info, ora_session_user and ora_action on the connection handle from John Scoles Cleaned up the pod a little by John Scoles Fix for function name length, Some function names are over 31char long which may cause problems for some OS/Compilers (VMS IA64 box.) from Jakob Snoer Fix for OCIPing in case where a 10 client tries to ping a lt;10 DB from Tim Oertel Fix for DBD-Oracle stored proc with array bug where second call array size is unchanged from Tim Oertel Fix for rt.cpan.org Ticket #=63332: Spelling error in POD from jonasbn Fix for rt.cpan.org Ticket #=62152: t/28array_bind.t and t/31lob.t may call plan() twice and others do not fail on not connect from John Scoles Fix for rt.cpan.org Ticket #=61511 ORA-00942 when inserting into a table with a LOB column over a synonym on HP-UX from Kris Lemaire Fix for rt.cpan.org Ticket #=42842 Test 31lob fails with 64-bit Instant Client by John Scoles Fix for support for objects on big endian platforms from Charles Jardine, John R Pierce Fix for rt.cpan.org Ticket #=61225 Windows install (Stawberry Perl) fails on long path names from David Tulloh Fix for rt.cpan.org Ticket #=rt64524 Memory Leak when Oracle connection fails by Martin J. Evans Added all the missing ora_drcp values to dbh private_attribute_info by Martin J. Evans Removed a load of attributes from sth private_attribute_info which are not handle attributes but attributes to bind_param/prepare by Martin J. Evans Fix for rt.cpan.org Ticket #=64244 - don#039;t bail out, skip tests when we cannot connect by Martin J. Evans and John Scoles Added DBI to PREREQ_PM in Makefile.PL by Martin J. Evans Added build_requires in Makefile.PL by Martin J. Evans Added workaround for ExtUtils::MakeMaker problems by Martin J. Evans Added LICENSE to Makefile.PL by Martin J. Evans Cheers John Scoles Thanks John. I haven't had a chance to play with this release candidate properly until today - sorry. On the platforms I've tested on so far (a few Linuxes) I am getting 100% test success. I will upgrade our test system to this RC later to see if it finds any problems. The only