private ArrayList<org.teiid.language.Expression> translateExpressionList( Collection<? extends Expression> list) { ArrayList<org.teiid.language.Expression> result = new ArrayList<org.teiid.language.Expression>(list.size()); for (Expression ex : list) { result.add(translate(ex)); } return result; }
AndOr translate(CompoundCriteria criteria) { List nestedCriteria = criteria.getCriteria(); int size = nestedCriteria.size(); AndOr.Operator op = criteria.getOperator() == CompoundCriteria.AND?AndOr.Operator.AND:AndOr.Operator.OR; AndOr result = new AndOr(translate((Criteria)nestedCriteria.get(size - 2)), translate((Criteria)nestedCriteria.get(size - 1)), op); for (int i = nestedCriteria.size() - 3; i >= 0; i--) { result = new AndOr(translate((Criteria)nestedCriteria.get(i)), result, op); } return result; }
List<org.teiid.language.SetClause> translate(SetClauseList setClauseList) { List<org.teiid.language.SetClause> clauses = new ArrayList<org.teiid.language.SetClause>(setClauseList.getClauses().size()); for (SetClause setClause : setClauseList.getClauses()) { clauses.add(translate(setClause)); } return clauses; }
List<org.teiid.language.SetClause> translate(SetClauseList setClauseList) { List<org.teiid.language.SetClause> clauses = new ArrayList<org.teiid.language.SetClause>(setClauseList.getClauses().size()); for (SetClause setClause : setClauseList.getClauses()) { clauses.add(translate(setClause)); } return clauses; }
BatchedUpdates translate(BatchedUpdateCommand command) { List<Command> updates = command.getUpdateCommands(); List<org.teiid.language.Command> translatedUpdates = new ArrayList<org.teiid.language.Command>(updates.size()); for (Iterator<Command> i = updates.iterator(); i.hasNext();) { translatedUpdates.add(translate(i.next())); } BatchedUpdates batchedUpdates = new BatchedUpdates(translatedUpdates); batchedUpdates.setSingleResult(command.isSingleResult()); return batchedUpdates; }
Like translate(MatchCriteria criteria) { Character escapeChar = null; if(criteria.getEscapeChar() != MatchCriteria.NULL_ESCAPE_CHAR) { escapeChar = new Character(criteria.getEscapeChar()); } Like like = new Like(translate(criteria.getLeftExpression()), translate(criteria.getRightExpression()), escapeChar, criteria.isNegated()); like.setMode(criteria.getMode()); return like; }
Like translate(MatchCriteria criteria) { Character escapeChar = null; if(criteria.getEscapeChar() != MatchCriteria.NULL_ESCAPE_CHAR) { escapeChar = new Character(criteria.getEscapeChar()); } Like like = new Like(translate(criteria.getLeftExpression()), translate(criteria.getRightExpression()), escapeChar, criteria.isNegated()); like.setMode(criteria.getMode()); return like; }
Like translate(MatchCriteria criteria) { Character escapeChar = null; if(criteria.getEscapeChar() != MatchCriteria.NULL_ESCAPE_CHAR) { escapeChar = new Character(criteria.getEscapeChar()); } Like like = new Like(translate(criteria.getLeftExpression()), translate(criteria.getRightExpression()), escapeChar, criteria.isNegated()); like.setMode(criteria.getMode()); return like; }
Condition translate(ExistsCriteria criteria) { Exists exists = new Exists(translate(criteria.getCommand())); if (criteria.isNegated()) { return new Not(exists); } return exists; }
Condition translate(ExistsCriteria criteria) { Exists exists = new Exists(translate(criteria.getCommand())); if (criteria.isNegated()) { return new Not(exists); } return exists; }
TableReference translate(SubqueryFromClause clause) { if (clause.getCommand() instanceof StoredProcedure) { NamedProcedureCall result = new NamedProcedureCall(translate((StoredProcedure)clause.getCommand()), clause.getOutputName()); result.setLateral(clause.isLateral()); result.getCall().setTableReference(true); return result; } DerivedTable result = new DerivedTable(translate((QueryCommand)clause.getCommand()), clause.getOutputName()); result.setLateral(clause.isLateral()); return result; }
TableReference translate(SubqueryFromClause clause) { if (clause.getCommand() instanceof StoredProcedure) { NamedProcedureCall result = new NamedProcedureCall(translate((StoredProcedure)clause.getCommand()), clause.getOutputName()); result.setLateral(clause.isLateral()); result.getCall().setTableReference(true); return result; } DerivedTable result = new DerivedTable(translate((QueryCommand)clause.getCommand()), clause.getOutputName()); result.setLateral(clause.isLateral()); return result; }
public static Call example() throws Exception { String sql = "EXEC pm1.sq3('x', 1)"; //$NON-NLS-1$ Command command = new QueryParser().parseCommand(sql); QueryResolver.resolveCommand(command, TstLanguageBridgeFactory.metadata); return TstLanguageBridgeFactory.factory.translate((StoredProcedure)command); }