private static SQLExpr toSqlExpr(String sql) {
    SQLExprParser parser = new ElasticSqlExprParser(sql);
    SQLExpr expr = parser.expr();

    if (parser.getLexer().token() != Token.EOF) {
      throw new ParserException("illegal sql expr : " + sql);
    }

    return expr;
  }
Example #2
0
  public void test_binary() throws Exception {
    SQLExprParser exprParser = new SQLExprParser("AGE > 5");
    SQLBinaryOpExpr binaryOpExpr = (SQLBinaryOpExpr) exprParser.expr();

    Assert.assertEquals(SQLBinaryOperator.GreaterThan, binaryOpExpr.getOperator());

    SQLIdentifierExpr left = (SQLIdentifierExpr) binaryOpExpr.getLeft();
    SQLIntegerExpr right = (SQLIntegerExpr) binaryOpExpr.getRight();

    Assert.assertEquals("AGE", left.getName());
    Assert.assertEquals(5, right.getNumber().intValue());
  }