apache/pinot

Add read APIs for `BOOLEAN` and `TIMESTAMP`

Open

#9,418 opened on Sep 16, 2022

View on GitHub
 (5 comments) (0 reactions) (2 assignees)Java (1,234 forks)batch import
enhancementhelp wanted

Repository metrics

Stars
 (4,937 stars)
PR merge metrics
 (Avg merge 6d 7h) (186 merged PRs in 30d)

Description

Currently BOOLEAN is supported using the INT data type, and TIMESTAMP is supported using the LONG data type. Even though the storage format are the same, the behavior should be different. E.g. reading BOOLEAN as STRING should give "true" or "false" instead of 1 or 0; reading DOUBLE as BOOLEAN should give doubleVal != 0 instead of (int) doubleVal. In order to achieve the expected behavior, we need to add read APIs for these 2 data types. It should be similar to how the BIG_DECIMAL is handled (storage format is BYTES). We want to add type support in:

  • Dictionary
  • ForwardIndexReader
  • BlockValSet
  • TransformFunction

Contributor guide