@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); } }
throw new UnsupportedSelectQueryRuntimeException("DISTINCT is not supported", selectBody); if (plainSelect.getGroupByColumnReferences() != null || plainSelect.getHaving() != null) throw new UnsupportedSelectQueryRuntimeException("GROUP BY / HAVING are not supported", selectBody);
throw new UnsupportedSelectQueryRuntimeException("DISTINCT is not supported", selectBody); if (plainSelect.getGroupByColumnReferences() != null || plainSelect.getHaving() != null) throw new UnsupportedSelectQueryRuntimeException("GROUP BY / HAVING are not supported", selectBody);
@SuppressWarnings("unchecked") public void visit(PlainSelect plainSelect) { log.debug("visit(PlainSelect) " + plainSelect); enterPlainSelect(plainSelect); this.visitingPart = VisitingPart.FROM; navigateFromItem(); if (isToStop()) return; navigateJoins(); if (isToStop()) return; this.visitingPart = VisitingPart.SELECT_ITEM; List<SelectItem> selectItems = this.plainSelect.getSelectItems(); if (selectItems != null) for (SelectItem s : selectItems) s.accept(this.expressionNavigator); this.visitingPart = VisitingPart.WHERE; if (this.plainSelect.getWhere() != null) this.plainSelect.getWhere().accept(this.expressionNavigator); this.visitingPart = VisitingPart.GROUP_BY; List<ColumnReference> crs = this.plainSelect.getGroupByColumnReferences(); if (crs != null) for (ColumnReference cr : crs) cr.accept(this.referenceNavigator); this.visitingPart = VisitingPart.ORDER_BY; navigateOrderBy(); this.visitingPart = VisitingPart.HAVING; if (this.plainSelect.getHaving() != null) this.plainSelect.getHaving().accept(this.expressionNavigator); // other SELECT options navigateOthers(); log.debug("visit(PlainSelect) done " + plainSelect); leavePlainSelect(); }
@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); } }