persistence@glassfish.java.net

Re: SQLAnywherePlatform Status Update

From: Lance J. Andersen <Lance.Andersen_at_Sun.COM>
Date: Mon, 22 Jan 2007 10:21:59 -0500

Tom Ware wrote:
> Hi Markus,
>
> I am adding the persistence mailing list to this email so the Sun
> folks can provide any advice you need about Derby.
>
> I start Derby by running the GlassFish asadmin program:
>
> asadmin start-database - starts the database
> asadmin stop-database - stops the database
>
> I connect by putting the following information in the
> build.properties file in my user home directory:
>
> jdbc.driver.jar=C:\\cvsworkspace\\publish\\glassfish\\javadb\\lib\\derbyclient.jar
>
> db.driver=org.apache.derby.jdbc.ClientDriver
> db.url=jdbc:derby://localhost:1527/tempTest;retrieveMessagesFromServerOnGetMessage=true;create=true;
>
> db.user=tware
> db.pwd=password
>
> More comments inline:
>
> Markus KARG wrote:
>
>> Tom,
>>
>>
>>> 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)
>>>
>> How do I set up and start a Derby instance?
>>
>> And why should a platform implementation result in a missing TopLink
>> exception (it's not a missing JDBC exception, actually, so how could
>> a platform be the cause of that bug)?
>>
>>
> That's a very good question. I am very surprised that you get this
> issue. I am quite curious to see if you get it on Derby since I would
> be surprised in the database platform mattered.
>
> I am also little surprised I am not seeing the failure when I run with
> the SQLAnywherePlatform you sent me.
>
> Sun folks...
>
> Are there any Sun folks out there that can try to run the tests on
> SQLAnywhere with Markus' platform on a Linux or Unix box? I am not
> really set up to do that.
>
>>> 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.
>>>
>> I need to know how to set up Derby first.
>>
>> Which part of SQL do I have to look for? I am an SQLAnywhere expert,
>> but I don't have any clue about TopLink at all.
>>
>>
> This test runs a query that searches for employees and joins their
> projects and then runs a query that searches for employees and then
> gets their projects without the SQL join. I am wondering what those
> two queries look like.
> This is another test that passes for me. In fact there appear to be a
> number of more complex joining tests that are passing for you.
>
> If these tests pass on your MaxDB platform it may be another candidate
> for comparison.
I would suggest using Ribo, bundled with jConnect to see what/how the
query was sent via TDS to ASA.
>
>> More inlined.
>>
>> Thanks
>> Markus
>>
>>
>>> "We are not dropping CDDL, we are adding GPLv2+CPE so we will have dual
>>> license."
>>>
>>> My expectation is that TopLink Essentials code will remain prefixed
>>> with the CDDL license for the forseeable future. But... As you
>>> mentioned, this only becomes an issue when we are ready to check-in,
>>> so there is no urgency.
>>>
>> Sun should provide information about how that shall work... GPL
>> clearly says that I can expand the code in any way I like, as long as
>> it stays GPL'ed (which means: no other restrictions - including
>> adding CDDL constraints -- may be applied that narrows the rights of
>> the user. But CDDL WOULD narrow the rights of the user.) -- which my
>> code is, if you take a look at the header. So does CDDL say that my
>> extention must be CDDL, too? Then this would be a violation of GPL,
>> actually, and the dual licence would not be possible. Or: Sun has to
>> point out why they think that it is GPL compliant to force me to add
>> a CDDL header. Remember: This file is mine, still. I am contributing
>> it to your project. Not vice versa. :-)
>>
>>
> I have passed your concern on to one of the Sun GlassFish leads. He
> will be discussing your comments with the people in charge of the
> licensing at Sun. I will let you know if I hear anything. In the
> mean time, I suggest monitoring the "dev" mailing list for any
> announcements.
>
>> Have Fun
>> Markus
>>
>>