Skip to content

Commit 248164b

Browse files
committed
GH-774: Consoliate BitVectorHelper.getValidityBufferSize and BaseValueVector.getValidityBufferSizeFromCount
1 parent 17f85a1 commit 248164b

22 files changed

+50
-35
lines changed

vector/src/main/java/org/apache/arrow/vector/BaseFixedWidthVector.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.apache.arrow.vector;
1818

1919
import static org.apache.arrow.memory.util.LargeMemoryUtil.capAtMaxInt;
20+
import static org.apache.arrow.vector.BitVectorHelper.getValidityBufferSizeFromCount;
2021

2122
import java.nio.ByteBuffer;
2223
import java.util.ArrayList;

vector/src/main/java/org/apache/arrow/vector/BaseLargeVariableWidthVector.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.apache.arrow.vector;
1818

1919
import static org.apache.arrow.memory.util.LargeMemoryUtil.capAtMaxInt;
20+
import static org.apache.arrow.vector.BitVectorHelper.getValidityBufferSizeFromCount;
2021

2122
import java.nio.ByteBuffer;
2223
import java.util.ArrayList;

vector/src/main/java/org/apache/arrow/vector/BaseValueVector.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,6 @@ protected ArrowBuf releaseBuffer(ArrowBuf buffer) {
110110
return buffer;
111111
}
112112

