Class ExecPlanTaskBase
java.lang.Object
se.liu.ida.hefquin.engine.queryplan.executable.impl.ExecPlanTaskBase
- All Implemented Interfaces:
Runnable,StatsProvider,ExecPlanTask
- Direct Known Subclasses:
PullBasedExecPlanTaskBase,PushBasedExecPlanTaskBase
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classprotected static enum -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Queue<IntermediateResultBlock>protected final ExecutionContextprotected final int -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedExecPlanTaskBase(ExecutionContext execCxt, int preferredMinimumBlockSize) -
Method Summary
Modifier and TypeMethodDescriptionReturns the exception that caused the execution of this task to fail (in caseExecPlanTask.hasFailed()istrue).protected abstract ExecutableOperatorgetStats()protected ExecPlanTaskBase.StatusbooleanReturns true if the execution of this task has failed with an exception.booleanReturns true if an intermediate result block is already be available to be requested viaExecPlanTask.getNextIntermediateResultBlock().booleanReturns true if the execution of this task has completed successfully, and returns false if either the execution is still running (in which caseExecPlanTask.isRunning()istrue) or the execution has been interrupted (in which caseExecPlanTask.isRunning()isfalse).booleanReturns true if the execution of this task is currently running; that is, the execution has started and has neither been interrupted nor completed.voidprotected voidsetCauseOfFailure(Exception cause) protected voidsetStatus(ExecPlanTaskBase.Status newStatus) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface se.liu.ida.hefquin.engine.queryplan.executable.impl.ExecPlanTask
getNextIntermediateResultBlock
-
Field Details
-
execCxt
-
preferredMinimumBlockSize
protected final int preferredMinimumBlockSize -
availableResultBlocks
-
-
Constructor Details
-
ExecPlanTaskBase
-
-
Method Details
-
getExecOp
-
getExceptionsCaughtDuringExecution
-
isRunning
public boolean isRunning()Description copied from interface:ExecPlanTaskReturns true if the execution of this task is currently running; that is, the execution has started and has neither been interrupted nor completed.- Specified by:
isRunningin interfaceExecPlanTask
-
isCompleted
public boolean isCompleted()Description copied from interface:ExecPlanTaskReturns true if the execution of this task has completed successfully, and returns false if either the execution is still running (in which caseExecPlanTask.isRunning()istrue) or the execution has been interrupted (in which caseExecPlanTask.isRunning()isfalse).- Specified by:
isCompletedin interfaceExecPlanTask
-
hasFailed
public boolean hasFailed()Description copied from interface:ExecPlanTaskReturns true if the execution of this task has failed with an exception. The exception that caused the failed can be obtained by callingExecPlanTask.getCauseOfFailure().- Specified by:
hasFailedin interfaceExecPlanTask
-
getCauseOfFailure
Description copied from interface:ExecPlanTaskReturns the exception that caused the execution of this task to fail (in caseExecPlanTask.hasFailed()istrue).- Specified by:
getCauseOfFailurein interfaceExecPlanTask
-
hasNextIntermediateResultBlockAvailable
public boolean hasNextIntermediateResultBlockAvailable()Description copied from interface:ExecPlanTaskReturns true if an intermediate result block is already be available to be requested viaExecPlanTask.getNextIntermediateResultBlock(). Hence, in this case, callingExecPlanTask.getNextIntermediateResultBlock()would not cause the calling thread to wait.- Specified by:
hasNextIntermediateResultBlockAvailablein interfaceExecPlanTask
-
getStats
- Specified by:
getStatsin interfaceExecPlanTask- Specified by:
getStatsin interfaceStatsProvider
-
resetStats
public void resetStats()- Specified by:
resetStatsin interfaceStatsProvider
-
getStatus
-
setStatus
-
setCauseOfFailure
-