Package org.teiid.query.sql.lang

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


 
  public static Command createUpdateProcedure(Update update, QueryMetadataInterface metadata, CommandContext context) throws QueryResolverException, QueryMetadataException, TeiidComponentException, TeiidProcessingException {
    QueryRewriter rewriter = new QueryRewriter(metadata, context, null);
    Criteria crit = update.getCriteria();
    ArrayList<SingleElementSymbol> selectSymbols = rewriter.mapChangeList(update, null);
    Query query = new Query(new Select(selectSymbols), new From(Arrays.asList(new UnaryFromClause(update.getGroup()))), crit, null, null);
    return rewriter.createUpdateProcedure(update, query, update.getGroup(), update.getGroup().getName());
  }
View Full Code Here


      Insert insert = (Insert)userCommand;
      if (insert.getQueryExpression() != null) {
        query = insert.getQueryExpression();
      } else {
        query = new Query();
        ((Query)query).setSelect(new Select(RuleChooseJoinStrategy.createExpressionSymbols(insert.getValues())));
      }
    } else if (userCommand instanceof Delete) {
      query = createOldQuery(userCommand, ta, metadata, params);
    } else if (userCommand instanceof Update) {
      query = createOldQuery(userCommand, ta, metadata, params);
View Full Code Here

        //default to old
        params.put(new ElementSymbol(SQLConstants.Reserved.NEW + ElementSymbol.SEPARATOR + elementSymbol.getShortName()), elementSymbol);
      }
    }
    selectSymbols.addAll(LanguageObject.Util.deepClone(allSymbols, ElementSymbol.class));
    query = new Query(new Select(selectSymbols), new From(Arrays.asList(new UnaryFromClause(ta.getView()))), ((TranslatableProcedureContainer)userCommand).getCriteria(), null, null);
    return query;
  }
