/** * @param rootClause * @param query */ private void shredJoinTree(FromClause clause, Query query) { if(clause instanceof UnaryFromClause || clause instanceof SubqueryFromClause) { query.getFrom().addClause(clause); } else { JoinPredicate jp = (JoinPredicate) clause; List<Criteria> crits = jp.getJoinCriteria(); if(crits != null && crits.size() > 0) { Criteria joinCrit = null; if (crits.size() > 1) { joinCrit = new CompoundCriteria(crits); } else { joinCrit = crits.get(0); } query.setCriteria(CompoundCriteria.combineCriteria(joinCrit, query.getCriteria())); } // Recurse through tree shredJoinTree(jp.getLeftClause(), query); shredJoinTree(jp.getRightClause(), query); } }
/** * @param rootClause * @param query */ private void shredJoinTree(FromClause clause, Query query) { if(clause instanceof UnaryFromClause || clause instanceof SubqueryFromClause) { query.getFrom().addClause(clause); } else { JoinPredicate jp = (JoinPredicate) clause; List<Criteria> crits = jp.getJoinCriteria(); if(crits != null && crits.size() > 0) { Criteria joinCrit = null; if (crits.size() > 1) { joinCrit = new CompoundCriteria(crits); } else { joinCrit = crits.get(0); } query.setCriteria(CompoundCriteria.combineCriteria(joinCrit, query.getCriteria())); } // Recurse through tree shredJoinTree(jp.getLeftClause(), query); shredJoinTree(jp.getRightClause(), query); } }
/** * @param rootClause * @param query */ private void shredJoinTree(FromClause clause, Query query) { if(clause instanceof UnaryFromClause || clause instanceof SubqueryFromClause) { query.getFrom().addClause(clause); } else { JoinPredicate jp = (JoinPredicate) clause; List<Criteria> crits = jp.getJoinCriteria(); if(crits != null && crits.size() > 0) { Criteria joinCrit = null; if (crits.size() > 1) { joinCrit = new CompoundCriteria(crits); } else { joinCrit = crits.get(0); } query.setCriteria(CompoundCriteria.combineCriteria(joinCrit, query.getCriteria())); } // Recurse through tree shredJoinTree(jp.getLeftClause(), query); shredJoinTree(jp.getRightClause(), query); } }
query.setCriteria( CompoundCriteria.combineCriteria(c, inc) ); return true;
query.setCriteria( CompoundCriteria.combineCriteria(c, inc) ); return true;
query.setCriteria( CompoundCriteria.combineCriteria(c, inc) ); return true;
prepareSubqueries(node.getSubqueryContainers()); if(!node.hasBooleanProperty(NodeConstants.Info.IS_HAVING)) { query.setCriteria( CompoundCriteria.combineCriteria(query.getCriteria(), crit) ); } else { query.setHaving( CompoundCriteria.combineCriteria(query.getHaving(), crit) );
prepareSubqueries(node.getSubqueryContainers()); if(!node.hasBooleanProperty(NodeConstants.Info.IS_HAVING)) { query.setCriteria( CompoundCriteria.combineCriteria(query.getCriteria(), crit) ); } else { query.setHaving( CompoundCriteria.combineCriteria(query.getHaving(), crit) );
prepareSubqueries(node.getSubqueryContainers()); if(!node.hasBooleanProperty(NodeConstants.Info.IS_HAVING)) { query.setCriteria( CompoundCriteria.combineCriteria(query.getCriteria(), crit) ); } else { query.setHaving( CompoundCriteria.combineCriteria(query.getHaving(), crit) );
PlanNode postFilter = RelationalPlanner.createSelectNode(CompoundCriteria.combineCriteria(toFilter), false); ElementCollectorVisitor.getElements(toFilter, select); postFilter.setProperty(Info.OUTPUT_COLS, new ArrayList<Expression>(query.getSelect().getProjectedSymbols()));
PlanNode postFilter = RelationalPlanner.createSelectNode(CompoundCriteria.combineCriteria(toFilter), false); ElementCollectorVisitor.getElements(toFilter, select); postFilter.setProperty(Info.OUTPUT_COLS, new ArrayList<Expression>(query.getSelect().getProjectedSymbols()));
PlanNode postFilter = RelationalPlanner.createSelectNode(CompoundCriteria.combineCriteria(toFilter), false); ElementCollectorVisitor.getElements(toFilter, select); postFilter.setProperty(Info.OUTPUT_COLS, new ArrayList<Expression>(query.getSelect().getProjectedSymbols()));