Class PhysicalOpHashJoin
java.lang.Object
se.liu.ida.hefquin.engine.queryplan.physical.impl.BaseForPhysicalOpBinaryJoin
se.liu.ida.hefquin.engine.queryplan.physical.impl.PhysicalOpHashJoin
- All Implemented Interfaces:
QueryPlanOperator,BinaryPhysicalOp,BinaryPhysicalOpForLogicalOp,PhysicalOperator,PhysicalOperatorForLogicalOperator
A physical operator that implements the hash join algorithm to perform an
inner join of two sequences of input solution mappings (produced by the two
sub-plans under this operator). The hash join algorithm builds a hash table
with the solution mappings of the first input sequence (using the values
that they have for the join variables to decide where to place them in the
hash table) and, thereafter, probes the hash table to find join partners for
each of the solution mappings of the second input sequence.
The actual algorithm of this operator is implemented in the
ExecOpHashJoin class.-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateExecOp(boolean collectExceptions, QueryPlanningInfo qpInfo, ExpectedVariables... inputVars) Creates and returns the executable operator to be used for this physical operator.booleanstatic PhysicalOpFactorystatic PhysicalOpHashJoininthashCode()toString()voidvisit(PhysicalPlanVisitor visitor) Methods inherited from class se.liu.ida.hefquin.engine.queryplan.physical.impl.BaseForPhysicalOpBinaryJoin
getLogicalOperatorMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface se.liu.ida.hefquin.engine.queryplan.physical.PhysicalOperatorForLogicalOperator
getExpectedVariables
-
Field Details
-
factory
-
-
Constructor Details
-
PhysicalOpHashJoin
protected PhysicalOpHashJoin()
-
-
Method Details
-
getFactory
-
createExecOp
public BinaryExecutableOp createExecOp(boolean collectExceptions, QueryPlanningInfo qpInfo, ExpectedVariables... inputVars) Description copied from interface:PhysicalOperatorCreates and returns the executable operator to be used for this physical operator. The implementation of this method has to create a newExecutableOperatorobject each time it is called. The givenQueryPlanningInfoobject is passed to the created executable operator (to be available via theExecutableOperator.getQueryPlanningInfo()method) and should be taken from the physical plan whose root operator is this physical operator. The given collectExceptions flag is passed to the executable operator and determines whether that operator collects its exceptions (seeExecutableOperator.getExceptionsCaughtDuringExecution()) or throws them immediately. The number ofExpectedVariablesobjects passed as arguments to this method must be in line with the degree of this operator (e.g., for a unary operator, exactly one such object must be passed). -
visit
-
equals
-
hashCode
-
toString
-
getInstance
-