com.metamatrix.query.processor.proc
Class LoopInstruction

java.lang.Object
  extended by com.metamatrix.query.processor.program.ProgramInstruction
      extended by com.metamatrix.query.processor.proc.CommandInstruction
          extended by com.metamatrix.query.processor.proc.CreateCursorResultSetInstruction
              extended by com.metamatrix.query.processor.proc.LoopInstruction
All Implemented Interfaces:
Describable, RepeatedInstruction, java.lang.Cloneable

public class LoopInstruction
extends CreateCursorResultSetInstruction
implements RepeatedInstruction


Field Summary
 
Fields inherited from class com.metamatrix.query.processor.proc.CreateCursorResultSetInstruction
plan, rsName
 
Fields inherited from interface com.metamatrix.query.processor.Describable
PROP_BINDINGS, PROP_CHILDREN, PROP_CONDITIONS, PROP_CRITERIA, PROP_DATA_COL, PROP_DEFAULT, PROP_DEFAULT_PROGRAM, PROP_ELSE, PROP_ENCODING, PROP_EXECUTION_PLAN, PROP_EXPRESSION, PROP_FORMATTED, PROP_GROUP, PROP_GROUP_COLS, PROP_IN_MEMORY, PROP_INTO_GROUP, PROP_IS_STAGING, PROP_JOIN_CRITERIA, PROP_JOIN_STRATEGY, PROP_JOIN_TYPE, PROP_MESSAGE, PROP_MODEL_NAME, PROP_NAMESPACE, PROP_NAMESPACE_DECL, PROP_NODE_COST_ESTIMATES, PROP_NODE_STATS_LIST, PROP_NODE_STATS_PROPS, PROP_OPTIONAL, PROP_OUTPUT_COLS, PROP_PROGRAM, PROP_PROGRAMS, PROP_RECURSE_DIR, PROP_REMOVE_DUPS, PROP_RESULT_SET, PROP_ROW_LIMIT, PROP_ROW_OFFSET, PROP_SELECT_COLS, PROP_SORT_COLS, PROP_SQL, PROP_TAG, PROP_THEN, PROP_TYPE, PROP_VARIABLE
 
Constructor Summary
LoopInstruction(Program loopProgram, java.lang.String rsName, ProcessorPlan plan, java.util.Collection atomicCommandReferences)
           
 
Method Summary
 java.lang.Object clone()
          Returns a deep clone
 java.util.Collection getChildPlans()
          Finds all nested plans and returns them.
 java.util.Map getDescriptionProperties()
          Get a description as a set of properties of primitive types such as String, Integer, etc.
 Program getLoopProgram()
           
 Program getNestedProgram()
           
 void postInstruction(ProcedureEnvironment procEnv)
           
 void process(ProgramEnvironment env)
          If the result set named rsName does not exist yet in the ProcessorEnvironment, then this instruction will define that result set.
 boolean testCondition(ProcedureEnvironment procEnv)
           
 java.lang.String toString()
           
 
Methods inherited from class com.metamatrix.query.processor.proc.CreateCursorResultSetInstruction
getCommand
 
Methods inherited from class com.metamatrix.query.processor.proc.CommandInstruction
cloneReferences, getReferences, setReferences
 
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,
                       java.util.Collection atomicCommandReferences)
Method Detail

process

public void process(ProgramEnvironment env)
             throws MetaMatrixComponentException
Description copied from class: CreateCursorResultSetInstruction
If the result set named rsName does not exist yet in the ProcessorEnvironment, 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:
MetaMatrixComponentException

getLoopProgram

public Program getLoopProgram()

clone

public java.lang.Object 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 java.util.Map getDescriptionProperties()
Description copied from interface: Describable
Get a description as a set of properties of primitive types such as String, Integer, etc.

Specified by:
getDescriptionProperties in interface Describable
Overrides:
getDescriptionProperties in class CreateCursorResultSetInstruction
Returns:
Map of properties

getChildPlans

public java.util.Collection getChildPlans()
Description copied from class: ProgramInstruction
Finds all nested plans and returns them.

Overrides:
getChildPlans in class CreateCursorResultSetInstruction
Returns:
List of ProcessorPlan
Since:
4.2
See Also:
ProgramInstruction.getChildPlans()

testCondition

public boolean testCondition(ProcedureEnvironment procEnv)
                      throws MetaMatrixComponentException,
                             MetaMatrixProcessingException
Specified by:
testCondition in interface RepeatedInstruction
Throws:
MetaMatrixComponentException
MetaMatrixProcessingException
See Also:
RepeatedInstruction.testCondition(com.metamatrix.query.processor.proc.ProcedureEnvironment)

getNestedProgram

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

postInstruction

public void postInstruction(ProcedureEnvironment procEnv)
                     throws MetaMatrixComponentException
Specified by:
postInstruction in interface RepeatedInstruction
Throws:
MetaMatrixComponentException
See Also:
RepeatedInstruction.postInstruction(com.metamatrix.query.processor.proc.ProcedureEnvironment)


Copyright © 2009. All Rights Reserved.