John Scoles wrote: > I think there is a bug in 11g EE that is causing 026exe_array to fail on > test #2 I have reported it to Oracle but they are quite on the matter.
Chalk me down for that problem too on our shiny new Oracle 11G with DBD::Oracle 1.23 (10G client end): [martin DBD-Oracle-1.23]$ prove -vb t/26exe_array.t t/26exe_array....1..17 ok 1 - use DBI; ok 2 - The object isa DBI::db ok 3 - ... execute_array should return true ok 4 - ... we should have 10 tuple_status ok 5 - ... execute_array should return false ok 6 - ... we should have 10 tuple_status ok 7 - ... we should get text ok 8 - ... we should get -1 ok 9 - ... we should get a warning ok 10 - ... execute_for_fetch should return true not ok 11 - ... we should have 19 tuple_status # Failed test '... we should have 19 tuple_status' # at t/26exe_array.t line 128. # got: 10 # expected: 19 ok 12 - ... execute_array should return flase ok 13 - ... we should have 10 tuple_status not ok 14 - ... we should have 48 rows # Failed test '... we should have 48 rows' # at t/26exe_array.t line 154. # got: 30 # expected: 48 ok 15 - ... execute_array should return true ok 16 - ... \#5 should be a warning ok 17 - ... we should have 10 tuple_status # Looks like you failed 2 tests of 17. dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 11, 14 Failed 2/17 tests, 88.24% okay Failed Test Stat Wstat Total Fail List of Failed ------------------------------------------------------------------------------- t/26exe_array.t 2 512 17 2 11 14 Failed 1/1 test scripts. 2/17 subtests failed. Files=1, Tests=17, 0 wallclock secs ( 0.15 cusr + 0.03 csys = 0.18 CPU) Failed 1/1 test programs. 2/17 subtests failed. The problem appears to be that if any 1 or more inserts in the array fail they all fail. The following bit of the test: @var2 = (2,2,2,2,'s',2,2,2,2,2); { # trap the intentional failure of one of these rows my $warn_count = 0; local $SIG{__WARN__} = sub { my $msg = shift; if ($warn_count++ == 0 && $msg =~ /ORA-24381/) { # this is the first warning, and it's the expected one return; } # unexpected warning, pass it through warn $msg; }; ok (!$sth->execute_array( {ArrayTupleStatus => $tuple_status}, \...@var1, \...@var2, \...@var2, ), '... execute_array should return false'); tests you cannot insert an 's' into an integer but that makes all the others fail. Since subsequent tests rely on these rows being inserted the failures mushroom. > The other problems you are encountering are due to the user who is > running the test not having sufficient privs on the DB. > > Once I get access to an 11g EE box I might be able to look into it deeper. > > cheerrs Martin -- Martin J. Evans Easysoft Limited http://www.easysoft.com > > georg...@gmail.com wrote: >> Hi, >> I am trying to install DBD::Oracle against perl v5.8.8. I am >> running Oracle Oracle Database 11g Enterprise Edition Release >> 11.1.0.6.0 on Ubuntu 8.04. The perl Makefile.pl and make seemed to >> work fine. 'make test' however fails against t/26exe_array. I see some >> other errors in the output, but, they don't seem to be reported in the >> final summary. >> >> make test >> PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" >> "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t >> t/01base................# Test loading DBI, DBD::Oracle and version >> t/01base................ok >> t/10general.............ok >> t/12impdata.............ok >> t/14threads.............ok >> t/15nls.................ok >> t/20select..............ok >> t/21nchar...............ok >> t/22nchar_al32utf8......ok >> t/22nchar_utf8..........ok >> t/23wide_db.............skipped: Database character set is not Unicode >> t/23wide_db_8bit........skipped: Database character set is not Unicode >> t/23wide_db_al32utf8....skipped: Database character set is not Unicode >> t/24implicit_utf8.......ok >> t/25plsql...............ok >> t/26exe_array...........2/14 >> >> t/26exe_array........... Dubious, test returned 2 (wstat 512, 0x200) >> Failed 2/14 subtests >> t/28array_bind..........ok >> t/30long................ok >> t/31lob.................1/9 DBD::Oracle::db do failed: ORA-00942: >> table or view does not exist (DBD ERROR: error possibly near <*> >> indicator at char 14 in 'select * from <*>v$session where 0=1') [for >> Statement "select * from v$session where 0=1"] at t/31lob.t line 64. >> t/31lob.................ok >> t/31lob_extended........ok >> t/32xmltype.............ok >> t/34pres_lobs...........ok >> t/40ph_type.............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.............ok >> t/50cursor..............1/12 Can't determine open_cursors from v >> $parameter, so using default >> t/50cursor..............ok >> t/51scroll..............ok >> t/55nested..............ok >> t/56embbeded............ok >> t/60reauth..............skipped: ORACLE_USERID_2 not defined. >> t/70meta................ok >> t/80ora_charset.........ok >> >> Test Summary Report >> ------------------- >> t/26exe_array (Wstat: 512 Tests: 14 Failed: 2) >> Failed tests: 11, 14 >> Non-zero exit status: 2 >> Files=29, Tests=1100, 35 wallclock secs ( 0.17 usr 0.30 sys + 4.24 >> cusr 6.41 csys = 11.12 CPU) >> Result: FAIL >> Failed 1/29 test programs. 2/1100 subtests failed. >> make: *** [test_dynamic] Error 255 >> >> Any ideas on how to resolve this would be much appreciated? I have >> tried googling quite a bit without much success. Or should I just >> ignore the errors and try to force install? Thanks >> >> Regards >> George M.P. >> >> > > >