Class PhysicalOpHashJoin1

java.lang.Object
se.liu.ida.hefquin.engine.queryplan.physical.impl.BaseForPhysicalOpBinaryJoin
se.liu.ida.hefquin.engine.queryplan.physical.impl.PhysicalOpHashJoin1
All Implemented Interfaces:
QueryPlanOperator, BinaryPhysicalOp, BinaryPhysicalOpForLogicalOp, PhysicalOperator, PhysicalOperatorForLogicalOperator

public class PhysicalOpHashJoin1 extends BaseForPhysicalOpBinaryJoin
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 ExecOpHashJoin1 class.

In addition to this class, we also have PhysicalOpHashJoin2 which does essentially the same thing but builds the has table over the second input. I contrast to this class, PhysicalOpHashJoin2 even supports outer-join semantics.