public abstract class ProgramInstruction extends Object implements Cloneable
Abstract superclass of all program instructions.
All processor instructions need to be cloneable, but it most cases the default Object.clone operation will suffice, since in most cases the processing instructions will be stateless, or the state will be immutable. The exception to this are instructions that have sub programs in them - those sub programs need to be cloned.
Constructor and Description |
---|
ProgramInstruction() |
Modifier and Type | Method and Description |
---|---|
ProgramInstruction |
clone()
Override Object.clone() to make the method public.
|
abstract PlanNode |
getDescriptionProperties() |
abstract void |
process(ProcedurePlan env)
Allow this instruction to do whatever processing it needs, and to
in turn manipulate the running program.
|
Boolean |
requiresTransaction(boolean transactionalReads) |
public abstract void process(ProcedurePlan env) throws TeiidComponentException, TeiidProcessingException, TeiidSQLException
increment
the program counter of the current program, but specialized
instructions may add sub programs to the stack or not increment the counter (so that they are executed again.)public ProgramInstruction clone()
public abstract PlanNode getDescriptionProperties()
public Boolean requiresTransaction(boolean transactionalReads)
Copyright © 2019. All rights reserved.