jsqlparser 评估条件
jsqlparser to evaluate a condition
以下字符串:
x=92 and y=29
产生一个有效的输出:x=92 AND y=29
并且它与 CCJSqlParserUtil.parseCondExpression
一起工作正常,但它不应该为以下抛出异常吗?
x=92 lasd y=29
但输出只是:x=92
此外,我应该使用哪个表达式来实现我自己的访问者?即,
CCJSqlParser c= new CCJSqlParser(new StringReader(str));
Expression e = c.Expression(); // or SimpleExpression, etc..
这样当遇到 'lasd'(除 not、or、and 之外的任何值)时,我可以抛出异常而不是默默地忽略表达式的其余部分?
最近发布了 JSqlParser (1.2-SNAPSHOT) 补丁以提供所需的行为:
CCJSqlParserUtil.parseExpression(String expression, boolean allowPartialParse)
和
CCJSqlParserUtil.parseCondExpression(String expression, boolean allowPartialParse)
将 allowPartialParse 设置为 false 将导致上述 Exception.
对于动态解释的东西,仍然需要已经存在的行为,例如从文本中提供表达式。 (语法着色、上下文帮助、...)
以下字符串:
x=92 and y=29
产生一个有效的输出:x=92 AND y=29
并且它与 CCJSqlParserUtil.parseCondExpression
一起工作正常,但它不应该为以下抛出异常吗?
x=92 lasd y=29
但输出只是:x=92
此外,我应该使用哪个表达式来实现我自己的访问者?即,
CCJSqlParser c= new CCJSqlParser(new StringReader(str));
Expression e = c.Expression(); // or SimpleExpression, etc..
这样当遇到 'lasd'(除 not、or、and 之外的任何值)时,我可以抛出异常而不是默默地忽略表达式的其余部分?
最近发布了 JSqlParser (1.2-SNAPSHOT) 补丁以提供所需的行为:
CCJSqlParserUtil.parseExpression(String expression, boolean allowPartialParse)
和
CCJSqlParserUtil.parseCondExpression(String expression, boolean allowPartialParse)
将 allowPartialParse 设置为 false 将导致上述 Exception.
对于动态解释的东西,仍然需要已经存在的行为,例如从文本中提供表达式。 (语法着色、上下文帮助、...)