risingwave_common::util::value_encoding

Module column_aware_row_encoding

source
Expand description

Column-aware row encoding is an encoding format which converts row into a binary form that remains explanable after schema changes Current design of flag just contains 1 meaningful information: the 2 LSBs represents the size of offsets: u8/u16/u32 We have a Serializer and a Deserializer for each schema of Row, which can be reused until schema changes

Structsยง

  • Combined column-aware Serializer and Deserializer given the same column_ids and schema
  • Column-Aware Deserializer holds needed ColumnIds and their corresponding schema Should non-null default values be specified, a new field could be added to Deserializer
  • Flag ๐Ÿ”’
  • RowEncoding ๐Ÿ”’
    RowEncoding holds row-specific information for Column-Aware Encoding
  • Column-Aware Serializer holds schema related information, and shall be created again once the schema changes

Functionsยง