113-
/* number of bytes for the validity buffer for the given valueCount */
114-
protected static int getValidityBufferSizeFromCount(final int valueCount) {
115-
return DataSizeRoundingUtil.divideBy8Ceil(valueCount);
116-
}
117-
118113
/* round up bytes for the validity buffer for the given valueCount */
119114
private static long roundUp8ForValidityBuffer(long valueCount) {
120115
return ((valueCount + 63) >> 6) << 3;

vector/src/main/java/org/apache/arrow/vector/BaseVariableWidthVector.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.apache.arrow.vector;
1818

1919
import static org.apache.arrow.memory.util.LargeMemoryUtil.capAtMaxInt;
20+
import static org.apache.arrow.vector.BitVectorHelper.getValidityBufferSizeFromCount;
2021

2122
import java.nio.ByteBuffer;
2223
import java.util.ArrayList;

vector/src/main/java/org/apache/arrow/vector/BaseVariableWidthViewVector.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.apache.arrow.vector;
1818

1919
import static org.apache.arrow.memory.util.LargeMemoryUtil.capAtMaxInt;
20+
import static org.apache.arrow.vector.BitVectorHelper.getValidityBufferSizeFromCount;
2021
import static org.apache.arrow.vector.util.DataSizeRoundingUtil.roundUpToMultipleOf16;
2122

2223
import java.nio.ByteBuffer;

vector/src/main/java/org/apache/arrow/vector/BitVector.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.apache.arrow.vector;
1818

1919
import static org.apache.arrow.memory.util.LargeMemoryUtil.capAtMaxInt;
20+
import static org.apache.arrow.vector.BitVectorHelper.getValidityBufferSizeFromCount;
2021
import static org.apache.arrow.vector.NullCheckingForGet.NULL_CHECKING_ENABLED;
2122

2223
import org.apache.arrow.memory.ArrowBuf;

vector/src/main/java/org/apache/arrow/vector/BitVectorHelper.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -135,11 +135,11 @@ public static void setValidityBit(ArrowBuf validityBuffer, int index, int value)
135135
public static ArrowBuf setValidityBit(
136136
ArrowBuf validityBuffer, BufferAllocator allocator, int valueCount, int index, int value) {
137137
if (validityBuffer == null) {
138-
validityBuffer = allocator.buffer(getValidityBufferSize(valueCount));
138+
validityBuffer = allocator.buffer(getValidityBufferSizeFromCount(valueCount));
139139
}
140140
setValidityBit(validityBuffer, index, value);
141141
if (index == (valueCount - 1)) {
142-
validityBuffer.writerIndex(getValidityBufferSize(valueCount));
142+
validityBuffer.writerIndex(getValidityBufferSizeFromCount(valueCount));
143143
}
144144

145145
return validityBuffer;
@@ -165,7 +165,7 @@ public static int get(final ArrowBuf buffer, int index) {
165165
* @param valueCount number of elements in the vector
166166
* @return buffer size
167167
*/
168-
public static int getValidityBufferSize(int valueCount) {
168+
public static int getValidityBufferSizeFromCount(int valueCount) {
169169
return DataSizeRoundingUtil.divideBy8Ceil(valueCount);
170170
}
171171

@@ -182,7 +182,7 @@ public static int getNullCount(final ArrowBuf validityBuffer, final int valueCou
182182
return 0;
183183
}
184184
int count = 0;
185-
final int sizeInBytes = getValidityBufferSize(valueCount);
185+
final int sizeInBytes = getValidityBufferSizeFromCount(valueCount);
186186
// If value count is not a multiple of 8, then calculate number of used bits in the last byte
187187
final int remainder = valueCount % 8;
188188
final int fullBytesCount = remainder == 0 ? sizeInBytes : sizeInBytes - 1;
@@ -233,7 +233,7 @@ public static boolean checkAllBitsEqualTo(
233233
if (valueCount == 0) {
234234
return true;
235235
}
236-
final int sizeInBytes = getValidityBufferSize(valueCount);
236+
final int sizeInBytes = getValidityBufferSizeFromCount(valueCount);
237237

238238
// boundary check
239239
validityBuffer.checkBytes(0, sizeInBytes);
@@ -325,7 +325,7 @@ public static ArrowBuf loadValidityBuffer(
325325
sourceValidityBuffer == null || sourceValidityBuffer.capacity() == 0;
326326
if (isValidityBufferNull
327327
&& (fieldNode.getNullCount() == 0 || fieldNode.getNullCount() == valueCount)) {
328-
newBuffer = allocator.buffer(getValidityBufferSize(valueCount));
328+
newBuffer = allocator.buffer(getValidityBufferSizeFromCount(valueCount));
329329
newBuffer.setZero(0, newBuffer.capacity());
330330
if (fieldNode.getNullCount() != 0) {
331331
/* all NULLs */

vector/src/main/java/org/apache/arrow/vector/complex/FixedSizeListVector.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import static org.apache.arrow.memory.util.LargeMemoryUtil.capAtMaxInt;
2121
import static org.apache.arrow.memory.util.LargeMemoryUtil.checkedCastToInt;
2222
import static org.apache.arrow.util.Preconditions.checkArgument;
23+
import static org.apache.arrow.vector.BitVectorHelper.getValidityBufferSizeFromCount;
2324
import static org.apache.arrow.vector.complex.BaseRepeatedValueVector.DATA_VECTOR_NAME;
2425

2526
import java.util.ArrayList;

vector/src/main/java/org/apache/arrow/vector/complex/LargeListVector.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import static org.apache.arrow.memory.util.LargeMemoryUtil.capAtMaxInt;
2121
import static org.apache.arrow.memory.util.LargeMemoryUtil.checkedCastToInt;
2222
import static org.apache.arrow.util.Preconditions.checkArgument;
23+
import static org.apache.arrow.vector.BitVectorHelper.getValidityBufferSizeFromCount;
2324

2425
import java.util.ArrayList;
2526
import java.util.Arrays;

vector/src/main/java/org/apache/arrow/vector/complex/LargeListViewVector.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import static org.apache.arrow.memory.util.LargeMemoryUtil.capAtMaxInt;
2121
import static org.apache.arrow.memory.util.LargeMemoryUtil.checkedCastToInt;
2222
import static org.apache.arrow.util.Preconditions.checkArgument;
23+
import static org.apache.arrow.vector.BitVectorHelper.getValidityBufferSizeFromCount;
2324

2425
import java.util.ArrayList;
2526
import java.util.Arrays;

0 commit comments

Comments
 (0)