Class AppendableTableRow

java.lang.Object
com.illumon.iris.db.tables.appendable.AppendableTableRow
All Implemented Interfaces:
Row

public class AppendableTableRow
extends Object
implements Row
Row implementation for use by table writers that write via appendable tables. Does not support buffering more than a single outstanding row, since the appendable columns themselves tend to handle block-oriented writing internally. Requires external synchronization for correct concurrent use.
  • Constructor Details

  • Method Details

    • getSetter

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

      public Row.Flags getFlags()
    • setFlags

      public void setFlags​(@NotNull Row.Flags flags)
      Specified by:
      setFlags in interface Row
    • 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
    • size

      public long size()

      Unsupported.

      Row.size() is somewhat ambiguously specified in the interface and its implementations. Some implementations keep track of all rows written. Others keep track of number of rows buffered.

      It seems safer to simply not allow the question to be asked, as this implementation is only intended to hold a row's data while it's still being assembled.

      Specified by:
      size in interface Row
      Returns:
      n/a
      Throws:
      UnsupportedOperationException - In all cases, as this method is unsupported