this.recordBuildSideAccesssor, this.recordProbeSideAccesssor,
this.recordBuildSideComparator, this.recordProbeSideComparator, this.pactRecordComparator,
memSegments, ioManager);
join.open(buildInput, probeInput);
Record record;
final Record recordReuse = new Record();
while (join.nextRecord())
{
int numBuildValues = 0;
int key = 0;
HashBucketIterator<Record, Record> buildSide = join.getBuildSideIterator();
if ((record = buildSide.next(recordReuse)) != null) {
numBuildValues = 1;
key = record.getField(0, IntValue.class).getValue();
}
else {
fail("No build side values found for a probe key.");
}
while ((record = buildSide.next(recordReuse)) != null) {
numBuildValues++;
}
if (numBuildValues != 3) {
fail("Other than 3 build values!!!");
}
Record pr = join.getCurrentProbeRecord();
Assert.assertEquals("Probe-side key was different than build-side key.", key, pr.getField(0, IntValue.class).getValue());
Long contained = map.get(key);
if (contained == null) {
contained = new Long(numBuildValues);
}