Package org.teiid.query.sql.symbol

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


        SymbolMap symbolMap = (SymbolMap)root.getProperty(NodeConstants.Info.SYMBOL_MAP);
       
        List<ElementSymbol> symbolOrder = symbolMap.getKeys();
       
        for (OrderByItem item : sortOrder.getOrderByItems()) {
            final Expression expr = item.getSymbol();
            int index = topCols.indexOf(expr);
            if (index < 0) {
              continue;
            }
            ElementSymbol symbol = symbolOrder.get(index);
View Full Code Here


       
        boolean updateGroups = outputColumns.size() != originalOrder.size();
        boolean[] seenIndex = new boolean[outputColumns.size()];
       
        for (int i = 0; i < outputColumns.size(); i++) {
            Expression expr = outputColumns.get(i);
            filteredIndex[i] = originalOrder.indexOf(expr);
            if (!updateGroups) {
              seenIndex[filteredIndex[i]] = true;
            }
        }
View Full Code Here

            for (SingleElementSymbol expression : groupCols) {
                        if(expression instanceof ElementSymbol || expression instanceof AggregateSymbol) {
                            requiredSymbols.add(expression);
                        } else {   
                            ExpressionSymbol exprSymbol = (ExpressionSymbol) expression;
                            Expression expr = exprSymbol.getExpression();
                            AggregateSymbolCollectorVisitor.getAggregates(expr, requiredSymbols, requiredSymbols);
                            createdSymbols.add(exprSymbol);
                        }
                    }
        }

        // Take credit for creating any aggregates that are needed above
        for (SingleElementSymbol outputSymbol : outputCols) {
          if(outputSymbol instanceof AggregateSymbol) {
              AggregateSymbol agg = (AggregateSymbol)outputSymbol;
              createdSymbols.add(outputSymbol);
             
                      Expression aggExpr = agg.getExpression();
                      if(aggExpr != null) {
                          AggregateSymbolCollectorVisitor.getAggregates(aggExpr, requiredSymbols, requiredSymbols);
                      }
                      OrderBy orderBy = agg.getOrderBy();
                      if(orderBy != null) {
View Full Code Here

        e1.setType(DataTypeManager.DefaultDataClasses.DATE);
     
        // Expected right expression
        Class srcType = DataTypeManager.DefaultDataClasses.STRING;
        String tgtTypeName = DataTypeManager.DefaultDataTypes.DATE;
        Expression expression = new Constant("2003-02-27"); //$NON-NLS-1$
       
    FunctionLibrary library = FakeMetadataFactory.SFM.getSystemFunctionLibrary();                        
    FunctionDescriptor fd = library.findFunction(FunctionLibrary.CONVERT, new Class[] { srcType, DataTypeManager.DefaultDataClasses.STRING });

    Function conversion = new Function(fd.getName(), new Expression[] { expression, new Constant(tgtTypeName) });
View Full Code Here

    e1.setType(DataTypeManager.DefaultDataClasses.DATE);
     
    // Expected right expression
    Class srcType = DataTypeManager.DefaultDataClasses.STRING;
    String tgtTypeName = DataTypeManager.DefaultDataTypes.DATE;
    Expression expression = new Constant("2003-02-27"); //$NON-NLS-1$
       
    FunctionLibrary library = FakeMetadataFactory.SFM.getSystemFunctionLibrary();                       
    FunctionDescriptor fd = library.findFunction(FunctionLibrary.CONVERT, new Class[] { srcType, DataTypeManager.DefaultDataClasses.STRING });

    Function conversion = new Function(fd.getName(), new Expression[] { expression, new Constant(tgtTypeName) });
View Full Code Here

        user.setFunctionDescriptor(fd);

        // Expected criteria
        CompareCriteria expected = new CompareCriteria();
        // Expected right expression
        Expression e1 = new Constant("bqt2", String.class); //$NON-NLS-1$
        // Expected left expression
        expected.setLeftExpression(user);
        expected.setOperator(CompareCriteria.EQ);
        expected.setRightExpression(e1);
        
View Full Code Here

    @Test public void testUpdateSetClauseReferenceType() {
      String sql = "UPDATE pm1.g1 SET pm1.g1.e1 = 1, pm1.g1.e2 = ?;"; //$NON-NLS-1$
     
      Update update = (Update)helpResolve(sql, FakeMetadataFactory.example1Cached());
     
      Expression ref = update.getChangeList().getClauses().get(1).getValue();
      assertTrue(ref instanceof Reference);
      assertNotNull(ref.getType());
    }
View Full Code Here

     * 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;
View Full Code Here

  private Boolean checkConversion(SymbolMap symbolMap,
      Collection<ElementSymbol> elements) {
    Boolean result = null;
       
        for (ElementSymbol element : elements) {
            Expression converted = symbolMap.getMappedExpression(element);

            if(converted == null) {
                return false;
            }
           
View Full Code Here

  /**
   * Deep copy of object
   * @return Deep copy of object
   */
  public Object clone() {
      Expression copy = null;
      if(getExpression() != null) {
          copy = (Expression) getExpression().clone();
     
     
      Collection copyValues = null;
View Full Code Here

TOP

Related Classes of org.teiid.query.sql.symbol.Expression

Copyright © 2018 www.massapicom. 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.