Interface LogicalToPhysicalOpConverter

All Known Implementing Classes:
LogicalToPhysicalOpConverterImpl

public interface LogicalToPhysicalOpConverter
Implementations of this interface provide methods to convert logical operators into physical operators.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns a physical operator that implements the given logical operator under the assumption that this operator will be used in a plan in which the two subplans under this operator will produce solution mappings with the given variables, respectively.
    Returns a physical operator that implements the given logical operator under the assumption that this operator will be used in a plan in which the subplans under this operator will produce solution mappings with the given variables, respectively.
    Returns a physical operator that implements the given logical operator.
    Returns a physical operator that implements the given logical operator under the assumption that this operator will be used in a plan in which the subplan under this operator will produce solution mappings with the given variables.
    Returns all physical operators that implement the given logical operator under the assumption that this operator will be used in a plan in which the two subplans under this operator will produce solution mappings with the given variables, respectively.
    Returns all physical operators that implement the given logical operator under the assumption that this operator will be used in a plan in which the subplans under this operator will produce solution mappings with the given variables, respectively.
    Returns all physical operators that implement the given logical operator.
    Returns all physical operators that implement the given logical operator under the assumption that this operator will be used in a plan in which the subplan under this operator will produce solution mappings with the given variables.
  • Method Details

    • convert

      Returns a physical operator that implements the given logical operator. If this converter knows of multiple types of physical operators that may be used for the given logical operator, then the default type is used. If this converter does not know of any type of physical operator that may be used for the given logical operator, then an UnsupportedOperationException is thrown.
      Parameters:
      lop - - the logical operator to be converted
      Returns:
      a physical operator for the given logical operator
      Throws:
      NoSuchElementException - if this converter does not know of type of physical operator for the given input
    • getAllPossible

      Set<NullaryPhysicalOp> getAllPossible(NullaryLogicalOp lop)
      Returns all physical operators that implement the given logical operator.
      Parameters:
      lop - - the logical operator to be converted
      Returns:
      a set of all possible physical operators for the given logical operator; the set may be empty
    • convert

      Returns a physical operator that implements the given logical operator under the assumption that this operator will be used in a plan in which the subplan under this operator will produce solution mappings with the given variables.

      If this converter knows of multiple types of physical operators that may be applied in this case, then the default type is used. If this converter does not know of any type of physical operator that may be applied in this case, then an UnsupportedOperationException is thrown.

      Parameters:
      lop - - the logical operator to be converted
      inputVars - - the variables that can be expected to be bound in solution mappings that the physical operator will have to process
      Returns:
      a physical operator for the given logical operator
      Throws:
      NoSuchElementException - if this converter does not know of type of physical operator for the given input
    • getAllPossible

      Set<UnaryPhysicalOp> getAllPossible(UnaryLogicalOp lop, ExpectedVariables inputVars)
      Returns all physical operators that implement the given logical operator under the assumption that this operator will be used in a plan in which the subplan under this operator will produce solution mappings with the given variables.
      Parameters:
      lop - - the logical operator to be converted
      inputVars - - the variables that can be expected to be bound in solution mappings that the physical operator will have to process
      Returns:
      a set of all possible physical operators for the given logical operator; the set may be empty
    • convert

      BinaryPhysicalOp convert(BinaryLogicalOp lop, ExpectedVariables inputVars1, ExpectedVariables inputVars2)
      Returns a physical operator that implements the given logical operator under the assumption that this operator will be used in a plan in which the two subplans under this operator will produce solution mappings with the given variables, respectively.

      If this converter knows of multiple types of physical operators that may be applied in this case, then the default type is used. If this converter does not know of any type of physical operator that may be applied in this case, then an UnsupportedOperationException is thrown.

      Parameters:
      lop - - the logical operator to be converted
      inputVars1 - - the variables that can be expected to be bound in solution mappings that the physical operator will have to process as its left input
      inputVars2 - - the variables that can be expected to be bound in solution mappings that the physical operator will have to process as its right input
      Returns:
      a physical operator for the given logical operator
      Throws:
      NoSuchElementException - if this converter does not know of type of physical operator for the given input
    • getAllPossible

      Set<BinaryPhysicalOp> getAllPossible(BinaryLogicalOp lop, ExpectedVariables inputVars1, ExpectedVariables inputVars2)
      Returns all physical operators that implement the given logical operator under the assumption that this operator will be used in a plan in which the two subplans under this operator will produce solution mappings with the given variables, respectively.
      Parameters:
      lop - - the logical operator to be converted
      inputVars1 - - the variables that can be expected to be bound in solution mappings that the physical operator will have to process as its left input
      inputVars2 - - the variables that can be expected to be bound in solution mappings that the physical operator will have to process as its right input
      Returns:
      a set of all possible physical operators for the given logical operator; the set may be empty
    • convert

      NaryPhysicalOp convert(NaryLogicalOp lop, ExpectedVariables... inputVars)
      Returns a physical operator that implements the given logical operator under the assumption that this operator will be used in a plan in which the subplans under this operator will produce solution mappings with the given variables, respectively.

      If this converter knows of multiple types of physical operators that may be applied in this case, then the default type is used. If this converter does not know of any type of physical operator that may be applied in this case, then an UnsupportedOperationException is thrown.

      Parameters:
      lop - - the logical operator to be converted
      inputVars - - the variables that can be expected to be bound in solution mappings that the physical operator will have to process for each of its inputs
      Returns:
      a physical operator for the given logical operator
      Throws:
      NoSuchElementException - if this converter does not know of type of physical operator for the given case
    • getAllPossible

      Set<NaryPhysicalOp> getAllPossible(NaryLogicalOp lop, ExpectedVariables... inputVars)
      Returns all physical operators that implement the given logical operator under the assumption that this operator will be used in a plan in which the subplans under this operator will produce solution mappings with the given variables, respectively.
      Parameters:
      lop - - the logical operator to be converted
      inputVars - - the variables that can be expected to be bound in solution mappings that the physical operator will have to process for each of its inputs
      inputVars -
      Returns:
      a set of all possible physical operators for the given logical operator; the set may be empty