Exemplo n.º 1
0
  public VariableWidthBlockBuilder(VariableWidthType type, BlockBuilderStatus blockBuilderStatus) {
    super(type);

    this.blockBuilderStatus =
        Objects.requireNonNull(blockBuilderStatus, "blockBuilderStatus is null");
    this.sliceOutput =
        new DynamicSliceOutput((int) (blockBuilderStatus.getMaxBlockSizeInBytes() * 1.2));
  }
  private void entryAdded(int bytesWritten, boolean isNull) {
    if (valueIsNull.length <= positions) {
      growCapacity();
    }

    valueIsNull[positions] = isNull;
    offsets[positions + 1] = sliceOutput.size();

    positions++;

    blockBuilderStatus.addBytes(SIZE_OF_BYTE + SIZE_OF_INT + bytesWritten);
  }
Exemplo n.º 3
0
 @Override
 public boolean isFull() {
   return blockBuilderStatus.isFull();
 }
Exemplo n.º 4
0
 private void entryAdded(int bytesWritten) {
   blockBuilderStatus.addBytes(SIZE_OF_BYTE + bytesWritten);
   if (sliceOutput.size() >= blockBuilderStatus.getMaxBlockSizeInBytes()) {
     blockBuilderStatus.setFull();
   }
 }