You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Rong Rong (Jira)" <ji...@apache.org> on 2023/07/10 17:03:00 UTC

[jira] [Updated] (CALCITE-5833) Support literal parsing for AggregateCall

     [ https://issues.apache.org/jira/browse/CALCITE-5833?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rong Rong updated CALCITE-5833:
-------------------------------
    Summary: Support literal parsing for AggregateCall   (was: Support `getOperandLiteralValue` in `Aggregate.AggCallBinding`)

> Support literal parsing for AggregateCall 
> ------------------------------------------
>
>                 Key: CALCITE-5833
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5833
>             Project: Calcite
>          Issue Type: New Feature
>            Reporter: Rong Rong
>            Priority: Major
>
> I wasn't sure if this is the right way to support the feature please share your feedback:
> h2. goal
> to support configuring aggregate function based on literal input fields, such as
> {code:sql}
> SELECT 
>     histogram(valCol1, 16), -- 16 bit precision of the final results
>     histogram(valCol2, 8)   -- 8 bit precision of the final results
> FROM tbl
> {code}
> h2. approach
> I was trying to register a ReturnType inference by opBinding the 2nd literal argument and create an explicit type based on the literal value. but it tells me {{AggCallBinding}} doesn't implement {{getOpreandLiteralValue}} method, should I
> - add support for this method in aggregate call binding? it doesn't seems easy consider there's no RexNode storage in this call binding
> - change the {{AggregateCall#create}} method to infer the return type so that we dont need to change the {{AggCallBinding}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)