Yeah. I don't have any clever ideas. The "build trick" would be fairly easy to implement. If this turns out to be the consensus of the group, I can do this work. But I'd like to understand how we can reduce the confusion which this will cause new developers.

-Rick

Kathey Marsden (JIRA) wrote:

[ http://issues.apache.org/jira/browse/DERBY-289?page=comments#action_12319057 ]
Kathey Marsden commented on DERBY-289:
--------------------------------------

The biggest concern for me is upgrade in server configurations where both the client and server are in the classpath. See the upgrade scenario in the previous comment.
I think taking away the ability to mix versions and requiring  users  to 
judiciously use  ClassLoaders in order to upgrade is not reasonable, especially 
when the reason for the change cannot be explained in terms of any 
functionality improvement.

I think
- We need to allow mixing of client and server versions, both on a protocol 
level and in the same classpath.
- We should keep jar file growth commensurate with functionality improvement.
- We should try to avoid asking every user in the world to change their 
classpath.

For code sharing now, I think constants would be a great place to start since 
they get compiled out.

For other code, it seems to me that we will need either some stable internal 
API (hard to manage) or some build trick to create a client jar with a separate 
package namespace for the common code (weird because the classes in the stack 
traces  would be a little different than the actual code).  That's all I have 
in the way of ideas, but know I really don't want to see us loose the ability 
to mix client and server versions.



Enable code sharing between Derby client and engine
---------------------------------------------------

        Key: DERBY-289
        URL: http://issues.apache.org/jira/browse/DERBY-289
    Project: Derby
       Type: Improvement
 Components: Network Client
   Versions: 10.0.2.1, 10.0.2.0, 10.0.2.2, 10.1.1.0
Environment: N/A
   Reporter: David Van Couvering
   Priority: Minor
    Fix For: 10.2.0.0

Right now, there is no way for the Derby network client to share code with the Derby engine. We should have a separate jar file, e.g. derby_common.jar, that contains shared code and is used by both the client and the engine.


Reply via email to