dev@glassfish.java.net

Re: SQLAnywherePlatform Status Update

From: Tom Ware <tom.ware_at_oracle.com>
Date: Mon, 08 Jan 2007 13:11:10 -0500

Hi Markus,

  Could you please send your current implementation. I'll do my best to
get it running and take a quick look at the errors to see if I can give
you any hints.

  As far as the JConnect issue is concerned, lets release this platform
with the name we expect it to have in the end (rather than some name we
may change)? An enhancement can be filed to do the work for JConnect.
The detection mechanism can be updated if necessary, but in the mean
time, it is possible to specifiy platforms that are not properly
automatically detected using the toplink.target-database persitence unit
property with the fully qualified DatabasePlatform subclass name as the
value.

-Tom

Markus KARG wrote:

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