public static CreateIndexDesc walk(EsperEPL2GrammarParser.CreateIndexExprContext ctx, Map<Tree, ExprNode> astExprNodeMap) {
String indexName = ctx.n.getText();
String windowName = ctx.w.getText();
boolean unique = false;
if (ctx.u != null) {
String ident = ctx.u.getText();
if (ident.toLowerCase(Locale.ENGLISH).trim().equals("unique")) {
unique = true;
} else {
throw ASTWalkException.from("Invalid keyword '" + ident + "' in create-index encountered, expected 'unique'");
}
}
List<CreateIndexItem> columns = new ArrayList<>();
List<EsperEPL2GrammarParser.CreateIndexColumnContext> cols = ctx.createIndexColumnList().createIndexColumn();
for (EsperEPL2GrammarParser.CreateIndexColumnContext col : cols) {
CreateIndexItem item = walk(col, astExprNodeMap);
columns.add(item);
}
return new CreateIndexDesc(unique, indexName, windowName, columns);
}
ASTIndexHelper.java 文件源码
java
阅读 21
收藏 0
点赞 0
评论 0
项目:esper
作者:
评论列表
文章目录