db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Hillegas <Richard.Hille...@Sun.COM>
Subject Re: Questions about the implementation
Date Tue, 08 Dec 2009 14:14:33 GMT
Hi Michael,

You have asked a lot of interesting questions. If you want to pursue 
this study, you will probably get more help on the derby-dev mailing 
list. A couple responses inline...

Michael K├Ândling wrote:
> hello,
>
> I'm a computer science student from Germany and I would like to ask 
> the derby developers a couple of questions about the implementation 
> aspects of jdbc.
>
> I have checked out the 10.5 branch.
>
> 1. Are there any (detailed) design documents? I already had a look at 
> the overall architecture page.
> 2. What where the key design decisions with the jdbc-implementation part?
>    e.g. What is the main idea behind all these inheritance hierarchies 
> (for Drivers, Connections and so on)?
>       InternalDriver seems to be a factory that is used from a lot of 
> places - what was the idea behind that?
Two major feature axes drive the design of the JDBC implementation:

1) Derby runs in two configurations: embedded and client-server. Each of 
these configurations gives rise to a family of drivers.

2) Derby runs at four JDBC levels, depending on the capabilities of the 
underlying Java VM: JSR169 (small, CDC devices), JDBC 2.0 (for the 
deprecated JDK 1.1-1.3 platforms), JDBC 3.0 (for JDK 1.4 and Java 5), 
and JDBC 4.0 (for Java 6 and 7). Each of these levels gives rise to a 
separate driver within a driver family. Note, however, that the JSR169 
driver exists only in the embedded family.
> 3. Where is the jdbc-driver located in the source code and what are 
> the main classes?
A good place to start is the public api for the JDBC 4.0 implementation: 
http://db.apache.org/derby/docs/10.5/publishedapi/jdbc4/ The embedded 
driver is called EmbeddedDriver and the client-server driver is called 
ClientDriver.
> 4. How are ResultSets implemented?
See org.apache.derby.impl.jdbc.EmbedResultSet The following command 
builds the Derby javadoc:

  ant -quiet javadoc

Hope this helps,
-Rick
>
> I would appreciate any information.
> Thany you very much,
> Michael


Mime
View raw message