Package org.teiid.query.sql.lang

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


  }

  private String getRewritenProcedure(String userUpdateStr,
      QueryMetadataInterface metadata) throws TeiidComponentException,
      QueryMetadataException, TeiidProcessingException {
    ProcedureContainer userCommand = (ProcedureContainer)QueryParser.getQueryParser().parseCommand(userUpdateStr);
        QueryResolver.resolveCommand(userCommand, metadata);
        CreateUpdateProcedureCommand proc = (CreateUpdateProcedureCommand)QueryResolver.expandCommand(userCommand, metadata, null);
    QueryRewriter.rewrite(userCommand, metadata, null);
    Command result = QueryRewriter.rewrite(proc, metadata, null);
    return result.toString();
View Full Code Here


     * @see org.teiid.query.resolver.CommandResolver#resolveCommand(org.teiid.query.sql.lang.Command, org.teiid.query.metadata.TempMetadataAdapter, boolean)
     */
    public void resolveCommand(Command command, TempMetadataAdapter metadata, boolean resolveNullLiterals)
        throws QueryMetadataException, QueryResolverException, TeiidComponentException {
       
        ProcedureContainer procCommand = (ProcedureContainer)command;
       
        resolveGroup(metadata, procCommand);
       
        resolveProceduralCommand(procCommand, metadata);
       
View Full Code Here

        PlanNode sourceNode = NodeFactory.getNewNode(NodeConstants.Types.SOURCE);
        sourceNode.setProperty(NodeConstants.Info.ATOMIC_REQUEST, command);
        sourceNode.setProperty(NodeConstants.Info.VIRTUAL_COMMAND, command);
        boolean usingTriggerAction = false;
        if (command instanceof ProcedureContainer) {
          ProcedureContainer container = (ProcedureContainer)command;
          usingTriggerAction = addNestedProcedure(sourceNode, container, container.getGroup().getMetadataID());
        }
        GroupSymbol target = ((TargetedCommand)command).getGroup();
        sourceNode.addGroup(target);
      Object id = getTrackableGroup(target, metadata);
      if (id != null) {
View Full Code Here

  private void checkForUpdates(AtomicResultsMessage results, Command command,
      EventDistributor distributor, int commandIndex, long ts) {
    if (!RelationalNodeUtil.isUpdate(command) || !(command instanceof ProcedureContainer)) {
      return;
    }
    ProcedureContainer pc = (ProcedureContainer)aqr.getCommand();
    GroupSymbol gs = pc.getGroup();
    Integer zero = Integer.valueOf(0);
    if (results.getResults().length <= commandIndex || zero.equals(results.getResults()[commandIndex].get(0))) {
      return;
    }
    Object metadataId = gs.getMetadataID();
View Full Code Here

        for (Object id : pp.getAccessInfo().getObjectsAccessed()) {
          context.accessedPlanningObject(id);
        }
      }
          // propagate procedure parameters to the plan to allow runtime type checking
          ProcedureContainer container = (ProcedureContainer)cupc.getUserCommand();
          ProcedurePlan plan = (ProcedurePlan)result;
          if (container != null) {
            LinkedHashMap<ElementSymbol, Expression> params = container.getProcedureParameters();
            if (container instanceof StoredProcedure) {
              plan.setRequiresTransaction(container.getUpdateCount() > 0);
              StoredProcedure sp = (StoredProcedure)container;
              if (sp.returnParameters()) {
                List<ElementSymbol> outParams = new LinkedList<ElementSymbol>();
                for (SPParameter param : sp.getParameters()) {
              if (param.getParameterType() == SPParameter.RETURN_VALUE) {
View Full Code Here

      String userUpdateStr) throws QueryParserException,
      QueryResolverException, TeiidComponentException,
      QueryMetadataException {
    FakeMetadataFacade metadata = FakeMetadataFactory.exampleUpdateProc(FakeMetadataObject.Props.UPDATE_PROCEDURE, procedure);

        ProcedureContainer userCommand = (ProcedureContainer)QueryParser.getQueryParser().parseCommand(userUpdateStr);
        QueryResolver.resolveCommand(userCommand, metadata);
       
        return (CreateUpdateProcedureCommand)QueryResolver.expandCommand(userCommand, metadata, AnalysisRecord.createNonRecordingRecord());
  }
View Full Code Here

  private void validateProcedure(String userUpdateStr,
      QueryMetadataInterface metadata) throws QueryResolverException,
      QueryMetadataException, TeiidComponentException,
      QueryValidatorException {
    ProcedureContainer command = (ProcedureContainer)helpResolve(userUpdateStr, metadata);
   
    Command proc = QueryResolver.expandCommand(command, metadata, AnalysisRecord.createNonRecordingRecord());
   
    ValidatorReport report = Validator.validate(proc, metadata);
    if(report.hasItems()) {
View Full Code Here

  private CreateUpdateProcedureCommand resolveProcedure(String userUpdateStr,
      QueryMetadataInterface metadata) throws QueryParserException,
      QueryResolverException, TeiidComponentException,
      QueryMetadataException {
    ProcedureContainer userCommand = (ProcedureContainer)QueryParser.getQueryParser().parseCommand(userUpdateStr);
        QueryResolver.resolveCommand(userCommand, metadata);
        metadata = new TempMetadataAdapter(metadata, new TempMetadataStore(userCommand.getTemporaryMetadata()));
        return (CreateUpdateProcedureCommand)QueryResolver.expandCommand(userCommand, metadata, null);
  }
View Full Code Here

TOP

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

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.