tajo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hyunsik Choi <hyun...@apache.org>
Subject Re: [GSoc2013] - Outer Join
Date Sat, 13 Jul 2013 04:28:57 GMT
Hi Camellia,

I leave inline comments on your questions.

On Fri, Jul 12, 2013 at 9:13 PM, camelia c <camelie_1985@yahoo.com> wrote:

> Hello,
> Thank You very much for Your feedback!
> I completed the outer joins to inner joins rewriting part and I plan to
> follow Your advice and move the rewriting methods to LogicalOptimizer.
> The new processing is described in
> https://sites.google.com/site/gsoc2013tajo34/home/validation , where I
> also uploaded the source code as files.
Your work looks good. However, first of all, I would like to encourage you
to learn SCM like Git.

Actually, your source code cannot be merged into the current Tajo source
code because Tajo source code has been changed by multiple developers. It
is very hard to manage Individual source code files against updating source

The main objective of Google summer code is to encourage open source
participation. So, you need to learn an overall system of open source
development. Above all, you should learn SCM like Git.

> 1)  I think that the allTables data structure as well as the
> validateOuterJoin and recursiveWhere methods should remain in class
> QueryAnalyzer, as they belong to the stage where the query is analyzed and
> validated.
> In my opinion, only methods rewriteOuterJoin,
> recursiveRewriteMultiNullSupplier, recursiveRewriteNullRestricted should be
> moved to class LogicalOptimizer as they perform optimizations on the
> logical plan.
> What do You think about this?
Sounds great. Let's go ahead with that :)

> 2) I would like to kindly ask You how can I continually rebase my work on
> the latest Tajo version, "rebase continually your work on updated source
> code"?
> Usually I issue this command:
> mvn package -DskipTests -Pdist -Dtar
> What should I do before this?

If you download the source code via git, just type as follows:

$ git pull origin master

Probably, you meet some conflicts. If you don't know git, you should learn
git in order to solve the conflicts. You can refer some manuals available
online. I would like to recommend this one (http://git-scm.com/book).

> 3) I read on the mailing lists that the Tajo Cli changed and was improved.
> But besides the query acceptance, does this affect in any way the stages of
> the query processing, after its parsing?
Tajo Cli change was in only client side. It does not affect the part in
which you have worked.

> 4) Also, I read some posts on the mailing list related to integration
> tests.
> Where can I find these and how should I use them in order to verify that
> my work integrates well with the rest of the source code?
The following command verifies unit tests and integration tests. It
verifies most parts of Tajo.

$ mvn clean install

> My work so far only affects queries containing at least one outer join, so
> for queries consisting only of inner joins no modification is made.

> As a final remark, it was easier to manage the recursion without
> EvalTreeUtil. Hope it's ok.

That's great.

> Thank You in advance!
> Yours  sincerely,
> Camelia

Best regards,

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message