You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Itiel Sadeh (Jira)" <ji...@apache.org> on 2022/08/07 07:50:00 UTC

[jira] [Created] (CALCITE-5230) PERCENTILE_DISC return type derivation

Itiel Sadeh created CALCITE-5230:
------------------------------------

             Summary: PERCENTILE_DISC return type derivation
                 Key: CALCITE-5230
                 URL: https://issues.apache.org/jira/browse/CALCITE-5230
             Project: Calcite
          Issue Type: Bug
            Reporter: Itiel Sadeh


In the following expression:
{code:java}
PERCENTILE_DISC ( numeric_literal ) WITHIN GROUP ( ORDER BY order_by_expression) {code}
the return type of `PERCENTILE_DISC` aggregate function is hard-coded as `DOUBLE`, 
while in Postgresql and MSSQL it is determined by the `order_by_expression` type. 

Currently there is no way to derive the correct type of `PERCENTILE_DISC` function from the `order_by_expression` type, as this expression is not an argument for the `PERCENTILE_DISC` function. 

Calcite is creating the following tree from this expression:
{code:java}
SqlCall(operator: WITHING_GROUP, operands: [SqlCall( operator: PERCENTILE_DISC, operands: [numeric_literal], order_by_expression]){code}
for correct type derivation, the order_by_expression should be an operand of the PERCENTILE_DISC call



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