Class UuidType

All Implemented Interfaces:
FixedWidthType, Type

public class UuidType extends AbstractType implements FixedWidthType
UUIDs are encoded in big-endian representation (the bytes are stored in the same order as they appear when a UUID is printed in hexadecimal).
  • Field Details

    • UUID

      public static final UuidType UUID
  • Method Details

    • getFixedSize

      public int getFixedSize()
      Description copied from interface: FixedWidthType
      Gets the size of a value of this type in bytes. All values of a FixedWidthType are the same size.
      Specified by:
      getFixedSize in interface FixedWidthType
    • createBlockBuilder

      public BlockBuilder createBlockBuilder(BlockBuilderStatus blockBuilderStatus, int expectedEntries)
      Description copied from interface: Type
      Creates the preferred block builder for this type. This is the builder used to store values after an expression projection within the query.
      Specified by:
      createBlockBuilder in interface Type
    • createFixedSizeBlockBuilder

      public BlockBuilder createFixedSizeBlockBuilder(int positionCount)
      Description copied from interface: FixedWidthType
      Creates a block builder for this type sized to hold the specified number of positions.
      Specified by:
      createFixedSizeBlockBuilder in interface FixedWidthType
    • isComparable

      public boolean isComparable()
      Description copied from interface: Type
      True if the type supports equalTo and hash.
      Specified by:
      isComparable in interface Type
      Overrides:
      isComparable in class AbstractType
    • isOrderable

      public boolean isOrderable()
      Description copied from interface: Type
      True if the type supports compareTo.
      Specified by:
      isOrderable in interface Type
      Overrides:
      isOrderable in class AbstractType
    • getTypeOperatorDeclaration

      public TypeOperatorDeclaration getTypeOperatorDeclaration(TypeOperators typeOperators)
      Description copied from interface: Type
      Gets the declared type specific operators for this type.
      Specified by:
      getTypeOperatorDeclaration in interface Type
    • getObjectValue

      public Object getObjectValue(ConnectorSession session, Block block, int position)
      Description copied from interface: Type
      Gets an object representation of the type value in the block position. This is the value returned to the user via the REST endpoint and therefore must be JSON serializable.
      Specified by:
      getObjectValue in interface Type
    • appendTo

      public void appendTo(Block block, int position, BlockBuilder blockBuilder)
      Description copied from interface: Type
      Append the value at position in block to blockBuilder.
      Specified by:
      appendTo in interface Type
    • writeSlice

      public void writeSlice(BlockBuilder blockBuilder, io.airlift.slice.Slice value)
      Description copied from interface: Type
      Writes the Slice value into the BlockBuilder.
      Specified by:
      writeSlice in interface Type
      Overrides:
      writeSlice in class AbstractType
    • writeSlice

      public void writeSlice(BlockBuilder blockBuilder, io.airlift.slice.Slice value, int offset, int length)
      Description copied from interface: Type
      Writes the Slice value into the BlockBuilder.
      Specified by:
      writeSlice in interface Type
      Overrides:
      writeSlice in class AbstractType
    • getSlice

      public final io.airlift.slice.Slice getSlice(Block block, int position)
      Description copied from interface: Type
      Gets the value at the block position as a Slice.
      Specified by:
      getSlice in interface Type
      Overrides:
      getSlice in class AbstractType
    • getFlatFixedSize

      public int getFlatFixedSize()
      Description copied from interface: Type
      Returns the fixed size of this type when written to a flat buffer.
      Specified by:
      getFlatFixedSize in interface Type
    • javaUuidToTrinoUuid

      public static io.airlift.slice.Slice javaUuidToTrinoUuid(UUID uuid)
    • trinoUuidToJavaUuid

      public static UUID trinoUuidToJavaUuid(io.airlift.slice.Slice uuid)