Skip to content

Support selective nullable columns #10652

@gortiz

Description

@gortiz

Pinot support for null support is configured at table level by setting tableIndexConfg.nullHandlingEnabled to true in TableConfig.

By setting this to true, all columns in the table are treated as nullable.
Given that nullable columns negatively impact in the heap and/or other optimizations, ideally, we should let users to individually decide the nullability of each column.

In order to do that, we have to:

  • Change NullValueIndexType.createDeserializer to actually read indexes like other indexes does.
  • Change places where tableIndexConfg.nullHandlingEnabled is read (directly or indirectly) in order to use getIndex(StandardIndexes.nullValueVector()).isEnabled(). This includes
    • SegmentColumnarIndexCreator
    • BaseDefaultColumnHandler.createDefaultValueColumnV1Indices

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions