in asterix-graphix/src/main/java/org/apache/asterix/graphix/lang/rewrite/print/SqlppASTPrintQueryVisitor.java [525:609]
public String visit(OperatorExpr operatorExpr, Void arg) throws CompilationException {
StringBuilder sb = new StringBuilder();
sb.append(operatorExpr.getExprList().get(0).accept(this, arg));
for (int i = 0; i < operatorExpr.getOpList().size(); i++) {
OperatorType operatorType = operatorExpr.getOpList().get(i);
switch (operatorType) {
case OR:
sb.append(" OR ");
break;
case AND:
sb.append(" AND ");
break;
case LT:
sb.append(" < ");
break;
case GT:
sb.append(" > ");
break;
case LE:
sb.append(" <= ");
break;
case GE:
sb.append(" >= ");
break;
case EQ:
sb.append(" = ");
break;
case NEQ:
sb.append(" != ");
break;
case PLUS:
sb.append(" + ");
break;
case MINUS:
sb.append(" - ");
break;
case CONCAT:
sb.append(" || ");
break;
case MUL:
sb.append(" * ");
break;
case DIVIDE:
sb.append(" / ");
break;
case DIV:
sb.append(" DIV ");
break;
case MOD:
sb.append(" MOD ");
break;
case CARET:
sb.append(" ^ ");
break;
case LIKE:
sb.append(" LIKE ");
break;
case NOT_LIKE:
sb.append(" NOT LIKE ");
break;
case IN:
sb.append(" IN ");
break;
case NOT_IN:
sb.append(" NOT IN ");
break;
case BETWEEN:
sb.append(" BETWEEN ");
break;
case NOT_BETWEEN:
sb.append(" NOT BETWEEN ");
break;
case DISTINCT:
sb.append(" DISTINCT ");
break;
case NOT_DISTINCT:
sb.append(" NOT DISTINCT ");
break;
default:
throw new IllegalStateException("Illegal operator encountered!");
}
sb.append(operatorExpr.getExprList().get(i + 1).accept(this, arg));
}
return sb.toString();
}