public Comparison createCompareCriteria( Comparison.Operator operator, Expression leftExpression, Expression rightExpression) { return new Comparison(leftExpression, rightExpression, operator); }
@Override public List<?> translate(Function function) { Expression trueValue = function.getParameters().get(0); Expression falseValue = trueValue; falseValue = new IsNull(falseValue, true); if (!(trueValue instanceof Predicate)) { trueValue = new Comparison(trueValue, new Literal(Boolean.TRUE, TypeFacility.RUNTIME_TYPES.BOOLEAN), Comparison.Operator.EQ); } return Arrays.asList("CASE WHEN ", trueValue, " THEN 'true' WHEN ", falseValue, " THEN 'false' END"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } });
for (org.teiid.language.Expression expression : translatedExpressions) { if (condition == null) { condition = new Comparison(expr, expression, criteria.isNegated()?Operator.NE:Operator.EQ); } else { condition = new AndOr(new Comparison(expr, expression, criteria.isNegated()?Operator.NE:Operator.EQ), condition, criteria.isNegated()?AndOr.Operator.AND:AndOr.Operator.OR);
for (org.teiid.language.Expression expression : translatedExpressions) { if (condition == null) { condition = new Comparison(expr, expression, criteria.isNegated()?Operator.NE:Operator.EQ); } else { condition = new AndOr(new Comparison(expr, expression, criteria.isNegated()?Operator.NE:Operator.EQ), condition, criteria.isNegated()?AndOr.Operator.AND:AndOr.Operator.OR);
for (org.teiid.language.Expression expression : translatedExpressions) { if (condition == null) { condition = new Comparison(expr, expression, criteria.isNegated()?Operator.NE:Operator.EQ); } else { condition = new AndOr(new Comparison(expr, expression, criteria.isNegated()?Operator.NE:Operator.EQ), condition, criteria.isNegated()?AndOr.Operator.AND:AndOr.Operator.OR);
SearchedCase adjustedFrom = new SearchedCase(Arrays.asList(new SearchedWhenClause(new Comparison(from, length, Operator.GT), new Function( SourceSystemFunctions.ADD_OP, Arrays.asList( TypeFacility.RUNTIME_TYPES.INTEGER)), TypeFacility.RUNTIME_TYPES.INTEGER); clauses.add(new SearchedWhenClause(new Comparison(forLength, maxLength, Operator.GT), maxLength)); Expression defaultExpr = null; if (isNegative == null) { clauses.add(new SearchedWhenClause(new Comparison(forLength, new Literal(0, TypeFacility.RUNTIME_TYPES.INTEGER), Operator.GT), forLength)); } else if (isNegative) {
.append(Tokens.SPACE); Literal e1 = LanguageFactory.INSTANCE.createLiteral(new Integer(1), Integer.class); Comparison criteria = new Comparison(e1, e1, Operator.EQ); condition = criteria;
Array array = (Array)ex; for (Expression expr : array.getExpressions()) { conditions.add(new Comparison(expr, new ColumnReference(table, COL_PREFIX+i++, null, expr.getType()), Comparison.Operator.EQ)); conditions.add(new Comparison(ex, new ColumnReference(table, COL_PREFIX+i++, null, ex.getType()), Comparison.Operator.EQ));
org.teiid.language.Comparison translate(CompareCriteria criteria) { Operator operator = Operator.EQ; switch(criteria.getOperator()) { case CompareCriteria.EQ: operator = Operator.EQ; break; case CompareCriteria.NE: operator = Operator.NE; break; case CompareCriteria.LT: operator = Operator.LT; break; case CompareCriteria.LE: operator = Operator.LE; break; case CompareCriteria.GT: operator = Operator.GT; break; case CompareCriteria.GE: operator = Operator.GE; break; } return new org.teiid.language.Comparison(translate(criteria.getLeftExpression()), translate(criteria.getRightExpression()), operator); }
if (limit.getRowOffset() > 0 || limit.getRowLimit() == 0) { select.setWhere(new Comparison(new Literal(1, TypeFacility.RUNTIME_TYPES.INTEGER), new Literal(0, TypeFacility.RUNTIME_TYPES.INTEGER), Operator.EQ)); return null;
org.teiid.language.Comparison translate(CompareCriteria criteria) { Operator operator = Operator.EQ; switch(criteria.getOperator()) { case CompareCriteria.EQ: operator = Operator.EQ; break; case CompareCriteria.NE: operator = Operator.NE; break; case CompareCriteria.LT: operator = Operator.LT; break; case CompareCriteria.LE: operator = Operator.LE; break; case CompareCriteria.GT: operator = Operator.GT; break; case CompareCriteria.GE: operator = Operator.GE; break; } return new org.teiid.language.Comparison(translate(criteria.getLeftExpression()), translate(criteria.getRightExpression()), operator); }
org.teiid.language.Comparison translate(CompareCriteria criteria) { Operator operator = Operator.EQ; switch(criteria.getOperator()) { case CompareCriteria.EQ: operator = Operator.EQ; break; case CompareCriteria.NE: operator = Operator.NE; break; case CompareCriteria.LT: operator = Operator.LT; break; case CompareCriteria.LE: operator = Operator.LE; break; case CompareCriteria.GT: operator = Operator.GT; break; case CompareCriteria.GE: operator = Operator.GE; break; } return new org.teiid.language.Comparison(translate(criteria.getLeftExpression()), translate(criteria.getRightExpression()), operator); }
public void visit(IsNull obj) { visit(new Comparison(obj.getExpression(), new Literal(null, obj.getExpression().getType()), obj.isNegated()?Comparison.Operator.NE:Comparison.Operator.EQ)); }
org.teiid.language.Comparison translate(DependentSetCriteria criteria) { Operator operator = Operator.EQ; org.teiid.language.Expression arg = null; final TupleBuffer tb = criteria.getDependentValueSource().getTupleBuffer(); if (criteria.getValueExpression() instanceof Array) { Array array = (Array)criteria.getValueExpression(); List<org.teiid.language.Expression> params = new ArrayList<org.teiid.language.Expression>(); Class<?> baseType = null; for (Expression ex : array.getExpressions()) { if (baseType == null) { baseType = ex.getType(); } else if (!baseType.equals(ex.getType())) { baseType = DataTypeManager.DefaultDataClasses.OBJECT; } params.add(createParameter(criteria, tb, ex)); } arg = new org.teiid.language.Array(baseType, params); } else { Expression ex = criteria.getValueExpression(); arg = createParameter(criteria, tb, ex); } if (this.dependentSets == null) { this.dependentSets = new HashMap<String, List<? extends List<?>>>(); } this.dependentSets.put(criteria.getContextSymbol(), new TupleBufferList(tb)); Comparison result = new org.teiid.language.Comparison(translate(criteria.getExpression()), arg, operator); return result; }
org.teiid.language.Comparison translate(DependentSetCriteria criteria) { Operator operator = Operator.EQ; org.teiid.language.Expression arg = null; final TupleBuffer tb = criteria.getDependentValueSource().getTupleBuffer(); if (criteria.getValueExpression() instanceof Array) { Array array = (Array)criteria.getValueExpression(); List<org.teiid.language.Expression> params = new ArrayList<org.teiid.language.Expression>(); Class<?> baseType = null; for (Expression ex : array.getExpressions()) { if (baseType == null) { baseType = ex.getType(); } else if (!baseType.equals(ex.getType())) { baseType = DataTypeManager.DefaultDataClasses.OBJECT; } params.add(createParameter(criteria, tb, ex)); } arg = new org.teiid.language.Array(baseType, params); } else { Expression ex = criteria.getValueExpression(); arg = createParameter(criteria, tb, ex); } if (this.dependentSets == null) { this.dependentSets = new HashMap<String, List<? extends List<?>>>(); } this.dependentSets.put(criteria.getContextSymbol(), new TupleBufferList(tb)); Comparison result = new org.teiid.language.Comparison(translate(criteria.getExpression()), arg, operator); return result; }
org.teiid.language.Comparison translate(DependentSetCriteria criteria) { Operator operator = Operator.EQ; org.teiid.language.Expression arg = null; final TupleBuffer tb = criteria.getDependentValueSource().getTupleBuffer(); if (criteria.getValueExpression() instanceof Array) { Array array = (Array)criteria.getValueExpression(); List<org.teiid.language.Expression> params = new ArrayList<org.teiid.language.Expression>(); Class<?> baseType = null; for (Expression ex : array.getExpressions()) { if (baseType == null) { baseType = ex.getType(); } else if (!baseType.equals(ex.getType())) { baseType = DataTypeManager.DefaultDataClasses.OBJECT; } params.add(createParameter(criteria, tb, ex)); } arg = new org.teiid.language.Array(baseType, params); } else { Expression ex = criteria.getValueExpression(); arg = createParameter(criteria, tb, ex); } if (this.dependentSets == null) { this.dependentSets = new HashMap<String, List<? extends List<?>>>(); } this.dependentSets.put(criteria.getContextSymbol(), new TupleBufferList(tb)); Comparison result = new org.teiid.language.Comparison(translate(criteria.getExpression()), arg, operator); return result; }
addCriteria(new Comparison(fKey, new Literal(null, fKey.getType()), Comparison.Operator.NE));