public void visit(SubqueryFromClause obj) { visitor.createChildNamingContext(true); //first determine the original names List<Expression> exprs = obj.getCommand().getProjectedSymbols(); List<String> names = new ArrayList<String>(exprs.size()); for (int i = 0; i < exprs.size(); i++) { names.add(Symbol.getShortName(exprs.get(i))); } obj.getCommand().acceptVisitor(this); Map<String, String> viewGroup = new HashMap<String, String>(); int i = 0; //now map to the new names for (Entry<Expression, String> entry : visitor.namingContext.currentSymbols.entrySet()) { viewGroup.put(names.get(i++), entry.getValue()); } visitor.namingContext.parent.elementMap.put(obj.getName(), viewGroup); visitor.removeChildNamingContext(); obj.getGroupSymbol().setName(recontextGroup(obj.getGroupSymbol(), true)); }
public void visit(SubqueryFromClause obj) { visitor.createChildNamingContext(true); //first determine the original names List<Expression> exprs = obj.getCommand().getProjectedSymbols(); List<String> names = new ArrayList<String>(exprs.size()); for (int i = 0; i < exprs.size(); i++) { names.add(Symbol.getShortName(exprs.get(i))); } obj.getCommand().acceptVisitor(this); Map<String, String> viewGroup = new HashMap<String, String>(); int i = 0; //now map to the new names for (Entry<Expression, String> entry : visitor.namingContext.currentSymbols.entrySet()) { viewGroup.put(names.get(i++), entry.getValue()); } visitor.namingContext.parent.elementMap.put(obj.getName(), viewGroup); visitor.removeChildNamingContext(); obj.getGroupSymbol().setName(recontextGroup(obj.getGroupSymbol(), true)); }
/** * visit the branches other than the first with individual naming contexts * Aliases are being added in all cases, even though they may only be needed in the order by case. * Adding the same alias to all branches ensures cross db support (db2 in particular) */ public void visit(SetQuery obj) { visitor.createChildNamingContext(true); visitNode(obj.getRightQuery()); visitor.removeChildNamingContext(); visitor.namingContext.aliasColumns = true; visitNode(obj.getLeftQuery()); visitNode(obj.getOrderBy()); }
/** * visit the branches other than the first with individual naming contexts * Aliases are being added in all cases, even though they may only be needed in the order by case. * Adding the same alias to all branches ensures cross db support (db2 in particular) */ public void visit(SetQuery obj) { visitor.createChildNamingContext(true); visitNode(obj.getRightQuery()); visitor.removeChildNamingContext(); visitor.namingContext.aliasColumns = true; visitNode(obj.getLeftQuery()); visitNode(obj.getOrderBy()); }
/** * visit the branches other than the first with individual naming contexts * Aliases are being added in all cases, even though they may only be needed in the order by case. * Adding the same alias to all branches ensures cross db support (db2 in particular) */ public void visit(SetQuery obj) { visitor.createChildNamingContext(true); visitNode(obj.getRightQuery()); visitor.removeChildNamingContext(); visitor.namingContext.aliasColumns = true; visitNode(obj.getLeftQuery()); visitNode(obj.getOrderBy()); }
@Override public void visit(WithQueryCommand obj) { visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
public void visit(SubqueryCompareCriteria obj) { visitNode(obj.getLeftExpression()); visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
public void visit(ScalarSubquery obj) { if (obj.shouldEvaluate()) { return; } visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
@Override public void visit(WithQueryCommand obj) { visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
public void visit(ScalarSubquery obj) { if (obj.shouldEvaluate()) { return; } visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
public void visit(SubquerySetCriteria obj) { visitNode(obj.getExpression()); visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
public void visit(ExistsCriteria obj) { if (obj.shouldEvaluate()) { return; } visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
public void visit(ExistsCriteria obj) { if (obj.shouldEvaluate()) { return; } visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
public void visit(SubqueryCompareCriteria obj) { visitNode(obj.getLeftExpression()); visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
public void visit(ExistsCriteria obj) { if (obj.shouldEvaluate()) { return; } visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
public void visit(SubquerySetCriteria obj) { visitNode(obj.getExpression()); visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
public void visit(SubquerySetCriteria obj) { visitNode(obj.getExpression()); visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
@Override public void visit(WithQueryCommand obj) { visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
public void visit(SubqueryCompareCriteria obj) { visitNode(obj.getLeftExpression()); visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }
public void visit(ScalarSubquery obj) { if (obj.shouldEvaluate()) { return; } visitor.createChildNamingContext(false); visitNode(obj.getCommand()); visitor.removeChildNamingContext(); }