aboutsummaryrefslogtreecommitdiff
path: root/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical
diff options
context:
space:
mode:
authorJosiah Yan <josiah.yan@gmail.com>2017-08-02 22:50:54 +0800
committerPaul Rogers <progers@maprtech.com>2017-10-11 10:19:29 -0700
commita7b25714d824c7447a73251314383eccb9b7b18b (patch)
tree72bfa517001ed39957bc7040be1a97b9e9c97fe3 /exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical
parentbbc42240483a0658691149aea3c509ccd0db4c79 (diff)
DRILL-5645: negation of expression causes null pointer exception
closes #892
Diffstat (limited to 'exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical')
-rw-r--r--exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillOptiq.java11
1 files changed, 3 insertions, 8 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillOptiq.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillOptiq.java
index db0cfbd01..0d8efd567 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillOptiq.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillOptiq.java
@@ -167,14 +167,9 @@ public class DrillOptiq {
return FunctionCallFactory.createExpression(call.getOperator().getName().toLowerCase(),
ExpressionPosition.UNKNOWN, arg);
case MINUS_PREFIX:
- final RexBuilder builder = inputs.get(0).getCluster().getRexBuilder();
- final List<RexNode> operands = Lists.newArrayList();
- operands.add(builder.makeExactLiteral(new BigDecimal(-1)));
- operands.add(call.getOperands().get(0));
-
- return visitCall((RexCall) builder.makeCall(
- SqlStdOperatorTable.MULTIPLY,
- operands));
+ List<LogicalExpression> operands = Lists.newArrayList();
+ operands.add(call.getOperands().get(0).accept(this));
+ return FunctionCallFactory.createExpression("u-", operands);
}
throw new AssertionError("todo: implement syntax " + syntax + "(" + call + ")");
case SPECIAL: