Examples of Criteria


Examples of org.teiid.query.sql.lang.Criteria

      if (srcToTgt.size() == 0) {
            return changedTree;
        }
        Iterator<Criteria> i = toCopy.iterator();
        while (i.hasNext()) {
            Criteria crit = i.next();
           
            if (copyCriteria(crit, srcToTgt, newJoinCrits, combinedCriteria, copyingJoinCriteria, metadata)) {
              changedTree = true;
              if (!copyingJoinCriteria) {
                crit = newJoinCrits.get(newJoinCrits.size() - 1);
View Full Code Here

Examples of org.teiid.query.sql.lang.Criteria

    private void visitSelectNode(PlanNode node,
                                 Set<Criteria> toCopy,
                                 Set<Criteria> allCriteria) {
        //First examine criteria in critNode for suitability
        Criteria crit = (Criteria) node.getProperty(NodeConstants.Info.SELECT_CRITERIA);
        if(node.getGroups().size() == 1) {
            List<Criteria> crits = Criteria.separateCriteriaByAnd(crit);
            if(!node.hasBooleanProperty(NodeConstants.Info.IS_HAVING) && node.getSubqueryContainers().isEmpty()) {
                if (!node.hasBooleanProperty(NodeConstants.Info.IS_COPIED)) {
                    toCopy.addAll(crits);
View Full Code Here

Examples of org.teiid.query.sql.lang.Criteria

      
        if (aps == null) {
            return;
        }

        Criteria crit = (Criteria)critNode.getProperty(NodeConstants.Info.SELECT_CRITERIA);
       
        Collection<ElementSymbol> elements = getElementsIncriteria(crit);
                       
        boolean removeAps = satisfyAccessPatterns(aps, elements);
        if (removeAps) {
View Full Code Here

Examples of org.teiid.query.sql.lang.Criteria

  PlanNode copyNode(PlanNode critNode) {
    // Create new copy node
    PlanNode copyNode = NodeFactory.getNewNode(NodeConstants.Types.SELECT);

    // Copy criteria
    Criteria crit = (Criteria) critNode.getProperty(NodeConstants.Info.SELECT_CRITERIA);
    Criteria copyCrit = (Criteria) crit.clone();
    copyNode.setProperty(NodeConstants.Info.SELECT_CRITERIA, copyCrit);
    copyNode.addGroups(critNode.getGroups());
        if(critNode.hasBooleanProperty(NodeConstants.Info.IS_DEPENDENT_SET)) {
            copyNode.setProperty(NodeConstants.Info.IS_DEPENDENT_SET, Boolean.TRUE);
        }
View Full Code Here

Examples of org.teiid.query.sql.lang.Criteria

        // If projectNode has children, then it is from a SELECT without a FROM and the criteria should not be pushed
        if(projectNode.getChildCount() == 0) {
            return false;
        }

        Criteria crit = (Criteria) critNode.getProperty(NodeConstants.Info.SELECT_CRITERIA);

        Boolean conversionResult = checkConversion(symbolMap, ElementCollectorVisitor.getElements(crit, true));
       
        if (conversionResult == Boolean.FALSE) {
          return false; //not convertable
View Full Code Here

Examples of org.teiid.query.sql.lang.Criteria

    // ################################## TEST HELPERS ################################
   
    private Criteria parseCriteria(String critStr, QueryMetadataInterface metadata) {
        try {
            Criteria crit = QueryParser.getQueryParser().parseCriteria(critStr);
           
            // resolve against metadata
            QueryResolver.resolveCriteria(crit, metadata);
           
            return crit;
View Full Code Here

Examples of org.teiid.query.sql.lang.Criteria

        }
    }  
   
    private Criteria helpTestRewriteCriteria(String original, String expected, boolean rewrite) throws QueryMetadataException, TeiidComponentException, TeiidProcessingException {
        FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
        Criteria expectedCrit = parseCriteria(expected, metadata);
        if (rewrite) {
            QueryResolver.resolveCriteria(expectedCrit, metadata);
            expectedCrit = QueryRewriter.rewriteCriteria(expectedCrit, null, null, metadata);
        }
        return helpTestRewriteCriteria(original, expectedCrit, metadata);
View Full Code Here

Examples of org.teiid.query.sql.lang.Criteria

      elements = null;
      tuples = new ArrayList<List>();
    }

    private Criteria helpTestRewriteCriteria(String original, Criteria expectedCrit, QueryMetadataInterface metadata) {
        Criteria origCrit = parseCriteria(original, metadata);
       
        Criteria actual = null;
        // rewrite
        try {
          ArrayList<Boolean> booleanVals = new ArrayList<Boolean>(tuples.size());
          for (List<Object> tuple : tuples) {
              booleanVals.add(new Evaluator(elements, null, null).evaluate(origCrit, tuple));
View Full Code Here

Examples of org.teiid.query.sql.lang.Criteria

    }
   
    @Test public void testRewriteInCriteriaWithNoValues() throws Exception {
      ElementSymbol e1 = new ElementSymbol("e1");
      e1.setGroupSymbol(new GroupSymbol("g1"));
        Criteria crit = new SetCriteria(e1, Collections.EMPTY_LIST); //$NON-NLS-1$
       
        Criteria actual = QueryRewriter.rewriteCriteria(crit, null, null, null);
       
        IsNullCriteria inc = new IsNullCriteria(e1);
        inc.setNegated(true);
        assertEquals(inc, actual);
    }
View Full Code Here

Examples of org.teiid.query.sql.lang.Criteria

        helpTestRewriteCriteria("pm1.g1.e1 LIKE pm1.g1.e1 ESCAPE '#'", "pm1.g1.e1 LIKE pm1.g1.e1 ESCAPE '#'"); //$NON-NLS-1$ //$NON-NLS-2$
    }
   
    @Test public void testRewriteMatchCritEscapeChar5() throws Exception {
        MatchCriteria mcrit = new MatchCriteria(new ElementSymbol("pm1.g1.e1"), new Constant(null, DataTypeManager.DefaultDataClasses.STRING), '#'); //$NON-NLS-1$
        Criteria expected = QueryRewriter.UNKNOWN_CRITERIA;
               
        Object actual = QueryRewriter.rewriteCriteria(mcrit, null, null, null);
        assertEquals("Did not get expected rewritten criteria", expected, actual); //$NON-NLS-1$
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.