Class BaseForExecOps
java.lang.Object
se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOps
- All Implemented Interfaces:
StatsProvider,ExecutableOperator
- Direct Known Subclasses:
BinaryExecutableOpBase,NaryExecutableOpBase,NullaryExecutableOpBase,UnaryExecutableOpBase
Top-level base class for all implementations of
ExecutableOperator.
This base class handles the collection of exceptions that may occur during
the execution of the algorithm implemented by an executable operator, and
it stores the QueryPlanningInfo (if any).-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final booleanIftrue, then the subclasses are expected to collect exceptions (by callingrecordExceptionCaughtDuringExecution(Exception)); otherwise, they are expected to throw the exceptions immediately.protected final booleanIftrue, then the executable operator is permitted (and encouraged) to reduce duplicate solution mappings as part of its execution; otherwise, the operator must preserve duplicates.protected final QueryPlanningInfoMay benull. -
Constructor Summary
ConstructorsConstructorDescriptionBaseForExecOps(boolean mayReduce, boolean collectExceptions, QueryPlanningInfo qpInfo) -
Method Summary
Modifier and TypeMethodDescriptionReturns exceptions that were caught and collected during the execution of this operator (if any).Returns theQueryPlanningInfoobject that was populated for a physical plan whose root operator was the physical operator for which this executable operator was created.booleanIndicates whether this executable operator is permitted (and potentially encouraged) to reduce duplicate solution mappings as part of its execution.protected voidMethods 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.ExecutableOperator
getStatsMethods inherited from interface se.liu.ida.hefquin.base.utils.StatsProvider
resetStats
-
Field Details
-
qpInfo
May benull. -
collectExceptions
protected final boolean collectExceptionsIftrue, then the subclasses are expected to collect exceptions (by callingrecordExceptionCaughtDuringExecution(Exception)); otherwise, they are expected to throw the exceptions immediately. -
mayReduce
protected final boolean mayReduceIftrue, then the executable operator is permitted (and encouraged) to reduce duplicate solution mappings as part of its execution; otherwise, the operator must preserve duplicates.
-
-
Constructor Details
-
BaseForExecOps
- Parameters:
collectExceptions- - iftrue, then the subclasses are expected to collect exceptions (by callingrecordExceptionCaughtDuringExecution(Exception)); otherwise, they are expected to throw the exceptions immediatelyqpInfo- - may benull
-
-
Method Details
-
getQueryPlanningInfo
Description copied from interface:ExecutableOperatorReturns theQueryPlanningInfoobject that was populated for a physical plan whose root operator was the physical operator for which this executable operator was created.- Specified by:
getQueryPlanningInfoin interfaceExecutableOperator- Returns:
- the
QueryPlanningInfoobject ornull.
-
getExceptionsCaughtDuringExecution
Description copied from interface:ExecutableOperatorReturns exceptions that were caught and collected during the execution of this operator (if any). If no exceptions were caught (which should be the normal case), then this function returns an empty list.- Specified by:
getExceptionsCaughtDuringExecutionin interfaceExecutableOperator
-
mayReduce
public boolean mayReduce()Description copied from interface:ExecutableOperatorIndicates whether this executable operator is permitted (and potentially encouraged) to reduce duplicate solution mappings as part of its execution.If this method returns
true, the operator may remove duplicate solution mappings if it has the capability to do so. If it returnsfalse, the operator must preserve duplicates, even if it would otherwise be able to eliminate them.- Specified by:
mayReducein interfaceExecutableOperator- Returns:
trueif the operator may reduce duplicates;falseotherwise.
-
recordExceptionCaughtDuringExecution
-