View Full Code Here

        }
        // -------------------------------
        // Read the SELECT elements
        // -------------------------------
        Element selectElement = resultsElement.getChild(TagNames.Elements.SELECT);
        Select select = new Select();
        select = consumeMsg(select, selectElement);

        List listOfElementSymbols = select.getSymbols();
        Iterator elementSymbolItr = listOfElementSymbols.iterator();
        Collection collectionOfColumnInfos = new ArrayList();
        while ( elementSymbolItr.hasNext() ) {
            ElementSymbol elementSymbol = (ElementSymbol) elementSymbolItr.next();
            Class elementType = elementSymbol.getType();
View Full Code Here

     * @return the updated instance.
     * @exception JDOMException if there is an error consuming the message.
     */
    private Select consumeMsg(Select object, Element selectElement) throws JDOMException {

        Select select = (object != null) ? (Select) object : new Select();
        // --------------------------------
        // Read the DISTINCT attribute
        // --------------------------------

        String distinct = selectElement.getAttributeValue(TagNames.Attributes.DISTINCT);
        if ( distinct != null ) {
            if ( distinct.equalsIgnoreCase("true") ) { //$NON-NLS-1$
                select.setDistinct(true);
            }
        }

        // --------------------------------
        // Read the STAR attribute
        // --------------------------------

        String star = selectElement.getAttributeValue(TagNames.Attributes.STAR);
        if ( star != null ) {
            if ( star.equalsIgnoreCase("true") ) { //$NON-NLS-1$
                if ( selectElement.getChildren() != null ) {
                    throw new JDOMException("No children expected when star is chosen."); //$NON-NLS-1$
                }
                return select;
            }
        }

        // --------------------------------
        // Read the IDENTIFIER elements ...
        // --------------------------------
        List idents = selectElement.getChildren();
        Iterator identIter = idents.iterator();
        while ( identIter.hasNext() ) {
            Element dataElement = (Element) identIter.next();
            Attribute dataType = dataElement.getAttribute(TagNames.Attributes.TYPE);
            // add the dataType of the element to the list containing dataTypes
            ElementSymbol nodeID = new ElementSymbol(dataElement.getText());
            Class nodeType = (Class) TagNames.TYPE_MAP.get(dataType.getValue());
            if (nodeType == null)  {
                throw new JDOMException("Unknown class for type \"" + dataType.getValue() + "\"."); //$NON-NLS-1$ //$NON-NLS-2$
            }
            nodeID.setType(nodeType);
            select.addSymbol(nodeID);
        }

        return select;
    }
View Full Code Here

            ResultSetMetaData rmdata = object.getMetaData();
            List identList = new ArrayList(rmdata.getColumnCount());
            for ( int i = 1; i <= rmdata.getColumnCount(); i++ ) {
                identList.add(new ElementSymbol(rmdata.getColumnName(i)));
            }
            Select select = new Select(identList);
            resultsElement = produceMsg(select, rmdata, resultsElement);

            // -------------------------
            // Add the Table element ...
            // -------------------------
View Full Code Here

            ResultSetMetaData rmdata = object.getMetaData();
            List identList = new ArrayList(rmdata.getColumnCount());
            for ( int i = 1; i <= rmdata.getColumnCount(); i++ ) {
                identList.add(new ElementSymbol(rmdata.getColumnName(i)));
            }
            Select select = new Select(identList);
            resultsElement = produceMsg(select, rmdata, resultsElement);

            // -------------------------
            // Add the Table element ...
            // -------------------------
View Full Code Here

        }
        return queryNode;
    }   
   
    static Query wrapQuery(FromClause fromClause, String groupName) {
        Select select = new Select();
        select.addSymbol(new AllInGroupSymbol(groupName + ".*")); //$NON-NLS-1$
        Query query = new Query();
        query.setSelect(select);
        From from = new From();
        from.addClause(fromClause);
        query.setFrom(from);       
View Full Code Here

        return QueryRewriter.rewrite(result, metadata, context);
    }
   
  public static Query createMatViewQuery(Object matMetadataId, String matTableName, List<? extends SelectSymbol> select, boolean isGlobal) {
    Query query = new Query();
    query.setSelect(new Select(select));
    GroupSymbol gs = new GroupSymbol(matTableName);
    gs.setGlobalTable(isGlobal);
    gs.setMetadataID(matMetadataId);
    query.setFrom(new From(Arrays.asList(new UnaryFromClause(gs))));
    return query;
View Full Code Here

     
      Query procQuery = new Query();
      From from = new From();
      from.addClause(new SubqueryFromClause("X", storedProcedureCommand)); //$NON-NLS-1$
      procQuery.setFrom(from);
      Select select = new Select();
      select.addSymbol(new AllInGroupSymbol("X.*")); //$NON-NLS-1$
      procQuery.setSelect(select);
     
      List<String> accessPatternElementNames = new LinkedList<String>();
     
      int paramIndex = 1;
     
      for (SPParameter metadataParameter : metadataParams) {
          SPParameter clonedParam = (SPParameter)metadataParameter.clone();
          if (clonedParam.getParameterType()==ParameterInfo.IN || metadataParameter.getParameterType()==ParameterInfo.INOUT) {
              ElementSymbol paramSymbol = clonedParam.getParameterSymbol();
              Reference ref = new Reference(paramSymbol);
              clonedParam.setExpression(ref);
              clonedParam.setIndex(paramIndex++);
              storedProcedureCommand.setParameter(clonedParam);
             
              String aliasName = paramSymbol.getShortName();
             
              if (metadataParameter.getParameterType()==ParameterInfo.INOUT) {
                  aliasName += "_IN"; //$NON-NLS-1$
              }
             
              SingleElementSymbol newSymbol = new AliasSymbol(aliasName, new ExpressionSymbol(paramSymbol.getShortName(), ref));
             
              select.addSymbol(newSymbol);
              accessPatternElementNames.add(queryName + ElementSymbol.SEPARATOR + aliasName);
          }
      }
     
      QueryResolver.resolveCommand(procQuery, metadata.getMetadata());
View Full Code Here

TOP

Related Classes of org.teiid.query.sql.lang.Select

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.