public static Slice padSpaces(Slice slice, int length) { int textLength = countCodePoints(slice); // if our string is bigger than requested then truncate if (textLength > length) { throw new IllegalArgumentException("pad length is smaller than slice length"); } // if our target length is the same as our string then return our string if (textLength == length) { return slice; } // preallocate the result int bufferSize = slice.length() + length - textLength; Slice buffer = Slices.allocate(bufferSize); // fill in the existing string buffer.setBytes(0, slice); // fill padding spaces for (int i = slice.length(); i < bufferSize; ++i) { buffer.setByte(i, ' '); } return buffer; }
@Override public void writeByte(int value) { ensureWritableBytes(SIZE_OF_BYTE); slice.setByte(bufferPosition, value); bufferPosition += SIZE_OF_BYTE; }
@Override public void writeByte(int value) { ensureWritableBytes(SIZE_OF_BYTE); slice.setByte(bufferPosition, value); bufferPosition += SIZE_OF_BYTE; }
@Override public void writeByte(int value) { ensureWritableBytes(SIZE_OF_BYTE); slice.setByte(bufferPosition, value); bufferPosition += SIZE_OF_BYTE; }
@Override public void writeByte(int value) { ensureWritableBytes(SIZE_OF_BYTE); slice.setByte(bufferPosition, value); bufferPosition += SIZE_OF_BYTE; }
@VisibleForTesting public static Slice maxStringTruncateToValidRange(Slice value, HiveWriterVersion version) { if (value == null) { return null; } if (version != ORIGINAL) { return value; } int index = findStringStatisticTruncationPositionForOriginalOrcWriter(value); if (index == value.length()) { return value; } // Append 0xFF so that it is larger than value Slice newValue = Slices.copyOf(value, 0, index + 1); newValue.setByte(index, 0xFF); return newValue; }
private void writeBoolean(int columnIndex, boolean value) { bufferSlice.setByte(getOffset(columnIndex), value ? (byte) 1 : (byte) 0); clearNull(columnIndex); }
@Setup public void setup() { Slice whitespace = createRandomUtf8Slice(ascii ? ASCII_WHITESPACE : ALL_WHITESPACE, length + 1); leftWhitespace = Slices.copyOf(whitespace); leftWhitespace.setByte(leftWhitespace.length() - 1, 'X'); rightWhitespace = Slices.copyOf(whitespace); rightWhitespace.setByte(0, 'X'); bothWhitespace = Slices.copyOf(whitespace); bothWhitespace.setByte(length / 2, 'X'); }
@Override public void writeByte(int value) { slice.setByte(size, value); size += SIZE_OF_BYTE; }
@Override public void writeByte(int value) { slice = Slices.ensureSize(slice, size + SIZE_OF_BYTE); slice.setByte(size, value); size += SIZE_OF_BYTE; }
@Override public void writeByte(int value) { ensureWritableBytes(SIZE_OF_BYTE); slice.setByte(bufferPosition, value); bufferPosition += SIZE_OF_BYTE; }
@Override public void writeByte(int value) { ensureWritableBytes(SIZE_OF_BYTE); slice.setByte(bufferPosition, value); bufferPosition += SIZE_OF_BYTE; }
@Override public void writeByte(int value) { ensureWritableBytes(SIZE_OF_BYTE); slice.setByte(bufferPosition, value); bufferPosition += SIZE_OF_BYTE; }
@Setup public void setup() { Slice whitespace = createRandomUtf8Slice(ascii ? ASCII_WHITESPACE : ALL_WHITESPACE, length + 1); leftWhitespace = Slices.copyOf(whitespace); leftWhitespace.setByte(leftWhitespace.length() - 1, 'X'); rightWhitespace = Slices.copyOf(whitespace); rightWhitespace.setByte(0, 'X'); bothWhitespace = Slices.copyOf(whitespace); bothWhitespace.setByte(length / 2, 'X'); }
public TestXxHash64() { buffer = Slices.allocate(101); long value = PRIME; for (int i = 0; i < buffer.length(); i++) { buffer.setByte(i, (byte) (value >> 24)); value *= value; } }
public TestXxHash64() { buffer = Slices.allocate(101); long value = PRIME; for (int i = 0; i < buffer.length(); i++) { buffer.setByte(i, (byte) (value >> 24)); value *= value; } }
@Setup public void setup() { Slice whitespace = createRandomUtf8Slice(ascii ? ASCII_WHITESPACE : ALL_WHITESPACE, length + 1); leftWhitespace = Slices.copyOf(whitespace); leftWhitespace.setByte(leftWhitespace.length() - 1, 'X'); rightWhitespace = Slices.copyOf(whitespace); rightWhitespace.setByte(0, 'X'); bothWhitespace = Slices.copyOf(whitespace); bothWhitespace.setByte(length / 2, 'X'); }
@Setup public void setup() { Slice whitespace = createRandomUtf8Slice(ascii ? ASCII_WHITESPACE : ALL_WHITESPACE, length + 1); leftWhitespace = Slices.copyOf(whitespace); leftWhitespace.setByte(leftWhitespace.length() - 1, 'X'); rightWhitespace = Slices.copyOf(whitespace); rightWhitespace.setByte(0, 'X'); bothWhitespace = Slices.copyOf(whitespace); bothWhitespace.setByte(length / 2, 'X'); }