Hi Prajwal,

Thank you for your outstanding work in driving this forward. I fully agree
with the conclusions reached in our recent discussions. I just have two
minor suggestions to add:

For the 64-bit function family, I suggest using the 'rb64_' prefix (e.g.,
rb64_build_agg). This aligns well with PostgreSQL’s naming conventions.
Looking ahead, we could adopt a consistent style for type handling as
well—for instance, using BITMAP to refer to the 32-bit type and BITMAP64
for the 64-bit encoded type.

Additionally, for the functions introduced in Phase 1, it would be
beneficial to include scalar versions of rb_and and rb_or.

Best regards,
Yang

Prajwal Banakar <[email protected]> 于2026年3月1日周日 14:20写道:

> Hi everyone,
>
> I would like to start a discussion on the proposal for Native Bitmap
> Integration & Stateless Pushdown Aggregation.
>
> This proposal enables end-to-end native support for the BITMAP type in
> Fluss and integrates it with the existing aggregation merge engine to
> support server-side bitmap union pushdown. The goal is to reduce network
> transfer and offload DISTINCT-style aggregation from Flink to the
> TabletServer.
>
> Key highlights of the proposal include:
>
> - Type System: Promoting BITMAP to a first-class logical type.
> - UDF Suite: Introducing BITMAP_BUILD, BITMAP_OR_AGG, and
> BITMAP_CARDINALITY (aligned with FLIP-556 and StarRocks semantics).
> - Optimizer: Planner-based pushdown via applyAggregates in the Flink
> connector.
> - Safety: No changes to LogRecordBatch or WAL, making this strictly
> additive and migration-free.
>
> You can find the full proposal document here:
>
> https://docs.google.com/document/d/1sDhfkmo-w-UTvo2n3rsY1lytSSryswfkI83cSdka8s0/edit?usp=sharing
>
> I would appreciate feedback on the public interfaces, pushdown constraints,
> and overall scope.
>
> Best regards,
> Prajwal Banakar
>

Reply via email to