Record Class ColumnMetaData

java.lang.Object
java.lang.Record
dev.hardwood.metadata.ColumnMetaData
Record Components:
type - physical (storage) type of the column
encodings - list of encodings used in this column chunk (including dictionary encoding if present)
pathInSchema - path from the root schema to this column
codec - compression codec used for pages in this column chunk
numValues - total number of values (including nulls) in this column chunk
totalUncompressedSize - total uncompressed byte size of all pages in this column chunk
totalCompressedSize - total compressed byte size of all pages in this column chunk (as stored on disk)
keyValueMetadata - application-defined key-value metadata for this column, or an empty map if absent
dataPageOffset - byte offset in the file where the first data page begins
dictionaryPageOffset - byte offset in the file where the dictionary page begins, or null if there is no dictionary page
statistics - column chunk statistics (min/max values, null count, distinct count), or null if absent

public record ColumnMetaData(PhysicalType type, List<Encoding> encodings, FieldPath pathInSchema, CompressionCodec codec, long numValues, long totalUncompressedSize, long totalCompressedSize, Map<String,String> keyValueMetadata, long dataPageOffset, Long dictionaryPageOffset, Statistics statistics) extends Record
Metadata for a column chunk.
See Also:
  • Constructor Details

    • ColumnMetaData

      public ColumnMetaData(PhysicalType type, List<Encoding> encodings, FieldPath pathInSchema, CompressionCodec codec, long numValues, long totalUncompressedSize, long totalCompressedSize, Map<String,String> keyValueMetadata, long dataPageOffset, Long dictionaryPageOffset, Statistics statistics)
      Creates an instance of a ColumnMetaData record class.
      Parameters:
      type - the value for the type record component
      encodings - the value for the encodings record component
      pathInSchema - the value for the pathInSchema record component
      codec - the value for the codec record component
      numValues - the value for the numValues record component
      totalUncompressedSize - the value for the totalUncompressedSize record component
      totalCompressedSize - the value for the totalCompressedSize record component
      keyValueMetadata - the value for the keyValueMetadata record component
      dataPageOffset - the value for the dataPageOffset record component
      dictionaryPageOffset - the value for the dictionaryPageOffset record component
      statistics - the value for the statistics record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • type

      public PhysicalType type()
      Returns the value of the type record component.
      Returns:
      the value of the type record component
    • encodings

      public List<Encoding> encodings()
      Returns the value of the encodings record component.
      Returns:
      the value of the encodings record component
    • pathInSchema

      public FieldPath pathInSchema()
      Returns the value of the pathInSchema record component.
      Returns:
      the value of the pathInSchema record component
    • codec

      public CompressionCodec codec()
      Returns the value of the codec record component.
      Returns:
      the value of the codec record component
    • numValues

      public long numValues()
      Returns the value of the numValues record component.
      Returns:
      the value of the numValues record component
    • totalUncompressedSize

      public long totalUncompressedSize()
      Returns the value of the totalUncompressedSize record component.
      Returns:
      the value of the totalUncompressedSize record component
    • totalCompressedSize

      public long totalCompressedSize()
      Returns the value of the totalCompressedSize record component.
      Returns:
      the value of the totalCompressedSize record component
    • keyValueMetadata

      public Map<String,String> keyValueMetadata()
      Returns the value of the keyValueMetadata record component.
      Returns:
      the value of the keyValueMetadata record component
    • dataPageOffset

      public long dataPageOffset()
      Returns the value of the dataPageOffset record component.
      Returns:
      the value of the dataPageOffset record component
    • dictionaryPageOffset

      public Long dictionaryPageOffset()
      Returns the value of the dictionaryPageOffset record component.
      Returns:
      the value of the dictionaryPageOffset record component
    • statistics

      public Statistics statistics()
      Returns the value of the statistics record component.
      Returns:
      the value of the statistics record component