[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ojb-dev
Subject:    Re: OJB 1.0.2 ?
From:       Martin_Kalén <mkalen () apache ! org>
Date:       2005-02-23 17:19:11
Message-ID: 421CBB0F.5010705 () apache ! org
[Download RAW message or body]

Hi all,

  after some time of hibernation (ahem, sorry... ;) I will hopefully 
have some more time to devote to OJB development.

Brian asked me to run the tests for OJB_1_0_RELEASE branch against 
Oracle, and I have just updated the source and done so. My results are 
similar to Vadim's at a quick glance.

Here are the results of the Oracle jury... :)
(CVS update @ 2005-02-23 c:a 16:00 CET)

  [junit] Tests run: 609, Failures: 1, Errors: 3
  [junit] Test org.apache.ojb.broker.AllTests FAILED
Testcase: testReportPathExpressionForExtents1
java.lang.ClassCastException
oaob.QueryTest.testReportPathExpressionForExtents1(QueryTest.java:1597)

Testcase: testTimestampLock
Should throw an Optimistic Lock exception

Testcase: testBlobInsertion
SQLException: ORA-01401 (value too big)

Testcase: testReadNullBlob
java.sql.SQLException: (invalid column type)


  [junit] Tests run: 129, Failures: 1, Errors: 7
  [junit] Test org.apache.ojb.odmg.AllTests FAILED

Mostly caused by 
JdbcTypesHelper$T_LongVarBinary.readValueFromResultSet(JdbcTypesHelper.java:960) 
  call to OracleResultSet.getBinaryStream and SQLException "stream is 
already closed".

Looks like reading LONG of some kind out of sequence, there are 
Oracle-constraints similar to those for MSSQL (that don't like reading 
"special" columns twice, triggering previous OJB refactoring and 
changes) for LONGVARBINARY columns. Should be fixable by reading stuff 
from ResultSet in a different order and would then not affect other 
platforms that don't care about the ordering.

  [junit] Tests run: 79, Failures: 1, Errors: 0
  [junit] Test org.apache.ojb.otm.AllTests FAILED

Testcase: testSwizzle1toN
should be equal expected:<0> but was:<1>
org.apache.ojb.otm.SwizzleTests.testSwizzle1toN(SwizzleTests.java:351)


I will start looking into these, I think most of them are pretty easy to 
fix (invalid datatype conversions that the platforms can handle).


Jakob Braeuchi wrote:
> did you use the oci- or the thin-driver.
> according to some posings the thin-driver seems to have a limited blob 
> size.
> http://www.theserverside.com/discussions/thread.tss?thread_id=30048

That's the whole issue with having a separate Oracle9i platform 
implementation. BLOB has a 2000 byte limit and CLOB has a 4000 dito when 
using standard JDBC operations on the result set using the oracle thin 
driver. In the Oracle9i impl, Oracle-specific streaming through the LOB 
("locator object" in the oracle universe) works around this but requires 
some nasty reflection calls.

I also know that Armin previously forwarded a discussion from the 
user-list re. timestamp milliseconds and optimisitic locking, I will 
check if those user-supplied changes can resolv optimistic locking 
failures (similar to those seen on MySQL).


Regards,
  Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic