/** * Creates a new partition, initially in memory, with one buffer for the build side. The partition is * initialized to expect record insertions for the build side. * * @param partitionNumber The number of the partition. * @param recursionLevel The recursion level - zero for partitions from the initial build, <i>n + 1</i> for * partitions that are created from spilled partition with recursion level <i>n</i>. * @param initialBuffer The initial buffer for this partition. */ HashPartition(TypeSerializer<BT> buildSideAccessors, TypeSerializer<PT> probeSideAccessors, int partitionNumber, int recursionLevel, MemorySegment initialBuffer, MemorySegmentSource memSource, int segmentSize) { super(0); this.buildSideSerializer = buildSideAccessors; this.probeSideSerializer = probeSideAccessors; this.partitionNumber = partitionNumber; this.recursionLevel = recursionLevel; this.memorySegmentSize = segmentSize; this.segmentSizeBits = MathUtils.log2strict(segmentSize); this.overflowSegments = new MemorySegment[2]; this.numOverflowSegments = 0; this.nextOverflowBucket = 0; this.buildSideWriteBuffer = new BuildSideBuffer(initialBuffer, memSource); }
/** * Creates a new partition, initially in memory, with one buffer for the build side. The partition is * initialized to expect record insertions for the build side. * * @param partitionNumber The number of the partition. * @param recursionLevel The recursion level - zero for partitions from the initial build, <i>n + 1</i> for * partitions that are created from spilled partition with recursion level <i>n</i>. * @param initialBuffer The initial buffer for this partition. */ HashPartition(TypeSerializer<BT> buildSideAccessors, TypeSerializer<PT> probeSideAccessors, int partitionNumber, int recursionLevel, MemorySegment initialBuffer, MemorySegmentSource memSource, int segmentSize) { super(0); this.buildSideSerializer = buildSideAccessors; this.probeSideSerializer = probeSideAccessors; this.partitionNumber = partitionNumber; this.recursionLevel = recursionLevel; this.memorySegmentSize = segmentSize; this.segmentSizeBits = MathUtils.log2strict(segmentSize); this.overflowSegments = new MemorySegment[2]; this.numOverflowSegments = 0; this.nextOverflowBucket = 0; this.buildSideWriteBuffer = new BuildSideBuffer(initialBuffer, memSource); }
/** * Creates a new partition, initially in memory, with one buffer for the build side. The partition is * initialized to expect record insertions for the build side. * * @param partitionNumber The number of the partition. * @param recursionLevel The recursion level - zero for partitions from the initial build, <i>n + 1</i> for * partitions that are created from spilled partition with recursion level <i>n</i>. * @param initialBuffer The initial buffer for this partition. */ HashPartition(TypeSerializer<BT> buildSideAccessors, TypeSerializer<PT> probeSideAccessors, int partitionNumber, int recursionLevel, MemorySegment initialBuffer, MemorySegmentSource memSource, int segmentSize) { super(0); this.buildSideSerializer = buildSideAccessors; this.probeSideSerializer = probeSideAccessors; this.partitionNumber = partitionNumber; this.recursionLevel = recursionLevel; this.memorySegmentSize = segmentSize; this.segmentSizeBits = MathUtils.log2strict(segmentSize); this.overflowSegments = new MemorySegment[2]; this.numOverflowSegments = 0; this.nextOverflowBucket = 0; this.buildSideWriteBuffer = new BuildSideBuffer(initialBuffer, memSource); }
/** * Creates a new partition, initially in memory, with one buffer for the build side. The partition is * initialized to expect record insertions for the build side. * * @param partitionNumber The number of the partition. * @param recursionLevel The recursion level - zero for partitions from the initial build, <i>n + 1</i> for * partitions that are created from spilled partition with recursion level <i>n</i>. * @param initialBuffer The initial buffer for this partition. */ HashPartition(TypeSerializer<BT> buildSideAccessors, TypeSerializer<PT> probeSideAccessors, int partitionNumber, int recursionLevel, MemorySegment initialBuffer, MemorySegmentSource memSource, int segmentSize) { super(0); this.buildSideSerializer = buildSideAccessors; this.probeSideSerializer = probeSideAccessors; this.partitionNumber = partitionNumber; this.recursionLevel = recursionLevel; this.memorySegmentSize = segmentSize; this.segmentSizeBits = MathUtils.log2strict(segmentSize); this.overflowSegments = new MemorySegment[2]; this.numOverflowSegments = 0; this.nextOverflowBucket = 0; this.buildSideWriteBuffer = new BuildSideBuffer(initialBuffer, memSource); }