@Override public boolean visitFrom(EJBQLExpression expression, int finishedChildIndex) { context.append(" FROM"); context.setAppendingResultColumns(false); expression.visit(context.getTranslatorFactory().getFromTranslator(context)); context.markCurrentPosition(context.makeWhereMarker()); context.markCurrentPosition(context.makeEntityQualifierMarker()); return false; }
@Override public boolean visitOuterJoin(EJBQLJoin join) { joinAppender.appendOuterJoin( null, new EJBQLTableId(join.getLeftHandSideId()), new EJBQLTableId(join.getRightHandSideId())); context.markCurrentPosition(EJBQLJoinAppender.makeJoinTailMarker(join.getRightHandSideId())); return false; }
@Override public boolean visitFrom(EJBQLExpression expression, int finishedChildIndex) { if (finishedChildIndex + 1 == expression.getChildrenCount()) { if (lastId != null) { context.markCurrentPosition(EJBQLJoinAppender.makeJoinTailMarker(lastId)); } } return true; }
@Override public boolean visitInnerJoin(EJBQLJoin join) { joinAppender.appendInnerJoin( null, new EJBQLTableId(join.getLeftHandSideId()), new EJBQLTableId(join.getRightHandSideId())); // fix 1341-mark current join position for probable future joins to this join context.markCurrentPosition(EJBQLJoinAppender.makeJoinTailMarker(join.getRightHandSideId())); return false; }
@Override public boolean visitFromItem(EJBQLFromItem expression, int finishedChildIndex) { String id = expression.getId(); if (lastId != null) { context.append(','); context.markCurrentPosition(EJBQLJoinAppender.makeJoinTailMarker(lastId)); } this.lastId = id; joinAppender.appendTable(new EJBQLTableId(id)); return false; }
@Override public boolean visitSelectClause(EJBQLExpression expression) { context.append("SELECT"); context.markCurrentPosition(context.makeDistinctMarker()); return true; }