private static boolean isSelectListItem(SqlNode root, final SqlParserPos pos, String hintToken) { List<SqlNode> nodes = SqlUtil.getAncestry(root, input -> input instanceof SqlIdentifier && ((SqlIdentifier) input).names.contains(hintToken), input -> Objects.requireNonNull(input).getParserPosition() .startsAt(pos)); assert nodes.get(0) == root; nodes = Lists.reverse(nodes); return nodes.size() > 2 && nodes.get(2) instanceof SqlSelect && nodes.get(1) == ((SqlSelect) nodes.get(2)).getSelectList(); }
private static boolean isSelectListItem(SqlNode root, final SqlParserPos pos, String hintToken) { List<SqlNode> nodes = SqlUtil.getAncestry(root, input -> input instanceof SqlIdentifier && ((SqlIdentifier) input).names.contains(hintToken), input -> Objects.requireNonNull(input).getParserPosition() .startsAt(pos)); assert nodes.get(0) == root; nodes = Lists.reverse(nodes); return nodes.size() > 2 && nodes.get(2) instanceof SqlSelect && nodes.get(1) == ((SqlSelect) nodes.get(2)).getSelectList(); }