org.teiid.query.processor.proc
Class LoopInstruction

java.lang.Object
  extended by org.teiid.query.processor.proc.ProgramInstruction
      extended by org.teiid.query.processor.proc.CreateCursorResultSetInstruction
          extended by org.teiid.query.processor.proc.LoopInstruction
All Implemented Interfaces:
java.lang.Cloneable, RepeatedInstruction

public class LoopInstruction
extends CreateCursorResultSetInstruction
implements RepeatedInstruction


Field Summary
 
Fields inherited from class org.teiid.query.processor.proc.CreateCursorResultSetInstruction
plan, RS_NAME, rsName
 
Constructor Summary
LoopInstruction(Program loopProgram, java.lang.String rsName, ProcessorPlan plan)
           
 
Method Summary
 LoopInstruction clone()
          Returns a deep clone
 PlanNode getDescriptionProperties()
           
 Program getNestedProgram()
           
 void postInstruction(ProcedurePlan procEnv)
           
 void process(ProcedurePlan procEnv)
          If the result set named rsName does not exist yet in the ProcedurePlan, then this instruction will define that result set.
 boolean testCondition(ProcedurePlan procEnv)
           
 java.lang.String toString()
           
 
Methods inherited from class org.teiid.query.processor.proc.CreateCursorResultSetInstruction
getCommand
 
Methods inherited from class org.teiid.query.processor.proc.ProgramInstruction
getChildPlans
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LoopInstruction

public LoopInstruction(Program loopProgram,
                       java.lang.String rsName,
                       ProcessorPlan plan)
Method Detail

process

public void process(ProcedurePlan procEnv)
             throws TeiidComponentException
Description copied from class: CreateCursorResultSetInstruction
If the result set named rsName does not exist yet in the ProcedurePlan, then this instruction will define that result set. It will then throw a BlockedException if this result set is selecting from other than temp groups (because those results will be delivered asynchronously). IF the result set named rsName does already exist, this instruction will just increment the program counter and do nothing else.

Overrides:
process in class CreateCursorResultSetInstruction
Throws:
TeiidComponentException

clone

public LoopInstruction clone()
Returns a deep clone

Overrides:
clone in class CreateCursorResultSetInstruction
Returns:
shallow clone

toString

public java.lang.String toString()
Overrides:
toString in class CreateCursorResultSetInstruction

getDescriptionProperties

public PlanNode getDescriptionProperties()
Overrides:
getDescriptionProperties in class CreateCursorResultSetInstruction

testCondition

public boolean testCondition(ProcedurePlan procEnv)
                      throws TeiidComponentException,
                             TeiidProcessingException
Specified by:
testCondition in interface RepeatedInstruction
Throws:
TeiidComponentException
TeiidProcessingException

getNestedProgram

public Program getNestedProgram()
Specified by:
getNestedProgram in interface RepeatedInstruction
See Also:
RepeatedInstruction.getNestedProgram()

postInstruction

public void postInstruction(ProcedurePlan procEnv)
                     throws TeiidComponentException
Specified by:
postInstruction in interface RepeatedInstruction
Throws:
TeiidComponentException


Copyright © 2010. All Rights Reserved.