Hello,
Yes, indeed I finished the project. I had synchronized on September 5th , the last time. Then I finished the project and ran mvn clean install successfully! As You should have known, on September 16th, it was the soft pencils down deadline, meaning that Google evaluates source code written by that date. All source code modified afterwards counts only as further work, not for the GSoC project aim accomplisment. Today, as You requested, I tried to synchronize again. Well, except from some conflicts that I resolved for commit purposes, the biggest surprise was to discover that You deleted the classes I worked with. Also, You modified/ deleted some methods that I was using. Unfortunately this is not the first time that You delete classes while I'm using them (just remind You of #TAJO-87, #TAJO-121 , #TAJO-96 which caused me to start work all over again at mid August, even if we had agreed initially on the Software Design Document). I shall give some examples: 1) I use the class FromTable in several places (e.g. OuterJoinUtil, OuterJoinMeta, OuterJoinRewriteRule), but this class was deleted by You on September 20th, after the project's deadline. I'm talking about Your commit bd1619de0c0a371363382540f70bd876c08ea765, named "TAJO-186: Improve column resolving method. (hyunsik) ". 2) From class ScanNode, I use the method getTableId() (e.g. in OuterJoinMeta, in FilterPushdownRule), which is no longer available, as of September 16th when You first renamed it to getTableName in commit 1b1d1e8c1a6b82ccc5c3ce4daeb9e3daa309cde4 named "TAJO-184: Refactor GlobalPlanner and global plan data structure". Afterwards, on September 20th, in commit bd1619de0c0a371363382540f70bd876c08ea765, named "TAJO-186: Improve column resolving method. (hyunsik) ", You dropped the FromTable field from this class and used a TableDesc instead. 3) From class Column, I use the method getTableName() (e.g. in FilterPushdownRule), which is no longer available, as of September 16th, in commit 1b1d1e8c1a6b82ccc5c3ce4daeb9e3daa309cde4 named "TAJO-184: Refactor GlobalPlanner and global plan data structure", You deleted this method. 4) From class SortNode, I use the constructor public SortNode(SortSpec[] sortKeys, Schema inSchema, Schema outSchema) (e.g. in PhysicalPlannerImpl) but yesterday, on September 23rd , on commit fc018de823dd34d769eb73f3c42e089b0d992b81 named "TAJO-194: LogicalNode should have an identifier to distinguish each logical node instance", You deleted this method. All these major changes after the project's deadline September 16th, can be handled in the future depending on what You had in your plan when You decided to do all these changes. As all these changes occured after the project's deadline, I consider the project successfully finished and the proof is the source repository at https://github.com/camelia-c/incubator-tajo/tree/outerjoin_1. The project status was continuously updated on the project's website that You know : https://sites.google.com/site/gsoc2013tajo34/ , so that the status was always visible for interested parties. Looking forward to hear from You soon. Yours sincerely, Camelia ________________________________ From: Hyunsik Choi <[email protected]> To: tajo-dev <[email protected]>; camelia c <[email protected]> Sent: Sunday, September 15, 2013 12:49 PM Subject: Re: [GSoc2013] - Outer Join - 2 very important questions Hi camelia, I'm sorry for late response. The solution is simple. You can modify existing source code. I've changed the 121 line in Int4Datum as follows: default: if (datum instanceof NullDatum) { return DatumFactory.createBool(false); } else { throw new InvalidOperationException(); } Then, the all unit tests of TestLeftOuter_NLJoinExec are passed. Also, other Datum classes need to have the above codes. Anyway, you work looks very great. Best regards, Hyunsik Choi > __________
