persistence@glassfish.java.net

Re: SQLAnywherePlatform Status Update

From: Michael Bouschen <Michael.Bouschen_at_Sun.COM>
Date: Mon, 22 Jan 2007 21:51:46 +0100

Hi Tom,

I could run the entity-persistence-tests w/o failures.

Regards Michael

> To all those people running entity-persistence-tests,
>
> Is anyone seeing failures in the testSerializedLazy or the
> testEmployeeJoinProjects tests? I have not been able to reproduce
> this issue.
>
> To Markus,
>
> Are you running on the latest version of the source?
>
> -Tom
>
>
> Markus KARG wrote:
>
>> Tom,
>>
>> thank you for your instructions. I have run the
>> FullRegressionTestSuite against Derby. The results are inlined:
>>
>>
>>>> testSerializedLazy: This test loads an employee, tries to serialize
>>>> that employee, and retreive it. It expects an exception when an
>>>> uninstantiated LAZY relationship is traversed on the deserialized
>>>> objects. I guess the question is: Is an exception thrown? If so,
>>>> why is it different from what we expect? If not, why isn't it
>>>> thrown? Does this test pass for you on another Database(Derby for
>>>> instance)
>>>>
>> On Derby, the result is the same as on SQLAnywhere:
>>
>> junit.framework.AssertionFailedError: The correct exception was not
>> thrown while traversing an uninstantiated lazy relationship on a
>> serialized object: null
>>
>>
>>
>>>>> testEmployeeJoinProjects: This test runs a query that uses the
>>>>> TopLink Essentials joining feature and ensures its results are the
>>>>> same as a similar query that retrieves results by traversing
>>>>> indirection instead of using joining. I am surprised that this
>>>>> test is failing in isolation. There are a number of tests that do
>>>>> something similar. I guess the things to look at are how the
>>>>> tables that these queries use are defined and what the specific
>>>>> SQL output of this test is. Does this test pass for you on
>>>>> another Database? If so, how does the SQL Differ on the test that
>>>>> passes from the one that fails.
>> On Derby, the result is the same as on SQLAnywhere:
>>
>> junit.framework.AssertionFailedError: PK = 227:
>> Employee.manager.manager.manager.manager.projects: indirection
>> instantiated != indirection NOT instantiated; .projects: indirection
>> instantiated != indirection NOT instantiated; PK = 222:
>> Employee.manager.projects: indirection instantiated != indirection
>> NOT instantiated;
>> Since both tests do not pass on Derby, it in turn cannot be a bug in
>> neither SQLAnywhere, nor jConnect, nor iAnywhere, nor
>> SQLAnywherePlatform. :-)
>>
>> BTW, Derby throws one more failing test:
>> "junit.framework.AssertionFailedError: Exception was caught when
>> using cache" is the result of simpleJoinFetchTest.
>>
>> All other tests (of 600) are passing without failed assertions or
>> errors.
>>
>>
>> Have Fun
>> Markus
>>
>>