dev@glassfish.java.net

SQLAnywherePlatform Status Update

From: Markus KARG <markus.karg_at_gmx.net>
Date: Sat, 06 Jan 2007 17:25:40 +0100

Tom and Lance,

so I have done my best to do all you told me. The new platform passes
the FullRegressionTest suite with the following result: Runs 592/592,
Errors 5, Failures 3 (see stack traces below). Please tell me how to
proceed. Shall I send you the source code for a final code review?

Lance, I have tested both, iAnywhere bridge (incl. latest EBF) and
jConnect 6.0.5 (incl. latest EBF). The result for iAnywhere is to be
found below. The result for jConnect 6.0.5 is that there are additional
errors (all in all 21 errors!). Since I am not targeting jConnect, as it
is not part of the SQL Anywhere Studio product but has to be obtained
separately, I want to suggest the following: SQLAnywherePlatform in this
first draw is using iAnywhere, as that is the driver found "in the box".
Then, we ask the TopLink team to implement an improved search mechanism
that also checks the name of the driver, not only the name of the
product. If that is done, we create a new driver hierarchy: SQLAnywhere
(abstract class, holding all SQL Anywhere specifics), extended by
iAnywhereSQLAnywherePlatform (holding all iAnywhere specifics) and
extended by jConnectSQLAnywherePlatform(holding all jConnect specifics,
like the 21 errors). Tom and Lance, what do you think about that?

Thanks a lot
Markus


(FAILURE 1)
oracle.toplink.essentials.testing.tests.cmp3.advanced.EntityManagerJUnitTestSuite.testSerializedLazy(oracle.toplink.essentials.testing.tests.cmp3.advanced.EntityManagerJUnitTestSuite)
junit.framework.AssertionFailedError: The correct exception was not
thrown while traversing an uninstantiated lazy relationship on a
serialized object: null
    at junit.framework.Assert.fail(Assert.java:47)
    at junit.framework.Assert.assertTrue(Assert.java:20)
    at junit.framework.Assert.assertNotNull(Assert.java:220)
    at
oracle.toplink.essentials.testing.tests.cmp3.advanced.EntityManagerJUnitTestSuite.testSerializedLazy(EntityManagerJUnitTestSuite.java:2292)

I don't know what to do to fix this. Can you give me some tips?


(FAILURE 2)
oracle.toplink.essentials.testing.tests.cmp3.advanced.JoinedAttributeAdvancedJunitTest.testEmployeeJoinProjects(oracle.toplink.essentials.testing.tests.cmp3.advanced.JoinedAttributeAdvancedJunitTest)
junit.framework.AssertionFailedError: PK = 222:
Employee.manager.manager.manager.manager.projects: indirection
instantiated != indirection NOT instantiated; .projects: indirection
instantiated != indirection NOT instantiated; PK = 228:
Employee.manager.projects: indirection instantiated != indirection NOT
instantiated;
    at junit.framework.Assert.fail(Assert.java:47)
    at
oracle.toplink.essentials.testing.tests.cmp3.advanced.JoinedAttributeAdvancedJunitTest.testEmployeeJoinProjects(JoinedAttributeAdvancedJunitTest.java:517)

I don't know what to do to fix this. Can you give me some tips?


(FAILURE 3)
oracle.toplink.essentials.testing.tests.ejb.ejbqltesting.JUnitEJBQLComplexTestSuite$1
JUnitEJBQLComplexTestSuite
complexResultPropertiesTest(oracle.toplink.essentials.testing.tests.ejb.ejbqltesting.JUnitEJBQLComplexTestSuite)
junit.framework.AssertionFailedError: Query.setFirstResult Test Case Failed
    at junit.framework.Assert.fail(Assert.java:47)
    at junit.framework.Assert.assertTrue(Assert.java:20)
    at
oracle.toplink.essentials.testing.tests.ejb.ejbqltesting.JUnitEJBQLComplexTestSuite.complexResultPropertiesTest(JUnitEJBQLComplexTestSuite.java:1009)

We started the discussion on that yesterday, but still I do not see a
problem on the SQL Anywhere JDBC driver's side. As DerbyPlatform doesn't
show the problem, can you give me a tip what next to check? What can be
the reason for the failure?


(ERROR 1) Lob Model
testUpdate(oracle.toplink.essentials.testing.tests.cmp3.lob.LobJUnitTestCase)
javax.persistence.RollbackException: Exception [TOPLINK-4002] (Oracle
TopLink Essentials - 9.1 (Build local)):
oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Dieser Treiber unterstützt
keinen JDBC-Datentyp mit ID = 2005Error Code: 0
Call:UPDATE CMP3_IMAGE SET SCRIPT = ?, PICTURE = ? WHERE (ID = ?)
    bind => [null, null, 1000]
Query:UpdateObjectQuery(oracle.toplink.essentials.testing.models.cmp3.lob.Image_at_14a4fd2)
    at
oracle.toplink.essentials.internal.ejb.cmp3.transaction.base.EntityTransactionImpl.commit(EntityTransactionImpl.java:106)
    at
oracle.toplink.essentials.internal.ejb.cmp3.transaction.EntityTransactionImpl.commit(EntityTransactionImpl.java:45)
    at
oracle.toplink.essentials.testing.tests.cmp3.lob.LobJUnitTestCase.testUpdate(LobJUnitTestCase.java:132)
oracle.toplink.essentials.testing.tests.cmp3.relationships.ExpressionJUnitTestSuite
testLeftTrimWithTrimChar(oracle.toplink.essentials.testing.tests.cmp3.relationships.ExpressionJUnitTestSuite)

I do not have any idea what the problem is, because the error message is
not known in the SQL Anywhere manual. Do you have an idea what to do?


(ERROR 2)
oracle.toplink.essentials.testing.tests.cmp3.relationships.ExpressionJUnitTestSuite.testLeftTrimWithTrimChar

Filed as a bug report in the GF tracker. Ignored by me since it is not
mandatory.


(ERROR 3)
oracle.toplink.essentials.testing.tests.cmp3.relationships.ExpressionJUnitTestSuite.testTrimWithTrimChar

Filed as a bug report in the GF tracker. Ignored by me since it is not
mandatory.


(ERROR 4)
oracle.toplink.essentials.testing.tests.cmp3.fieldaccess.relationships.ExpressionJUnitTestSuite.testLeftTrimWithTrimChar

Filed as a bug report in the GF tracker. Ignored by me since it is not
mandatory.


(ERROR 5)
oracle.toplink.essentials.testing.tests.cmp3.fieldaccess.relationships.ExpressionJUnitTestSuite.testTrimWithTrimChar

Filed as a bug report in the GF tracker. Ignored by me since it is not
mandatory.