Class BinaryUtil

java.lang.Object
org.apache.iceberg.util.BinaryUtil

public class BinaryUtil extends Object
  • Method Details

    • truncateBinary

      public static ByteBuffer truncateBinary(ByteBuffer input, int length)
      Truncates the input byte buffer to the given length.

      We allow for a length of zero so that rows with empty string can be evaluated. Partition specs still cannot be created with a length of zero due to a constraint when parsing column truncation specs in org.apache.iceberg.MetricsModes.

      Parameters:
      input - The ByteBuffer to be truncated
      length - The non-negative length to truncate input to
    • truncateBinaryUnsafe

      public static ByteBuffer truncateBinaryUnsafe(ByteBuffer value, int width)
      Truncates the input byte buffer to the given length.

      Unlike truncateBinary(ByteBuffer, int), this skips copying the input data.

      Parameters:
      value - The ByteBuffer to be truncated
      width - The non-negative length to truncate input to
    • truncateBinaryMin

      public static Literal<ByteBuffer> truncateBinaryMin(Literal<ByteBuffer> input, int length)
      Returns a byte buffer whose length is lesser than or equal to truncateLength and is lower than the given input
    • truncateBinaryMax

      public static Literal<ByteBuffer> truncateBinaryMax(Literal<ByteBuffer> input, int length)
      Returns a byte buffer whose length is lesser than or equal to truncateLength and is greater than the given input