Class BaseForUnaryExecOpWithCollectedInput

All Implemented Interfaces:
StatsProvider, ExecutableOperator, UnaryExecutableOp
Direct Known Subclasses:
BaseForExecOpIndexNestedLoopsJoinWithRequestOps, BaseForExecOpIndexNestedLoopsJoinWithRequests, BaseForExecOpParallelBindJoin, ExecOpLookupJoinViaWrapperWithParamVars, ExecOpParallelMultiwayLeftJoin

public abstract class BaseForUnaryExecOpWithCollectedInput extends UnaryExecutableOpBase
Base class for all implementations of UnaryExecutableOp that work more effectively if at least a minimum number of input solution mappings are available to process. To this end, the functionality of this base class is to collect the input solution mappings until there are at least as many as specified by the minimumCollectionSize argument of the constructor and, then, pass the resulting batch of collected input solution mappings to the _processCollectedInput function implemented by the operator that is implemented as an extension of this base class. If further input solution mappings arrive after that, then these are collected again, and so on.

Notice that the specified minimumCollectionSize is only a lower bound; if multiple input solution mapping arrive at the same time, they are all added into the current collection, which may result in collections that contain (many) more than the minimum number of solution mappings.

Classes that extend this base class need to implement two functions: