Dongjoon Hyun created TAJO-1512:
-----------------------------------
Summary: Fix Aggregation.clone NPE bug
Key: TAJO-1512
URL: https://issues.apache.org/jira/browse/TAJO-1512
Project: Tajo
Issue Type: Bug
Reporter: Dongjoon Hyun
Assignee: Dongjoon Hyun
Priority: Critical
When `Expr.clone()` is called, NPE is raised because `Aggregation.clone()` does
not check its `null` array. This issue should be solved for others issues
reusing `Expr`. Please refer the following code.
{code:java}
- aggregation.namedExprs = new NamedExpr[namedExprs.length];
- for (int i = 0; i < namedExprs.length; i++) {
- aggregation.namedExprs[i] = (NamedExpr) namedExprs[i].clone();
+ if (namedExprs != null) {
+ aggregation.namedExprs = new NamedExpr[namedExprs.length];
+ for (int i = 0; i < namedExprs.length; i++) {
+ aggregation.namedExprs[i] = (NamedExpr) namedExprs[i].clone();
+ }
}
- aggregation.groups = new GroupElement[groups.length];
- for (int i = 0; i < groups.length; i++) {
- aggregation.groups[i] = (GroupElement) groups[i].clone();
+ if (groups != null) {
+ aggregation.groups = new GroupElement[groups.length];
+ for (int i = 0; i < groups.length; i++) {
+ aggregation.groups[i] = (GroupElement) groups[i].clone();
+ }
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)