Interface ColumnWriteStore

  • All Known Implementing Classes:
    ColumnWriteStoreV1, ColumnWriteStoreV2

    public interface ColumnWriteStore
    Container which can construct writers for multiple columns to be stored together.
    • Method Detail

      • getColumnWriter

        ColumnWriter getColumnWriter​(ColumnDescriptor path)
        Parameters:
        path - the column for which to create a writer
        Returns:
        the column writer for the given column
      • flush

        void flush()
        when we are done writing to flush to the underlying storage
      • endRecord

        void endRecord()
        called to notify of record boundaries
      • getAllocatedSize

        long getAllocatedSize()
        used for information
        Returns:
        approximate size used in memory
      • getBufferedSize

        long getBufferedSize()
        used to flush row groups to disk
        Returns:
        approximate size of the buffered encoded binary data
      • memUsageString

        String memUsageString()
        used for debugging purpose
        Returns:
        a formated string representing memory usage per column
      • close

        void close()
        Close the related output stream and release any resources
      • isColumnFlushNeeded

        default boolean isColumnFlushNeeded()
        Returns whether flushing the possibly cached values (or nulls) to the underlying column writers is necessary, because the pages might be closed after the next invocation of endRecord().
        Returns:
        true if all the values shall be written to the underlying column writers before calling endRecord()