public void visit(Function function) { Function qfunction = new Function(); qfunction.setAllColumns(function.isAllColumns()); qfunction.setEscaped(function.isEscaped()); qfunction.setName(function.getName()); ExpressionList parameters = function.getParameters(); ExpressionList qualifiedParams; qualifiedParams = (ExpressionList) ItemsListQualifier.qualify(session, tableAliases, parameters); qfunction.setParameters(qualifiedParams); this._qualifiedExpression = qfunction; }
@Override public void visit(Function function) { if (function.getParameters() != null) { function.getParameters().accept(this); } if (function.getKeep() != null) { function.getKeep().accept(this); } }
public void visit(Function function) { if (function.isEscaped()) { buffer.append("{fn "); } buffer.append(function.getName()); if (function.isAllColumns()) { buffer.append("(*)"); } else if (function.getParameters() == null) { buffer.append("()"); } else { boolean oldUseBracketsInExprList = useBracketsInExprList; if (function.isDistinct()) { useBracketsInExprList = false; buffer.append("(DISTINCT "); } visit(function.getParameters()); useBracketsInExprList = oldUseBracketsInExprList; if (function.isDistinct()) { buffer.append(")"); } } if (function.isEscaped()) { buffer.append("}"); } }
@Override public void visit(Function function) { if (function.isEscaped()) { buffer.append("{fn "); buffer.append(function.getName()); if (function.isAllColumns() && function.getParameters() == null) { buffer.append("(*)"); } else if (function.getParameters() == null && function.getNamedParameters() == null) { buffer.append("()"); } else { boolean oldUseBracketsInExprList = useBracketsInExprList; if (function.isDistinct()) { useBracketsInExprList = false; buffer.append("(DISTINCT "); } else if (function.isAllColumns()) { useBracketsInExprList = false; buffer.append("(ALL "); if(function.getNamedParameters() != null){ visit(function.getNamedParameters()); if(function.getParameters() != null){ visit(function.getParameters()); if (function.isDistinct() || function.isAllColumns()) { buffer.append(")"); if (function.getAttribute() != null) { buffer.append(".").append(function.getAttribute());
@Override public void visit(Function function) { // ROMAN (22 Sep 2015): longer list of supported functions? if (function.getName().toLowerCase().equals("regexp_like")) { for (Expression ex :function.getParameters().getExpressions()) ex.accept(this); } else unsupported(function); }
@Override public void visit(Function function) { log.debug("visit(function)" + function); String functionName = function.getName(); String newName = map.get(functionName); if (newName != null) function.setName(newName); // DIST returns radians, we want degrees. if (function.getName().equals("DIST")) { Function dist = new Function(); dist.setName("dist"); dist.setParameters(function.getParameters()); List<Expression> list = new ArrayList<Expression>(); list.add(dist); ExpressionList parameters = new ExpressionList(); parameters.setExpressions(list); function.setName("degrees"); function.setParameters(parameters); } }
/** * 获取jsqlparser中count的SelectItem */ private static List<SelectItem> countSelectItem() { Function function = new Function(); function.setName("COUNT"); List<Expression> expressions = new ArrayList<>(); LongValue longValue = new LongValue(1); ExpressionList expressionList = new ExpressionList(); expressions.add(longValue); expressionList.setExpressions(expressions); function.setParameters(expressionList); List<SelectItem> selectItems = new ArrayList<>(); SelectExpressionItem selectExpressionItem = new SelectExpressionItem(function); selectItems.add(selectExpressionItem); return selectItems; } }
boolean jjtc000 = true; jjtree.openNodeScope(jjtn000); jjtn000.jjtSetFirstToken(getToken(1));Function retval = new Function(); String funcName = null; String tmp = null; case 236:{ jj_consume_token(236); retval.setEscaped(true); break; case K_DISTINCT:{ jj_consume_token(K_DISTINCT); retval.setDistinct(true); break; retval.setAllColumns(true); break; case 201:{ jj_consume_token(201); retval.setAllColumns(true); break; jj_consume_token(202); tmp = RelObjectName(); retval.setAttribute(tmp); break;
final public Function Function() throws ParseException { Function retval = new Function(); String funcName = null; String tmp = null; case 102: jj_consume_token(102); retval.setEscaped(true); break; default: case K_DISTINCT: jj_consume_token(K_DISTINCT); retval.setDistinct(true); break; case K_ALL: jj_consume_token(K_ALL); retval.setAllColumns(true); break; default: case 82: jj_consume_token(82); retval.setAllColumns(true); break; default: retval.setParameters(expressionList); retval.setName(funcName); {if (true) return retval;}
public void visit(Function function) { if (function.isEscaped()) { buffer.append(function.getCommentBeginEscaped() != null ? function.getCommentBeginEscaped() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append("{fn "); } buffer.append(function.getCommentName() != null ? function.getCommentName() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append(function.getName()); if (function.isAllColumns()) { buffer.append(function.getCommentBeginEscaped() != null ? function.getCommentBeginBracket() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append("(").append(function.getCommentBeginEscaped() != null ? function.getCommentAllColumns() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append("*").append(function.getCommentBeginEscaped() != null ? function.getCommentEndBracket() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append(")"); } else if (function.getParameters() == null) { buffer.append(function.getCommentBeginEscaped() != null ? function.getCommentBeginBracket() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append("(").append(function.getCommentEndEscaped() != null ? function.getCommentEndBracket() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append(")"); } else { boolean oldUseBracketsInExprList = useBracketsInExprList; if (function.isDistinct()) { useBracketsInExprList = false; buffer.append(function.getCommentBeginEscaped() != null ? function.getCommentBeginBracket() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append("(").append(function.getCommentDistinct() != null ? function.getCommentDistinct() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append("Distinct "); } visit(function.getParameters()); useBracketsInExprList = oldUseBracketsInExprList; if (function.isDistinct()) { buffer.append(function.getCommentBeginEscaped() != null ? function.getCommentEndBracket() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append(")"); } } if (function.isEscaped()) { buffer.append(function.getCommentEndEscaped() != null ? function.getCommentEndEscaped() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append("}"); } }
final public Function Function() throws ParseException {Function retval = new Function(); String funcName = null; String tmp = null; case ESCAPEDLITEARL:{ tk = jj_consume_token(ESCAPEDLITEARL); retval.setEscaped(true); if (tk.specialToken != null) { retval.setCommentBeginEscaped(tk.specialToken.image); funcName = RelObjectName(); if (token.specialToken != null) { retval.setCommentName(token.specialToken.image); funcName = "REPLACE"; if (tk.specialToken != null) { retval.setCommentName(tk.specialToken.image); retval.setCommentBeginBracket(tk.specialToken.image); case K_DISTINCT:{ tk = jj_consume_token(K_DISTINCT); retval.setDistinct(true); if (tk.specialToken != null) { retval.setCommentDistinct(tk.specialToken.image); retval.setAllColumns(true); if (tk.specialToken != null) { retval.setCommentAll(tk.specialToken.image);
@Override public void visit(Function function) { function.setName(function.getName().toLowerCase()); if (function.getParameters() != null) { function.getParameters().accept(this); } }
@Override public void visit(Function function) { ExpressionList exprList = function.getParameters(); if (exprList != null) { visit(exprList); } }
Expression expression = ((SelectExpressionItem) item).getExpression(); if (expression instanceof Function) { String name = ((Function) expression).getName(); if (name != null) { String NAME = name.toUpperCase();
private List<SelectItem> createCountFunction() { SelectExpressionItem selectExpression = new SelectExpressionItem(); Function counter = new Function(); counter.setName( "count" ); counter.setAllColumns( true ); selectExpression.setExpression( counter ); return Lists.<SelectItem>newArrayList( selectExpression ); }
ExpressionList exprList = f.getParameters(); ExpressionList implExprList = convertToImplementation(exprList); f.setParameters(implExprList); implExpr = convertToImplementation(f);
if(parameters != null){ params = parameters.toString(); if (isDistinct()) { params = params.replaceFirst("\\(", "(DISTINCT "); } else if (isAllColumns()) { params = params.replaceFirst("\\(", "(ALL "); params = namedParameters.toString(); } else if (isAllColumns()) { params = "(*)"; } else {
public static Column toAggregatedOutputColumn(String fieldName, Function f) { if (f.getName().equalsIgnoreCase(BuiltinFunctions.COUNT)) { return Column.column(fieldName, ColumnTypes.LONG); } if (f.getName().equalsIgnoreCase(BuiltinFunctions.SUM) && f.getParameters() != null && f.getParameters().getExpressions() != null && f.getParameters().getExpressions().size() == 1) { return Column.column(fieldName, ColumnTypes.LONG); } if (f.getName().equalsIgnoreCase(BuiltinFunctions.MIN) && f.getParameters() != null && f.getParameters().getExpressions() != null && f.getParameters().getExpressions().size() == 1) { return Column.column(fieldName, ColumnTypes.LONG); } if (f.getName().equalsIgnoreCase(BuiltinFunctions.MAX) && f.getParameters() != null && f.getParameters().getExpressions() != null && f.getParameters().getExpressions().size() == 1) { return Column.column(fieldName, ColumnTypes.LONG); } return null; }
public Lat(Function adqlFunction) { super(); Function latFunction = new Function(); latFunction.setName("lat"); latFunction.setParameters(adqlFunction.getParameters()); List<Expression> expressions = new ArrayList<Expression>(); expressions.add(latFunction); ExpressionList expressionList = new ExpressionList(); expressionList.setExpressions(expressions); setName("degrees"); setParameters(expressionList); }
/** * <p> * 获取jsqlparser中count的SelectItem * </p> */ private static List<SelectItem> countSelectItem() { Function function = new Function(); function.setName("COUNT"); List<Expression> expressions = new ArrayList<>(); LongValue longValue = new LongValue(1); ExpressionList expressionList = new ExpressionList(); expressions.add(longValue); expressionList.setExpressions(expressions); function.setParameters(expressionList); List<SelectItem> selectItems = new ArrayList<>(); SelectExpressionItem selectExpressionItem = new SelectExpressionItem(function); selectItems.add(selectExpressionItem); return selectItems; } }