db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lahiru Sandaruwan <lahiru...@gmail.com>
Subject Re: Start with Derby and Full outer JOIN
Date Fri, 04 Mar 2011 09:02:33 GMT
Thank you Bryan for the reply and directing me on really helpful, clear
procedures to follow. I went through the links you sent and got a
good knowledge about GSoC as well.

I know it's too early to propose a solution as i'm in a starting stage. But
I thought just to share very abstract idea I got at the research on the
outer JOIN.

   - Let A and B are the given tables for Full outer JOIN.
   - Perform Left outer JOIN using current optimization methods.(Say A Left
   outer JOIN B), Store result to a new table X.
   - Keep track of missing tuples from Right table(B). Store the values of
   missing tuples(or unique id for each missing tuple) to an array s[].
   - Without doing the Right outer JOIN and get the UNION(as currently in
   operation) with X,
                          Go through missing items stored ( s[] ) and add
   tuples to table X.

I started with your reply and hope to continue on this.

On Fri, Mar 4, 2011 at 8:24 AM, Bryan Pendleton

> On 03/03/2011 08:35 AM, Lahiru Sandaruwan wrote:
>> improvement reported at JIRA (
>> https://issues.apache.org/jira/browse/DERBY-4832 ). As the straight
>> forward Full outer JOIN is not
>> available in Derby( as improvement stated above), I would like to
>> contribute to the improvement of it.
> I think it's a very interesting idea for a project, and it would be
> a nice improvement to Derby.
> To get started with GSoC, make sure you visit the Google web site at
> http://www.google-melange.com/ and make sure that you read the
> "Student Manual" at http://www.booki.cc/gsocstudentguide/
> Once you have figured out how to build the Derby code and run
> the Derby tests, the next step is probably to learn how the
> simple LEFT and RIGHT outer joins work.
> There are extensive test suites in the Derby source tree, so you
> should be able to find a number of examples of those join types
> in those test suites, or you could simply write a test program
> of your own, starting from scratch or from a good SQL manual.
> Then you should learn how to dump Derby query plans and query execution
> statistics to learn how to read the different Derby plan output,
> and you should get yourself set up with a debugger environment
> (I've successfully used both JSwat and IntelliJ Community Edition
> with Derby), so that you can step through the optimization and
> execution of a simple LEFT outer join.
> At that point, you've probably got enough basic information to be
> able to start prototyping solutions and proposing ideas.
> Let us know how we can be of help!
> thanks,
> bryan

Best Regards,
H. G. Lahiru Sandaruwan.
Department of Computer Science and Engineering,
University of Moratuwa.

View raw message