@Override public void visit(PlainSelect plainSelect) { for (SelectItem item : plainSelect.getSelectItems()) { item.accept(this); } if (itemsExpr.size() > 1) { BinaryExpression binExpr = createBinaryExpression(); binExpr.setLeftExpression(itemsExpr.get(0).getExpression()); for (int i = 1; i < itemsExpr.size() - 1; i++) { binExpr.setRightExpression(itemsExpr.get(i).getExpression()); BinaryExpression binExpr2 = createBinaryExpression(); binExpr2.setLeftExpression(binExpr); binExpr = binExpr2; } binExpr.setRightExpression(itemsExpr.get(itemsExpr.size() - 1).getExpression()); SelectExpressionItem sei = new SelectExpressionItem(); sei.setExpression(binExpr); plainSelect.getSelectItems().clear(); plainSelect.getSelectItems().add(sei); } ((SelectExpressionItem) plainSelect.getSelectItems().get(0)).setAlias(new Alias(alias)); }
public void visit(PlainSelect plainSelect) { List<SelectItem> cols = plainSelect.getSelectItems(); for(SelectItem col : cols){ col.accept(this); } if(plainSelect.getFromItem()!=null){ plainSelect.getFromItem().accept(this); } if (plainSelect.getJoins() != null) { for (Iterator joinsIt = plainSelect.getJoins().iterator(); joinsIt.hasNext();) { Join join = (Join) joinsIt.next(); join.getRightItem().accept(this); } } if (plainSelect.getWhere() != null) plainSelect.getWhere().accept(this); }
public static List qualify(ISession session, Map tableAliases, SelectItem item) { if (item == null) { return null; } SelectItemQualifier qualifier = new SelectItemQualifier(session, tableAliases); item.accept(qualifier); return qualifier.qualifiedItems; }
@Override public void visit(PlainSelect plainSelect) { if (plainSelect.getSelectItems() != null) { for (SelectItem item : plainSelect.getSelectItems()) { item.accept(this); } } if (plainSelect.getFromItem() != null) { plainSelect.getFromItem().accept(this); } if (plainSelect.getJoins() != null) { for (Join join : plainSelect.getJoins()) { join.getRightItem().accept(this); } } if (plainSelect.getWhere() != null) { plainSelect.getWhere().accept(this); } if (plainSelect.getHaving() != null) { plainSelect.getHaving().accept(this); } if (plainSelect.getOracleHierarchical() != null) { plainSelect.getOracleHierarchical().accept(this); } }
ImmutableMap<QualifiedAttributeID, Term> getAttributes(SelectItem si) { si.accept(this); return map; }
ImmutableMap<QualifiedAttributeID, Term> getAttributes(SelectItem si) { si.accept(this); return map; }
ImmutableMap<QualifiedAttributeID, Term> getAttributes(SelectItem si) { si.accept(this); return map; }
ImmutableMap<QualifiedAttributeID, Term> getAttributes(SelectItem si) { si.accept(this); return map; }
private static boolean isSelectAll(SelectItem expr) { ReplaceStarSelectItemVisitor visitor = new ReplaceStarSelectItemVisitor(); expr.accept(visitor); return visitor.selectAll; }
public static List qualify(ISession session, Map tableAliases, SelectItem item) { if (item == null) { return null; } SelectItemQualifier qualifier = new SelectItemQualifier(session, tableAliases); item.accept(qualifier); return qualifier.qualifiedItems; }
@Override public void visit(PlainSelect plainSelect) { for (Object oItem : plainSelect.getSelectItems()) { SelectItem item = (SelectItem) oItem; item.accept(this); } }
/** * Handle use of the DISTINCT construct. The implementation logs and visits explicit expressions (itself) in the optional * ON(...) since they are not part of the select list. */ @SuppressWarnings("unchecked") protected void handleDistinct(Distinct distinct) { log.debug("handleDistinct: " + distinct); List<SelectItem> onSelectItems = distinct.getOnSelectItems(); if (onSelectItems != null) for (SelectItem si : onSelectItems) { if (si != null) si.accept(this.expressionNavigator); } }
@Override public void visit(PlainSelect plainSelect) { log.debug("visit(PlainSelect) " + plainSelect); enterPlainSelect(plainSelect); this.visitingPart = VisitingPart.SELECT_ITEM; List<SelectItem> selectItems = plainSelect.getSelectItems(); if (selectItems != null) for (SelectItem s : selectItems) s.accept(this.expressionNavigator); log.debug("visit(PlainSelect) done"); leavePlainSelect(); } }
@Override public void visit(PlainSelect plainSelect) { /* working with getProjection we visit the SelectItems and distinguish between select distinct, select distinct on, select all */ Distinct distinct = plainSelect.getDistinct(); if (distinct != null) { // for SELECT DISTINCT [ON (...)] if (distinct.getOnSelectItems() != null) { for(SelectItem item : distinct.getOnSelectItems()) item.accept(this); } } for (SelectItem item : plainSelect.getSelectItems()) item.accept(this); }
si.accept(new SelectItemVisitor() { @Override public void visit(AllColumns allColumns) {
@Override public void visit(PlainSelect plainSelect) { // visit the SelectItems and distinguish between select distinct, // select distinct on, select all projection = new ProjectionJSQL(); Distinct distinct = plainSelect.getDistinct(); if (distinct != null) { // for SELECT DISTINCT [ON (...)] if (distinct.getOnSelectItems() != null) { bdistinctOn = true; for (SelectItem item : distinct.getOnSelectItems()) item.accept(this); bdistinctOn = false; } else projection.setType(ProjectionJSQL.SELECT_DISTINCT); } for (SelectItem item : plainSelect.getSelectItems()) item.accept(this); }