public static SubquerySetCriteria helpExample() { ElementSymbol element = TestElementImpl.helpExample("g1", "e1"); //$NON-NLS-1$ //$NON-NLS-2$ Query query = TestQueryImpl.helpExample(true); SubquerySetCriteria ssc = new SubquerySetCriteria(element, query); ssc.setNegated(true); return ssc; }
/** * Deep copy of object. The values Iterator of this object * will not be cloned - it will be null in the new object * (see #setValueIterator setValueIterator}). * @return Deep copy of object */ public SubquerySetCriteria clone() { Expression copy = null; if(getExpression() != null) { copy = (Expression) getExpression().clone(); } QueryCommand copyCommand = null; if(getCommand() != null) { copyCommand = (QueryCommand) getCommand().clone(); } SubquerySetCriteria criteriaCopy = new SubquerySetCriteria(copy, copyCommand); criteriaCopy.setNegated(isNegated()); criteriaCopy.subqueryHint = this.subqueryHint.clone(); return criteriaCopy; }
/** * Deep copy of object. The values Iterator of this object * will not be cloned - it will be null in the new object * (see #setValueIterator setValueIterator}). * @return Deep copy of object */ public SubquerySetCriteria clone() { Expression copy = null; if(getExpression() != null) { copy = (Expression) getExpression().clone(); } QueryCommand copyCommand = null; if(getCommand() != null) { copyCommand = (QueryCommand) getCommand().clone(); } SubquerySetCriteria criteriaCopy = new SubquerySetCriteria(copy, copyCommand); criteriaCopy.setNegated(isNegated()); criteriaCopy.subqueryHint = this.subqueryHint.clone(); return criteriaCopy; }
/** * Deep copy of object. The values Iterator of this object * will not be cloned - it will be null in the new object * (see #setValueIterator setValueIterator}). * @return Deep copy of object */ public SubquerySetCriteria clone() { Expression copy = null; if(getExpression() != null) { copy = (Expression) getExpression().clone(); } QueryCommand copyCommand = null; if(getCommand() != null) { copyCommand = (QueryCommand) getCommand().clone(); } SubquerySetCriteria criteriaCopy = new SubquerySetCriteria(copy, copyCommand); criteriaCopy.setNegated(isNegated()); criteriaCopy.subqueryHint = this.subqueryHint.clone(); return criteriaCopy; }
SubquerySetCriteria ssc = new SubquerySetCriteria(expression, command); ssc.setSubqueryHint(hint); criteria = ssc;
SubquerySetCriteria ssc = new SubquerySetCriteria(expression, command); ssc.setSubqueryHint(hint); criteria = ssc;
SubquerySetCriteria ssc = new SubquerySetCriteria(expression, command); ssc.setSubqueryHint(hint); criteria = ssc;
public void testVisitSubquerySetCriteria() { SubquerySetCriteria ssc = new SubquerySetCriteria(); ssc.setExpression(new Function("length", new Expression[] {exampleElement(true, 0)})); //$NON-NLS-1$ ssc.setCommand(new Query()); helpTest(ssc,getSymbolMap()); }
@Test public void testSubquerySetCriteria1() { Select s1 = new Select(); s1.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$ From f1 = new From(); f1.addGroup(new GroupSymbol("m.g1")); //$NON-NLS-1$ Query q1 = new Query(); q1.setSelect(s1); q1.setFrom(f1); ElementSymbol expr = new ElementSymbol("e2"); //$NON-NLS-1$ SubquerySetCriteria ssc = new SubquerySetCriteria(expr, q1); helpTest(ssc, "e2 IN (SELECT e1 FROM m.g1)"); //$NON-NLS-1$ }
public static SubquerySetCriteria example1() { Query query = new Query(); Select select = new Select(); select.addSymbol(new ElementSymbol("a")); //$NON-NLS-1$ select.addSymbol(new ElementSymbol("b")); //$NON-NLS-1$ query.setSelect(select); From from = new From(); from.addGroup(new GroupSymbol("m.g")); //$NON-NLS-1$ query.setFrom(from); CompareCriteria crit = new CompareCriteria(); crit.setLeftExpression(new ElementSymbol("a")); //$NON-NLS-1$ crit.setRightExpression(new Constant(new Integer(5))); crit.setOperator(CompareCriteria.EQ); query.setCriteria(crit); return new SubquerySetCriteria(new ElementSymbol("temp"), query); //$NON-NLS-1$ }
public static SubquerySetCriteria example3() { Query query = new Query(); Select select = new Select(); select.addSymbol(new ElementSymbol("a")); //$NON-NLS-1$ select.addSymbol(new ElementSymbol("b")); //$NON-NLS-1$ query.setSelect(select); From from = new From(); from.addGroup(new GroupSymbol("m.g")); //$NON-NLS-1$ query.setFrom(from); CompareCriteria crit = new CompareCriteria(); crit.setLeftExpression(new ElementSymbol("a")); //$NON-NLS-1$ crit.setRightExpression(new Constant(new Integer(5))); crit.setOperator(CompareCriteria.EQ); query.setCriteria(crit); return new SubquerySetCriteria(new ElementSymbol("temp2"), query); //$NON-NLS-1$ }
static Query exampleIn(boolean semiJoin) { GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$ From from = new From(); from.addGroup(g); Select select = new Select(); select.addSymbol(new ElementSymbol("a")); //$NON-NLS-1$ Expression expr = new ElementSymbol("b"); //$NON-NLS-1$ Criteria criteria = new CompareCriteria(new ElementSymbol("a2"), CompareCriteria.EQ, //$NON-NLS-1$ new Constant(new Integer(5))); Query query = new Query(); query.setSelect(select); query.setFrom(from); query.setCriteria(criteria); SubquerySetCriteria subCrit = new SubquerySetCriteria(expr, query); subCrit.getSubqueryHint().setMergeJoin(semiJoin); Query outer = new Query(); outer.setSelect(select); outer.setFrom(from); outer.setCriteria(subCrit); return outer; }
@Test public void testSubquerySetCriteria1() { GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$ From from = new From(); from.addGroup(g); Select select = new Select(); select.addSymbol(new ElementSymbol("a")); //$NON-NLS-1$ Expression expr = new ElementSymbol("b"); //$NON-NLS-1$ Criteria criteria = new CompareCriteria(new ElementSymbol("a2"), CompareCriteria.EQ, //$NON-NLS-1$ new Constant(new Integer(5))); Query query = new Query(); query.setSelect(select); query.setFrom(from); query.setCriteria(criteria); SubquerySetCriteria subCrit = new SubquerySetCriteria(expr, query); subCrit.setNegated(true); Query outer = new Query(); outer.setSelect(select); outer.setFrom(from); outer.setCriteria(subCrit); helpTest("SELECT a FROM db.g WHERE b NOT IN (SELECT a FROM db.g WHERE a2 = 5)", //$NON-NLS-1$ "SELECT a FROM db.g WHERE b NOT IN (SELECT a FROM db.g WHERE a2 = 5)", //$NON-NLS-1$ outer); }
@Test public void testSubquerySetCriteria2() { Select s1 = new Select(); s1.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$ From f1 = new From(); f1.addGroup(new GroupSymbol("m.g1")); //$NON-NLS-1$ Query q1 = new Query(); q1.setSelect(s1); q1.setFrom(f1); ElementSymbol expr = new ElementSymbol("e2"); //$NON-NLS-1$ SubquerySetCriteria ssc = new SubquerySetCriteria(expr, q1); ssc.setNegated(true); helpTest(ssc, "e2 NOT IN (SELECT e1 FROM m.g1)"); //$NON-NLS-1$ }
@Test public void testSubquerySetCriteriaWithExec() { GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$ From from = new From(); from.addGroup(g); Select select = new Select(); select.addSymbol(new ElementSymbol("a")); //$NON-NLS-1$ Expression expr = new ElementSymbol("b"); //$NON-NLS-1$ StoredProcedure exec = new StoredProcedure(); exec.setProcedureName("m.sq1"); //$NON-NLS-1$ Query query = new Query(new Select(Arrays.asList(new MultipleElementSymbol())), new From(Arrays.asList(new SubqueryFromClause("x", exec))), null, null, null); SubquerySetCriteria subCrit = new SubquerySetCriteria(expr, query); Query outer = new Query(); outer.setSelect(select); outer.setFrom(from); outer.setCriteria(subCrit); helpTest("SELECT a FROM db.g WHERE b IN (EXEC m.sq1())", //$NON-NLS-1$ "SELECT a FROM db.g WHERE b IN (SELECT * FROM (EXEC m.sq1()) AS x)", //$NON-NLS-1$ outer); }
outerFrom.addGroup(pm1g1); ElementSymbol e2 = new ElementSymbol("e2"); //$NON-NLS-1$ SubquerySetCriteria crit = new SubquerySetCriteria(e2, innerQuery); Query outerQuery = new Query(); outerQuery.setSelect(outerSelect);
if ((criteria.getOperator() == CompareCriteria.EQ && criteria.getPredicateQuantifier() != SubqueryCompareCriteria.ALL) || (criteria.getOperator() == CompareCriteria.NE && criteria.getPredicateQuantifier() == SubqueryCompareCriteria.ALL)) { SubquerySetCriteria result = new SubquerySetCriteria(criteria.getLeftExpression(), criteria.getCommand()); result.setNegated(criteria.getOperator() == CompareCriteria.NE); return rewriteCriteria(result);
if ((criteria.getOperator() == CompareCriteria.EQ && criteria.getPredicateQuantifier() != SubqueryCompareCriteria.ALL) || (criteria.getOperator() == CompareCriteria.NE && criteria.getPredicateQuantifier() == SubqueryCompareCriteria.ALL)) { SubquerySetCriteria result = new SubquerySetCriteria(criteria.getLeftExpression(), criteria.getCommand()); result.setNegated(criteria.getOperator() == CompareCriteria.NE); return rewriteCriteria(result);
outerFrom.addGroup(pm1g1); ElementSymbol e2outer = new ElementSymbol("e2"); //$NON-NLS-1$ SubquerySetCriteria crit = new SubquerySetCriteria(e2outer, innerQuery); Query outerQuery = new Query(); outerQuery.setSelect(outerSelect);
SubquerySetCriteria subCrit = new SubquerySetCriteria(expr, union);