Menu

#56 oralob test suite failure

open
nobody
None
5
2008-08-27
2008-08-27
No

tcl 8.5.4, oracle 10.2, sparc solaris 8, sun c compiler, oratcl cvs head.

../tests/oralob.test

==== oralob-1.4 oralob: write blob FAILED
==== Contents of test case:

catch {oralob alloc $lob_stm -table oratcl_lob -column lob_blob -rowid $rowid1} lob
catch {oralob write $lob -datavar bin_data} write
catch {oralob free $lob} free
list $lob $write $free

---- Result was:
oralob.4 {oralob write: {ORA-01460: unimplemented or unreasonable conversion requested} ORA-01460: unimplemented or unreasonable conversion requ
ested
while executing
"oraplexec $stm $pl :rid $rowid :lob_amt $amt :lob_pos $pos :lob_str $str "} 0
---- Result should have been (exact matching):
oralob.4 0 0
==== oralob-1.4 FAILED

==== oralob-1.5 oralob: read blob FAILED
==== Contents of test case:

catch {oralob alloc $lob_stm -table oratcl_lob -column lob_blob -rowid $rowid1} lob
catch {oralob read $lob -datavar bin_out} write
catch {oralob free $lob} free
set read [string equal $bin_data $bin_out]
list $lob $read $free

---- Result was:
oralob.5 0 0
---- Result should have been (exact matching):
oralob.5 1 0
==== oralob-1.5 FAILED

==== oralob-1.7 oralob: length blob FAILED
==== Contents of test case:

catch {oralob alloc $lob_stm -table oratcl_lob -column lob_blob -rowid $rowid1} lob
catch {oralob length $lob} length
catch {oralob free $lob} free
set res [expr {[string length $bin_data] == $length}]
list $lob $res $free

---- Result was:
oralob.7 0 0
---- Result should have been (exact matching):
oralob.7 1 0
==== oralob-1.7 FAILED

==== oralob-1.9 oralob: trim blob FAILED
==== Contents of test case:

catch {oralob alloc $lob_stm -table oratcl_lob -column lob_blob -rowid $rowid1} lob
set half [expr {[string length $bin_data] / 2}]
catch {oralob trim $lob -length $half} trim
catch {oralob length $lob} length
catch {oralob free $lob} free
set res [expr {$half == $length}]
list $lob $res $free

---- Result was:
oralob.9 0 0
---- Result should have been (exact matching):
oralob.9 1 0
==== oralob-1.9 FAILED

==== oralob-1.11 oralob: substr blob FAILED
==== Contents of test case:

catch {oralob alloc $lob_stm -table oratcl_lob -column lob_blob -rowid $rowid1} lob
set sub [string range $bin_data 10 100]
catch {oralob substr $lob -start 10 -stop 100 -datavar sub_out}
catch {oralob free $lob} free
set res [expr {$sub == $sub_out}]
unset sub
unset sub_out
list $lob $res $free

---- Result was:
oralob.11 0 0
---- Result should have been (exact matching):
oralob.11 1 0
==== oralob-1.11 FAILED

==== oralob-1.13 oralob: erase blob FAILED
==== Contents of test case:

catch {oralob alloc $lob_stm -table oratcl_lob -column lob_blob -rowid $rowid1} lob
set source "[string range $bin_data 10 11] [string range $bin_data 15 16]"
set p1 [string range $bin_data 20 21]
binary scan $p1 H* p1h
set p2 [string range $bin_data 25 26]
binary scan $p2 H* p2h
set source [binary format H* ${p1h}000000${p2h}]
catch {oralob erase $lob -start 22 -stop 24} erase_res
catch {oralob substr $lob -start 20 -stop 26 -datavar erase_out}
catch {oralob free $lob} free
set res [string equal $source $erase_out]
list $lob $res $free

---- Result was:
oralob.13 0 0
---- Result should have been (exact matching):
oralob.13 1 0
==== oralob-1.13 FAILED

==== oralob-1.15 oralob: instr blob FAILED
==== Contents of test case:

catch {oralob alloc $lob_stm -table oratcl_lob -column lob_blob -rowid $rowid1} lob
set pattern [string range $bin_data 15 20]
set pos [oralob instr $lob -pattern $pattern]
catch {oralob free $lob} free
list $lob $pos $free

---- Result was:
oralob.15 -1 0
---- Result should have been (exact matching):
oralob.15 15 0
==== oralob-1.15 FAILED

==== oralob-3.1 oralob: compare blob FAILED
==== Contents of test case:

catch {oralob alloc $lob_stm -table oratcl_lob -column lob_blob -rowid $rowid1} lob1
catch {oralob alloc $lob_stm -table oratcl_lob -column lob_blob -rowid $rowid2} lob2
catch {oralob compare $lob1 $lob2} res
catch {oralob free $lob1} free1
catch {oralob free $lob2} free2
set res

---- Result was:

---- Result should have been (exact matching):
0
==== oralob-3.1 FAILED

oralob.test: Total 29 Passed 21 Skipped 0 Failed 8
../tests/oralob.test :: 1470 ms

Discussion

  • Todd Helfter

    Todd Helfter - 2008-08-28

    Logged In: YES
    user_id=92123
    Originator: NO

    I think this is an oracle bug.
    Would need to know Oracle client and server versions, and all patches applied to trace.

    Bug 5872943 ORA-01460: UNIMPLEMENTED OR UNREASONABLE CONVERSION REQUESTED

    If your DB is 10.2.0.3.0, you can try applying patch 6810189 from oracle. This upgrades the database to 10.2.0.4.0 where this bug is fixed.

     
  • Larry W. Virden

    Larry W. Virden - 2008-10-15

    The Oracle database instance I am testing against is 10.2.0.4.0

     
  • Larry W. Virden

    Larry W. Virden - 2008-10-15

    I was wrong - the database is really 10.2.0.2.0 - I apologize. I've tried to find an instance that was newer, but can't. Right now, I'm willing to live with calling at least the first part of this an oracle error. Is the first failure the cause of the remainder of the errors?

     

Log in to post a comment.