db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Army <qoz...@gmail.com>
Subject Re: Explain functionality, final results & feedback
Date Thu, 01 Mar 2007 18:41:42 GMT
Felix Beyer wrote:
> Hi Derby Community,

Hi Felix, great to see you back on the list.

> some time ago I proposed some extensions to Derby, which allow easy 
> query explanation. Now I´m back with a backward-compatible, extensible, 
> efficient and working solution for my proposals.

Wow, this sounds great.  It'll be fun to see this in action!

<snip high-level description of the changes>

> (more details are coming, if you`re interested)

The more detail you are willing to provide, the better.  One good way to do so 
is to post a document (such as text file or HTML) with as much detail as you're 
willing to write when you post your changes.  Though of course you should feel 
free to post your changes first and then add explanatory documents later as (and 
if) you feel appropriate.  You also may want to consider adding the details to 
the Derby wiki pages (see below for some links to the wiki)--but that's not a 
requirement, just a suggestion.

> Finally I`ve included a screen shot of our demo application, which was 
> extended to be able to print out the query plan in a DB2-similiar way 
> and color code. The picture should answer all arising questions about 
> the possibilities of the new explain functionality.

This demo screen-shot looks fantastic, both visually and functionally.  I'm 
definitely looking forward to using it to explore more of what you've done.

> I`d like to contribute the explain functionality and a cut version of 
> the demo (without the sampling stuff) to the Derby community.

Excellent news!  Just out of curiosity, what part of the demo screen shot 
constitutes "the sampling stuff"?

> What do I have to do to successfully provide my code?

I think this depends on the current state of your changes.  If you're already 
working with a Derby svn client then code contribution should be fairly 
straightforward.  If you just grabbed a source jar file and are working from 
that, there's a little more work to do, but overall it shouldn't be too bad.

Either way there are quite a few Derby pages that are intended to help 
developers like yourself become contributors for the Derby project.  A good 
starting point might be the following page:


A lot of information is also on the Derby wiki, to which there are several links 
from the above page.  Some specific pages you may want to visit:

Downloading the Source Code (aka. creating an "svn client")
   => http://db.apache.org/derby/dev/derby_source.html
   => See esp. "Development trunk"

"Derby Development"
   => http://wiki.apache.org/db-derby/DerbyDev
   => See esp. "Getting Started on Development"

"Information for new developers"
   => http://wiki.apache.org/db-derby/ForNewDevelopers
   => See esp. "Check out, build the code, and run the tests"

"Contributor Checklist"
   => http://wiki.apache.org/db-derby/DerbyContributorChecklist
   => See esp. the ICLA information

"Derby Commit Process"
   => http://wiki.apache.org/db-derby/DerbyCommitProcess

I know that's a lot to take in at once, so here's a shorter version:

   1. Create a new Jira issue, mark is as an enhancement, and assign it to 

   2. Create an svn client if you don't already have one.  If you do already 
have one, make sure to do "svn update" to sync it with the latest trunk.

   3. Incorporate your changes into the Derby svn client, get everything 
building, and run these two Derby test suites:

     // Takes three to four hours on my own laptop.
     java org.apache.derbyTesting.functionTests.harness.RunSuite derbyall

     // Takes 30 to 40 minutes on my laptop.
     java junit.swingui.TestRunner -noloading

   4. Create a patch ("svn diff") with your changes and attach the patch to the 
Jira issue you created in step 1.  Also feel free to attach any other documents 
(such as the ones you had in your last email and/or any docs with more details).

   NOTE: You should feel free to contribute your changes incrementally using 
several smaller patches instead of one big one.  In fact, that's usually the 
best way to do it (makes it easier to review, test, and commit).  But again, 
that's just a suggestion.

For help with any part of any of these four steps, see the links I mentioned 
above, and of course feel free to post whatever questions you may have to 
derby-dev.  If you don't get a timely response, ask again--it's nothing 
personal, people are just busy and sometimes we miss things...

Thank you for taking the time to work on this project, and for your willingness 
to contribute back to the community.  I look forward to using your contributions 
in the near future!


View raw message