@Override public void visit(SubSelect subSelect) { buffer.append("("); if (subSelect.getWithItemsList() != null && !subSelect.getWithItemsList().isEmpty()) { buffer.append("WITH "); for (Iterator<WithItem> iter = subSelect.getWithItemsList().iterator(); iter.hasNext();) { WithItem withItem = iter.next(); withItem.accept(this); if (iter.hasNext()) { buffer.append(","); } buffer.append(" "); } } subSelect.getSelectBody().accept(this); buffer.append(")"); Alias alias = subSelect.getAlias(); if (alias != null) { buffer.append(alias.toString()); } Pivot pivot = subSelect.getPivot(); if (pivot != null) { pivot.accept(this); } }
public static SubSelect qualify(ISession session, SubSelect subSelect) { String alias = subSelect.getAlias(); SelectBody select = subSelect.getSelectBody(); SelectQualifier visitor = new SelectQualifier(session); select.accept(visitor); PlainSelect qualifiedSelect = visitor.getQualifiedQuery(); SubSelect qualifiedSubSelect = new SubSelect(); qualifiedSubSelect.setAlias(alias); qualifiedSubSelect.setSelectBody(qualifiedSelect); return qualifiedSubSelect; } }
public void visit(SubSelect subSelect) { buffer.append(subSelect.getCommentBeginBracket() != null ? subSelect.getCommentBeginBracket() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append("("); subSelect.getSelectBody().accept(this); buffer.append(subSelect.getCommentEndBracket() != null ? subSelect.getCommentEndBracket() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append(")"); String alias = subSelect.getAlias() != null ? subSelect.getAlias().toString() : ""; if (alias != null && !alias.isEmpty()) { buffer.append(" ").append(alias);// it's very strange, but in fact oracle doesn't permit as key word if form clause // buffer.append(" as ").append(alias); } }
@Override public void visit(SubSelect subSelect) { if (subSelect.getAlias() == null || subSelect.getAlias().getName() == null) throw new InvalidSelectQueryRuntimeException("SUB-SELECT must have an alias", subSelect); RAExpression current = select(subSelect.getSelectBody()); RelationID aliasId = idfac.createRelationID(null, subSelect.getAlias().getName()); result = RAExpression.alias(current, aliasId, termFactory); }
@Override public void visit(SubSelect subSelect) { if (subSelect.getAlias() == null || subSelect.getAlias().getName() == null) throw new InvalidSelectQueryRuntimeException("SUB-SELECT must have an alias", subSelect); RAExpression current = select(subSelect.getSelectBody()); RelationID aliasId = idfac.createRelationID(null, subSelect.getAlias().getName()); result = RAExpression.alias(current, aliasId); }
@Override public void visit(SubSelect subSelect) { if (subSelect.getAlias() == null || subSelect.getAlias().getName() == null) throw new InvalidSelectQueryRuntimeException("SUB-SELECT must have an alias", subSelect); relationIndex++; SelectBody selectBody = subSelect.getSelectBody(); if (!(selectBody instanceof PlainSelect)) throw new UnsupportedSelectQueryRuntimeException("Complex SELECT statements are not supported", selectBody); RAExpressionAttributes current = select((PlainSelect) selectBody); RelationID aliasId = idfac.createRelationID(null, subSelect.getAlias().getName()); result = RAExpressionAttributes.alias(current, aliasId); }
@Override public void visit(SubSelect subSelect) { if (subSelect.getAlias() == null || subSelect.getAlias().getName() == null) throw new InvalidSelectQueryRuntimeException("SUB-SELECT must have an alias", subSelect); relationIndex++; SelectBody selectBody = subSelect.getSelectBody(); if (!(selectBody instanceof PlainSelect)) throw new UnsupportedSelectQueryRuntimeException("Complex SELECT statements are not supported", selectBody); RAExpressionAttributes current = select((PlainSelect) selectBody); RelationID aliasId = idfac.createRelationID(null, subSelect.getAlias().getName()); result = RAExpressionAttributes.alias(current, aliasId); }
@Override public void visit(SubSelect subSelect) { buffer.append("("); if (subSelect.getWithItemsList() != null && !subSelect.getWithItemsList().isEmpty()) { buffer.append("WITH "); for (Iterator<WithItem> iter = subSelect.getWithItemsList().iterator(); iter.hasNext();) { WithItem withItem = iter.next(); withItem.accept(this); if (iter.hasNext()) { buffer.append(","); } buffer.append(" "); } } subSelect.getSelectBody().accept(this); buffer.append(")"); Alias alias = subSelect.getAlias(); if (alias != null) { buffer.append(alias.toString()); } Pivot pivot = subSelect.getPivot(); if (pivot != null) { pivot.accept(this); } }
@Override public void visit(SubSelect subSelect) { subSelect.getSelectBody().accept(new ReplaceStarSelectVisitor(true, subSelect.getAlias().getName(), variables)); }
public static SubSelect qualify(ISession session, SubSelect subSelect) { String alias = subSelect.getAlias(); SelectBody select = subSelect.getSelectBody(); SelectQualifier visitor = new SelectQualifier(session); select.accept(visitor); PlainSelect qualifiedSelect = visitor.getQualifiedQuery(); SubSelect qualifiedSubSelect = new SubSelect(); qualifiedSubSelect.setAlias(alias); qualifiedSubSelect.setSelectBody(qualifiedSelect); return qualifiedSubSelect; } }
private void visitSubSelect(SubSelect subSelect) { if (subSelect.getSelectBody() instanceof PlainSelect) { PlainSelect subSelBody = (PlainSelect) (subSelect.getSelectBody()); if (subSelBody.getJoins() != null || subSelBody.getWhere() != null) unsupported(subSelect); } else unsupported(subSelect); inSubSelect = true; subSelectAlias = subSelect.getAlias(); subSelect.getSelectBody().accept(selectVisitor); subSelectAlias = null; inSubSelect = false; }