apache / apache/pinot

Complete SQL array literal support for remaining logical types

Open
#19,338 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
2d 3h
Merged PRs (30d)
195

Description

Follow-up from the review of #19247.

Current gaps:

- `ArrayFunctions.arrayValueConstructor` returns the generic `Object[]` fallback for TIMESTAMP and UUID elements instead of preserving `Timestamp[]` and `UUID[]`.
- `LiteralContext` still rejects multi-value BOOLEAN, BIG_DECIMAL, and UUID values.

The implementation should define the correct literal/wire and internal/external representations without weakening mixed-version compatibility, then add focused serde, broker-only, single-stage, and multi-stage query coverage for each supported type.

Contributor guide

Open the contributing guide

Research direction

Start by tracing ArrayFunctions.arrayValueConstructor and LiteralContext, then inspect the existing SQL array literal and serialization tests for supported types. Verify the intended literal/wire and internal/external representations against mixed-version behavior. Add focused serde, broker-only, single-stage, and multi-stage query coverage for TIMESTAMP, UUID, BOOLEAN, and BIG_DECIMAL arrays, with all listed cases passing.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.