diff options
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.java | 11 |
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: |