@Override protected EvalNode visitUnaryEval(Context context, UnaryEval unary, Stack<EvalNode> stack) { switch (unary.getType()) { case NOT: context.sb.append("NOT "); super.visitUnaryEval(context, unary, stack); break; case SIGNED: SignedEval signed = (SignedEval) unary; if (signed.isNegative()) { context.sb.append("-"); } super.visitUnaryEval(context, unary, stack); break; case IS_NULL: super.visitUnaryEval(context, unary, stack); IsNullEval isNull = (IsNullEval) unary; if (isNull.isNot()) { context.sb.append("IS NOT NULL "); } else { context.sb.append("IS NULL "); } break; case CAST: super.visitUnaryEval(context, unary, stack); context.sb.append(" AS ").append(convertTajoTypeToSQLType(unary.getValueType())); } return unary; }
@Override protected EvalNode visitUnaryEval(Context context, UnaryEval unary, Stack<EvalNode> stack) { switch (unary.getType()) { case NOT: context.sb.append("NOT "); super.visitUnaryEval(context, unary, stack); break; case SIGNED: SignedEval signed = (SignedEval) unary; if (signed.isNegative()) { context.sb.append("-"); } super.visitUnaryEval(context, unary, stack); break; case IS_NULL: super.visitUnaryEval(context, unary, stack); IsNullEval isNull = (IsNullEval) unary; if (isNull.isNot()) { context.sb.append("IS NOT NULL "); } else { context.sb.append("IS NULL "); } break; case CAST: super.visitUnaryEval(context, unary, stack); context.sb.append(" AS ").append(convertTajoTypeToSQLType(unary.getValueType())); } return unary; }
context.pushDummyValue(unary.getValueType()); context.pushNullFlag(false);
context.pushDummyValue(unary.getValueType()); context.pushNullFlag(false);