public static Criteria combineCriteria(List<Criteria> parts) { if(parts == null || parts.isEmpty()) { return null; } if (parts.size() == 1) { return parts.get(0); } return new CompoundCriteria(parts); }
public static Criteria combineCriteria(List<Criteria> parts) { if(parts == null || parts.isEmpty()) { return null; } if (parts.size() == 1) { return parts.get(0); } return new CompoundCriteria(parts); }
public static Criteria combineCriteria(List<Criteria> parts) { if(parts == null || parts.isEmpty()) { return null; } if (parts.size() == 1) { return parts.get(0); } return new CompoundCriteria(parts); }
private static void addFilter(ProcedureContainer container, RelationalPlanner planner, Criteria filter) { if (container instanceof FilteredCommand) { FilteredCommand fc = (FilteredCommand)container; if (fc.getCriteria() == null) { fc.setCriteria(filter); } else { fc.setCriteria(QueryRewriter.optimizeCriteria(new CompoundCriteria(Arrays.asList(fc.getCriteria(), filter)), planner.metadata)); } } }
private static void addFilter(ProcedureContainer container, RelationalPlanner planner, Criteria filter) { if (container instanceof FilteredCommand) { FilteredCommand fc = (FilteredCommand)container; if (fc.getCriteria() == null) { fc.setCriteria(filter); } else { fc.setCriteria(QueryRewriter.optimizeCriteria(new CompoundCriteria(Arrays.asList(fc.getCriteria(), filter)), planner.metadata)); } } }
private static void addFilter(ProcedureContainer container, RelationalPlanner planner, Criteria filter) { if (container instanceof FilteredCommand) { FilteredCommand fc = (FilteredCommand)container; if (fc.getCriteria() == null) { fc.setCriteria(filter); } else { fc.setCriteria(QueryRewriter.optimizeCriteria(new CompoundCriteria(Arrays.asList(fc.getCriteria(), filter)), planner.metadata)); } } }
public static org.teiid.query.sql.lang.CompoundCriteria helpExample(int operator) { CompareCriteria c1 = TestCompareCriteriaImpl.helpExample(CompareCriteria.GE, 100, 200); CompareCriteria c2 = TestCompareCriteriaImpl.helpExample(CompareCriteria.LT, 500, 600); return new org.teiid.query.sql.lang.CompoundCriteria(operator, c1, c2); }
@Test public void testCompoundCriteria5() { CompareCriteria cc1 = new CompareCriteria( new ElementSymbol("m.g.c1"), //$NON-NLS-1$ CompareCriteria.EQ, new Constant("abc") ); //$NON-NLS-1$ List<Criteria> crits = new ArrayList<Criteria>(); crits.add(null); crits.add(cc1); CompoundCriteria comp = new CompoundCriteria(CompoundCriteria.OR, crits); helpTest(comp, "(<undefined>) OR (m.g.c1 = 'abc')"); //$NON-NLS-1$ }
@Test public void testCompoundCriteria4() { CompareCriteria cc1 = new CompareCriteria( new ElementSymbol("m.g.c1"), //$NON-NLS-1$ CompareCriteria.EQ, new Constant("abc") ); //$NON-NLS-1$ List<Criteria> crits = new ArrayList<Criteria>(); crits.add(cc1); crits.add(null); CompoundCriteria comp = new CompoundCriteria(CompoundCriteria.OR, crits); helpTest(comp, "(m.g.c1 = 'abc') OR (<undefined>)"); //$NON-NLS-1$ }
private Command createDeleteProcedure(Delete delete, Query query, GroupSymbol group, String correlationName) throws TeiidComponentException, QueryMetadataException, QueryResolverException, TeiidProcessingException { Delete newUpdate = new Delete(); newUpdate.setGroup(group.clone()); GroupSymbol varGroup = getVarGroup(delete); List<Criteria> pkCriteria = createPkCriteria(group, correlationName, query, varGroup); newUpdate.setCriteria(new CompoundCriteria(pkCriteria)); return asLoopProcedure(delete.getGroup(), query, newUpdate, varGroup, Command.TYPE_DELETE); }
private Command createUpdateProcedure(Update update, Query query, GroupSymbol group, String correlationName, SetClauseList setClauseList, GroupSymbol varGroup, Criteria constraint) throws TeiidComponentException, QueryMetadataException, QueryResolverException, TeiidProcessingException { Update newUpdate = new Update(); newUpdate.setConstraint(constraint); newUpdate.setChangeList(setClauseList); newUpdate.setGroup(group.clone()); List<Criteria> pkCriteria = createPkCriteria(group, correlationName, query, varGroup); newUpdate.setCriteria(new CompoundCriteria(pkCriteria)); return asLoopProcedure(update.getGroup(), query, newUpdate, varGroup, Command.TYPE_UPDATE); }
private Command createDeleteProcedure(Delete delete, Query query, GroupSymbol group, String correlationName) throws TeiidComponentException, QueryMetadataException, QueryResolverException, TeiidProcessingException { Delete newUpdate = new Delete(); newUpdate.setGroup(group.clone()); GroupSymbol varGroup = getVarGroup(delete); List<Criteria> pkCriteria = createPkCriteria(delete.getGroup(), group, correlationName, query, varGroup); newUpdate.setCriteria(new CompoundCriteria(pkCriteria)); return asLoopProcedure(delete.getGroup(), query, newUpdate, varGroup, Command.TYPE_DELETE); }
private Command createDeleteProcedure(Delete delete, Query query, GroupSymbol group, String correlationName) throws TeiidComponentException, QueryMetadataException, QueryResolverException, TeiidProcessingException { Delete newUpdate = new Delete(); newUpdate.setGroup(group.clone()); GroupSymbol varGroup = getVarGroup(delete); List<Criteria> pkCriteria = createPkCriteria(delete.getGroup(), group, correlationName, query, varGroup); newUpdate.setCriteria(new CompoundCriteria(pkCriteria)); return asLoopProcedure(delete.getGroup(), query, newUpdate, varGroup, Command.TYPE_DELETE); }
@Test public void testCompoundCriteria1() { CompareCriteria cc = new CompareCriteria( new ElementSymbol("m.g.c1"), //$NON-NLS-1$ CompareCriteria.EQ, new Constant("abc") ); //$NON-NLS-1$ List<Criteria> crits = new ArrayList<Criteria>(); crits.add(cc); CompoundCriteria comp = new CompoundCriteria(CompoundCriteria.AND, crits); helpTest(comp, "m.g.c1 = 'abc'"); //$NON-NLS-1$ }
private Command createUpdateProcedure(Update update, Query query, GroupSymbol group, String correlationName, SetClauseList setClauseList, GroupSymbol varGroup, Criteria constraint) throws TeiidComponentException, QueryMetadataException, QueryResolverException, TeiidProcessingException { Update newUpdate = new Update(); newUpdate.setConstraint(constraint); newUpdate.setChangeList(setClauseList); newUpdate.setGroup(group.clone()); List<Criteria> pkCriteria = createPkCriteria(update.getGroup(), group, correlationName, query, varGroup); newUpdate.setCriteria(new CompoundCriteria(pkCriteria)); return asLoopProcedure(update.getGroup(), query, newUpdate, varGroup, Command.TYPE_UPDATE); }
private Command createUpdateProcedure(Update update, Query query, GroupSymbol group, String correlationName, SetClauseList setClauseList, GroupSymbol varGroup, Criteria constraint) throws TeiidComponentException, QueryMetadataException, QueryResolverException, TeiidProcessingException { Update newUpdate = new Update(); newUpdate.setConstraint(constraint); newUpdate.setChangeList(setClauseList); newUpdate.setGroup(group.clone()); List<Criteria> pkCriteria = createPkCriteria(update.getGroup(), group, correlationName, query, varGroup); newUpdate.setCriteria(new CompoundCriteria(pkCriteria)); return asLoopProcedure(update.getGroup(), query, newUpdate, varGroup, Command.TYPE_UPDATE); }
public void testCombineCriteria4() { CompareCriteria crit1 = exampleCompareCrit(1); CompareCriteria crit2 = exampleCompareCrit(2); CompoundCriteria compCrit = new CompoundCriteria(); compCrit.setOperator(CompoundCriteria.AND); compCrit.addCriteria(crit1); compCrit.addCriteria(crit2); helpTestCombineCriteria(crit1, crit2, compCrit); }
public void testClone2() { ElementSymbol e1 = new ElementSymbol("e1"); //$NON-NLS-1$ CompareCriteria ccrit1 = new CompareCriteria(e1, CompareCriteria.EQ, new Constant("abc")); //$NON-NLS-1$ CompoundCriteria comp = new CompoundCriteria(CompoundCriteria.AND, ccrit1, null); UnitTestUtil.helpTestEquivalence(0, comp, comp.clone()); }
/** 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); }
public void testClone1() { ElementSymbol e1 = new ElementSymbol("e1"); //$NON-NLS-1$ CompareCriteria ccrit1 = new CompareCriteria(e1, CompareCriteria.EQ, new Constant("abc")); //$NON-NLS-1$ ElementSymbol e2 = new ElementSymbol("e2"); //$NON-NLS-1$ CompareCriteria ccrit2 = new CompareCriteria(e2, CompareCriteria.EQ, new Constant("xyz")); //$NON-NLS-1$ CompoundCriteria comp = new CompoundCriteria(CompoundCriteria.AND, ccrit1, ccrit2); UnitTestUtil.helpTestEquivalence(0, comp, comp.clone()); }