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.
>>
>>   
> 
> 
> 

Reply via email to