Class BinaryRowV2

java.lang.Object
com.illumon.iris.binarystore.BinaryRowV2
All Implemented Interfaces:
Row

public class BinaryRowV2 extends Object implements Row
This class implements row writing for the V2 binary log format.
  • Field Details

  • Constructor Details

  • Method Details

    • getSetter

      public RowSetter getSetter(String name)
      Description copied from interface: Row
      Gets a setter for a column.
      Specified by:
      getSetter in interface Row
      Parameters:
      name - column name
      Returns:
      setter for the column.
    • populateBuffer

      public ByteBuffer populateBuffer() throws IOException
      Populate the internal data buffer with column values. This assumes that all appropriate row setters have been called.
      Returns:
      the data buffer just populated
      Throws:
      IOException
    • writeRow

      public void writeRow() throws IOException
      Description copied from interface: Row
      Writes out a new row (values set using setters).
      Specified by:
      writeRow in interface Row
      Throws:
      IOException - problem writing the row
    • writeRowFirstHalf

      public void writeRowFirstHalf() throws IOException
      Prepare our internal buffer to write, without doing the actual write yet. Separating writeRow in first half and second half is useful for client code that needs to execution the second half on a different thread.
      Throws:
      IOException - if an error occurred during internal buffer setup.
    • writeRowSecondHalf

      public void writeRowSecondHalf() throws IOException
      Write a row to the underlying stream and reset the internal buffer. writeRowFirstHalf() must have been previously * called.
      Throws:
      IOException - if an error occurred during internal buffer setup.
    • reset

      public void reset()
      Reset the internal buffer. Note that unless the buffer has been populated and written, the data is lost.
    • setFlags

      public void setFlags(Row.Flags flags)
      Specified by:
      setFlags in interface Row
    • setColumnPartitionValue

      public void setColumnPartitionValue(String columnPartitionValue)
      Description copied from interface: Row
      For rows that are to be used with file managers that allow dynamic column partition selection, set the column partition value.
      Specified by:
      setColumnPartitionValue in interface Row
      Parameters:
      columnPartitionValue - the column partition value
    • getColumnPartitionValue

      public String getColumnPartitionValue()
      Description copied from interface: Row
      For rows that are to be used with file managers that allow dynamic column partition selection, retrieve the column partition value.
      Specified by:
      getColumnPartitionValue in interface Row
      Returns:
      the previously-set column partition value
    • getFlagSetter

      public BinaryRowV2.FlagSetter getFlagSetter()