public Object clone() { return new ExpressionCriteria((Expression) expression.clone()); }
public Object clone() { return new ExpressionCriteria((Expression) expression.clone()); }
public void addCriteria(Expression filter) { if (filter != null) { Criteria crit = null; if (filter instanceof Criteria) { crit = (Criteria)filter; } else { crit = new ExpressionCriteria(filter); } this.criteria = Criteria.combineCriteria(this.criteria, crit); } }
public Object clone() { return new ExpressionCriteria((Expression) expression.clone()); }
@Override public void visit(Unary expr) { accept(expr.getOperand()); org.teiid.query.sql.symbol.Expression teiidExpr = this.stack.pop(); switch (expr.getOperator()) { case MINUS: this.stack.push(new Function(SourceSystemFunctions.MULTIPLY_OP, new org.teiid.query.sql.symbol.Expression[] {new Constant(-1), teiidExpr })); break; case NOT: this.stack.push(new NotCriteria(new ExpressionCriteria(teiidExpr))); break; } }
final public Criteria notCrit(ParseInfo info) throws ParseException { Expression ex = null; boolean isNot = false; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case NOT: jj_consume_token(NOT); isNot=true; break; default: jj_la1[200] = jj_gen; ; } ex = booleanPrimary(info); Criteria crit = null; if (ex instanceof Criteria) { crit = (Criteria)ex; } else { crit = new ExpressionCriteria(ex); } if(isNot) { {if (true) return new NotCriteria(crit);} } else { {if (true) return crit;} } throw new Error("Missing return statement in function"); }
final public Criteria notCrit(ParseInfo info) throws ParseException { Expression ex = null; boolean isNot = false; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case NOT: jj_consume_token(NOT); isNot=true; break; default: jj_la1[200] = jj_gen; ; } ex = booleanPrimary(info); Criteria crit = null; if (ex instanceof Criteria) { crit = (Criteria)ex; } else { crit = new ExpressionCriteria(ex); } if(isNot) { {if (true) return new NotCriteria(crit);} } else { {if (true) return crit;} } throw new Error("Missing return statement in function"); }
final public Criteria notCrit(ParseInfo info) throws ParseException { Expression ex = null; boolean isNot = false; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case NOT: jj_consume_token(NOT); isNot=true; break; default: jj_la1[200] = jj_gen; ; } ex = booleanPrimary(info); Criteria crit = null; if (ex instanceof Criteria) { crit = (Criteria)ex; } else { crit = new ExpressionCriteria(ex); } if(isNot) { {if (true) return new NotCriteria(crit);} } else { {if (true) return crit;} } throw new Error("Missing return statement in function"); }
public void visit(SearchedCaseExpression obj) { int whenCount = obj.getWhenCount(); ArrayList<Expression> thens = new ArrayList<Expression>(whenCount); ArrayList<Criteria> whens = new ArrayList<Criteria>(whenCount); for (int i = 0; i < whenCount; i++) { thens.add(replaceExpression(obj.getThenExpression(i))); Expression ex = replaceExpression(obj.getWhenCriteria(i)); if (!(ex instanceof Criteria)) { whens.add(new ExpressionCriteria(ex)); } else { whens.add((Criteria)ex); } } obj.setWhen(whens, thens); if (obj.getElseExpression() != null) { obj.setElseExpression(replaceExpression(obj.getElseExpression())); } }
public void visit(SearchedCaseExpression obj) { int whenCount = obj.getWhenCount(); ArrayList<Expression> thens = new ArrayList<Expression>(whenCount); ArrayList<Criteria> whens = new ArrayList<Criteria>(whenCount); for (int i = 0; i < whenCount; i++) { thens.add(replaceExpression(obj.getThenExpression(i))); Expression ex = replaceExpression(obj.getWhenCriteria(i)); if (!(ex instanceof Criteria)) { whens.add(new ExpressionCriteria(ex)); } else { whens.add((Criteria)ex); } } obj.setWhen(whens, thens); if (obj.getElseExpression() != null) { obj.setElseExpression(replaceExpression(obj.getElseExpression())); } }
public void visit(SearchedCaseExpression obj) { int whenCount = obj.getWhenCount(); ArrayList<Expression> thens = new ArrayList<Expression>(whenCount); ArrayList<Criteria> whens = new ArrayList<Criteria>(whenCount); for (int i = 0; i < whenCount; i++) { thens.add(replaceExpression(obj.getThenExpression(i))); Expression ex = replaceExpression(obj.getWhenCriteria(i)); if (!(ex instanceof Criteria)) { whens.add(new ExpressionCriteria(ex)); } else { whens.add((Criteria)ex); } } obj.setWhen(whens, thens); if (obj.getElseExpression() != null) { obj.setElseExpression(replaceExpression(obj.getElseExpression())); } }
/** SELECT a or b from g */ @Test public void testOrInSelect(){ Query query = new Query(); query.setSelect(new Select(Arrays.asList(new CompoundCriteria(CompoundCriteria.OR, Arrays.asList(new ExpressionCriteria(new ElementSymbol("a")), new ExpressionCriteria(new ElementSymbol("b"))))))); helpTest("select a or b", "SELECT (a) OR (b)", query); }
@Override public void visit(UriResourceLambdaAny any) { accept(any.getExpression()); if (this.ctxLambda != null) { org.teiid.query.sql.symbol.Expression predicate = this.stack.pop(); Query q = buildSubquery(this.ctxLambda, new Constant(1)); Criteria crit = null; if (predicate instanceof Criteria) { crit = (Criteria)predicate; } else { crit = new ExpressionCriteria(predicate); } q.setCriteria(Criteria.combineCriteria(q.getCriteria(), crit)); predicate = new ExistsCriteria(q); this.stack.push(predicate); } this.ctxLambda = null; }
return (Criteria)ex; return QueryRewriter.rewriteCriteria(new ExpressionCriteria(ex), cc, metadata);
return (Criteria)ex; return QueryRewriter.rewriteCriteria(new ExpressionCriteria(ex), cc, metadata);
@Test public void testExpressionCriteria1() throws Exception { SearchedCaseExpression sce = new SearchedCaseExpression(Arrays.asList(new NotCriteria(new ExpressionCriteria(new ElementSymbol("x")))), Arrays.asList(new ElementSymbol("y"))); helpTestExpression("case when not x then y end", "CASE WHEN NOT (x) THEN y END", sce); }
@Test public void testExpressionCriteria() throws Exception { SearchedCaseExpression sce = new SearchedCaseExpression(Arrays.asList(new ExpressionCriteria(new ElementSymbol("x"))), Arrays.asList(new ElementSymbol("y"))); helpTestExpression("case when x then y end", "CASE WHEN x THEN y END", sce); }
Expression ex = expression.getArg(0); if (!(cond instanceof Criteria)) { cond = new ExpressionCriteria(cond);
Expression ex = expression.getArg(0); if (!(cond instanceof Criteria)) { cond = new ExpressionCriteria(cond);
Expression ex = expression.getArg(0); if (!(cond instanceof Criteria)) { cond = new ExpressionCriteria(cond);