Interface Store

All Superinterfaces:
GraphValue<PhysicalOperator>, HasAffinity, Iterable<PhysicalOperator>, PhysicalOperator
All Known Implementing Classes:
AbstractStore, MockStorePOP, Screen

public interface Store extends HasAffinity
An interface which supports storing a record stream. In contrast to the logical layer, in the physical/execution layers, a Store node is actually an outputting node (rather than a root node) that provides returns one or more records regarding the completion of the query.
  • Method Details

    • applyAssignments

      Inform the Store node about the actual decided DrillbitEndpoint assignments desired for storage purposes. This is a precursor to the execution planner running a set of getSpecificStore() method calls for full Store node materialization.
      Parameters:
      endpoints - The list of endpoints that this Store node are going to be executed on.
      Throws:
      PhysicalOperatorSetupException
    • getSpecificStore

      Store getSpecificStore(PhysicalOperator child, int minorFragmentId) throws PhysicalOperatorSetupException
      Provides full materialized Store operators for execution purposes.
      Parameters:
      child - The child operator that this operator will consume from.
      minorFragmentId - The particular minor fragment id associated with this particular fragment materialization.
      Returns:
      A materialized Store Operator.
      Throws:
      PhysicalOperatorSetupException
    • getMaxWidth

      int getMaxWidth()
      The maximum allowable width for the Store operation. In some cases, a store operation has a limited number of parallelizations that it can support. For example, a Screen return cannot be parallelized at all. In this case, a maxWidth value of 1 will be returned. In the case that there is no limit for parallelization, this method should return Integer.MAX_VALUE.
      Returns:
      The maximum allowable width for the Store operation.
    • getChild

      PhysicalOperator getChild()
      Get the child of this store operator as this will be needed for parallelization materialization purposes.
      Returns:
      The child of this store operator.