Examples of ExpressionSymbol


Examples of org.teiid.query.sql.symbol.ExpressionSymbol

        if (exists.getCommand().getProcessorPlan() == null) {
          if (exists.getCommand() instanceof Query) {
          Query query = (Query)exists.getCommand();
          if ((query.getLimit() == null || query.getOrderBy() == null) && query.getSelect().getProjectedSymbols().size() > 1) {
            query.getSelect().clearSymbols();
            query.getSelect().addSymbol(new ExpressionSymbol("x", new Constant(1))); //$NON-NLS-1$
          }
        }
              addImplicitLimit(exists, 1);
        }
    } else if (criteria instanceof SubquerySetCriteria) {
View Full Code Here

Examples of org.teiid.query.sql.symbol.ExpressionSymbol

        }
      }
      if ((expression.getAggregateFunction() == Type.MAX || expression.getAggregateFunction() == Type.MIN)
        && EvaluatableVisitor.willBecomeConstant(expression.getExpression())) {
      try {
        return new ExpressionSymbol(expression.getName(), ResolverUtil
            .convertExpression(expression.getExpression(),DataTypeManager.getDataTypeName(expression.getType()), metadata));
      } catch (QueryResolverException e) {
        //should not happen, so throw as a runtime
        throw new TeiidRuntimeException(e);
      }
View Full Code Here

Examples of org.teiid.query.sql.symbol.ExpressionSymbol

    for (SetClause clause : update.getChangeList().getClauses()) {
      Expression ex = clause.getValue();
      SingleElementSymbol selectSymbol = null;
      if (!EvaluatableVisitor.willBecomeConstant(ex)) {
        if (!(ex instanceof SingleElementSymbol)) {
          selectSymbol = new ExpressionSymbol("expr", ex); //$NON-NLS-1$
        } else {
          selectSymbol = (SingleElementSymbol)ex;
        }
        selectSymbols.add(new AliasSymbol("s_" +i, selectSymbol)); //$NON-NLS-1$
        ex = new ElementSymbol("s_" +i); //$NON-NLS-1$
View Full Code Here

Examples of org.teiid.query.sql.symbol.ExpressionSymbol

        validateSortable(groupBySymbols);
    Iterator symbolIter = groupBySymbols.iterator();
    while(symbolIter.hasNext()) {
            SingleElementSymbol symbol = (SingleElementSymbol)symbolIter.next();
            if(symbol instanceof ExpressionSymbol) {
                ExpressionSymbol exprSymbol = (ExpressionSymbol) symbol;
                Expression expr = exprSymbol.getExpression();
                if (!ValueIteratorProviderCollectorVisitor.getValueIteratorProviders(expr).isEmpty() || expr instanceof Constant || expr instanceof Reference) {
                  handleValidationError(QueryPlugin.Util.getString("ValidationVisitor.groupby_subquery", expr), expr); //$NON-NLS-1$
                }
            }               
    }
View Full Code Here

Examples of org.teiid.query.sql.symbol.ExpressionSymbol

           }
       }
      
         // Otherwise this should be an ExpressionSymbol and we just need to dive in and evaluate the expression itself
         if (expression instanceof ExpressionSymbol && !(expression instanceof AggregateSymbol)) {           
             ExpressionSymbol exprSyb = (ExpressionSymbol) expression;
             Expression expr = exprSyb.getExpression();
             return internalEvaluate(expr, tuple);
         }
        
         return getContext(expression).getFromContext(expression);
     }
View Full Code Here

Examples of org.teiid.query.sql.symbol.ExpressionSymbol

   
    public void testExpressionHashCode() {
        Expression expr1 = new Constant(new Integer(1));
        Expression expr2 = new Constant(new Integer(2));
        ExpressionSymbol symbol1 = new ExpressionSymbol("foo", expr1); //$NON-NLS-1$
        ExpressionSymbol symbol2 = new ExpressionSymbol("bar", expr2); //$NON-NLS-1$
       
        assertFalse(symbol1.hashCode() == symbol2.hashCode());
    }
View Full Code Here

Examples of org.teiid.query.sql.symbol.ExpressionSymbol

    }
   
    public void testExpressionHashCode1() {
        Expression expr1 = new Constant(new Integer(1));
        Expression expr2 = new Constant(new Integer(1));
        ExpressionSymbol symbol1 = new ExpressionSymbol("foo", expr1); //$NON-NLS-1$
        ExpressionSymbol symbol2 = new ExpressionSymbol("bar", expr2); //$NON-NLS-1$
       
        assertTrue(symbol1.hashCode() == symbol2.hashCode());
    }
View Full Code Here

Examples of org.teiid.query.sql.symbol.ExpressionSymbol


public class TestAliasSymbol extends TestCase {

    public void testAliasEquals() {
        AliasSymbol a1 = new AliasSymbol("X", new ExpressionSymbol("x", new Constant(1))); //$NON-NLS-1$ //$NON-NLS-2$
        AliasSymbol a2 = new AliasSymbol("X", new ExpressionSymbol("x", new Constant(2))); //$NON-NLS-1$ //$NON-NLS-2$
        AliasSymbol a3 = new AliasSymbol("x", new ExpressionSymbol("x", new Constant(1))); //$NON-NLS-1$ //$NON-NLS-2$
       
        assertEquals(a1, a3); //just a different case for the alias
       
        assertFalse(a1.equals(a2)); //different express
    }
View Full Code Here

Examples of org.teiid.query.sql.symbol.ExpressionSymbol

       
        assertFalse(a1.equals(a2)); //different express
    }
   
    public void testClone() {
        AliasSymbol a1 = new AliasSymbol("X", new ExpressionSymbol("x", new Constant(1))); //$NON-NLS-1$ //$NON-NLS-2$
        a1.setOutputName("foo"); //$NON-NLS-1$
        AliasSymbol clone = (AliasSymbol)a1.clone();
        assertEquals(a1, clone);
        assertEquals(a1.getOutputName(), clone.getOutputName());
    }
View Full Code Here

Examples of org.teiid.query.sql.symbol.ExpressionSymbol

    Expression replacement = replaceExpression(expr);
   
    if (replacement instanceof SingleElementSymbol) {
        replacmentSymbol = (SingleElementSymbol)replacement;
    } else {
        replacmentSymbol = new ExpressionSymbol(ses.getShortName(), replacement);
    }
   
    if (alias && createAliases() && !replacmentSymbol.getShortCanonicalName().equals(ses.getShortCanonicalName())) {
        replacmentSymbol = new AliasSymbol(ses.getShortName(), replacmentSymbol);
    }
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.