GitHub user hyunsik opened a pull request:
TAJO-1126: Join condition including functions throws IllegalArgumentExce...
Thank you for enclosing the reproducible query and detailed bug reports.
In addition to above description, I discussed this problem with Hyoungjun in offline chat. He informed me the bug where the parameterized unit tests in TestJoin does not work. The fact that QueryUnitRequesttImpl newly creates TajoConf instance instead of taking existing TajoConf causes this bug. So, given parameters were lost during unit tests. This problem is hiding the unit test failures. As he mentioned, I could find about 20 test failures in TestJoin when I fixed this parameters loss problem.
I found the bug from PlannerUtil::isJoinQual. I improved this method to take two schemas of both relations for join, and I also enabled the method to ensure by checking schemas if both expressions composes a join condition. As a result, all the failures in TestJoin are passed.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/hyunsik/tajo
Alternatively you can review and apply these changes as the patch at:
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #209
Author: Hyunsik Choi <email@example.com>
TAJO-1126: Join condition including functions throws IllegalArgumentException.