Add read APIs for `BOOLEAN` and `TIMESTAMP`
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
hey @Jackie-Jiang is someone working on this issue? I could pick this if no one is on it
@ddcprg Thanks for volunteering, assigned to you
@ddcprg are you still looking into this ? It looks like an interesting issue to tackle for a beginner. I'm willing to help out if needed ?
@jonasgeiregat I was close to complete this but never did. Unfortunately, I've been away from this project for a while now, hope I can start contributing again in the future. I'm happy if @Jackie-Jiang assigns this to you
@ddcprg if you were close it would be interesting to look into your approach.