Interface BuiltInMetadata.Size

All Superinterfaces:
Metadata
Enclosing class:
BuiltInMetadata

public static interface BuiltInMetadata.Size extends Metadata
Metadata about the size of rows and columns.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static interface 
    Handler API.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    List<@Nullable Double>
    Determines the average size (in bytes) of a value of a column in this relational expression.
    @Nullable Double
    Determines the average size (in bytes) of a row from this relational expression.

    Methods inherited from interface org.apache.calcite.rel.metadata.Metadata

    rel
  • Field Details

  • Method Details

    • averageRowSize

      @Nullable Double averageRowSize()
      Determines the average size (in bytes) of a row from this relational expression.
      Returns:
      average size of a row, in bytes, or null if not known
    • averageColumnSizes

      List<@Nullable Double> averageColumnSizes()
      Determines the average size (in bytes) of a value of a column in this relational expression.

      Null values are included (presumably they occupy close to 0 bytes).

      It is left to the caller to decide whether the size is the compressed size, the uncompressed size, or memory allocation when the value is wrapped in an object in the Java heap. The uncompressed size is probably a good compromise.

      Returns:
      an immutable list containing, for each column, the average size of a column value, in bytes. Each value or the entire list may be null if the metadata is not available