You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Benchao Li (Jira)" <ji...@apache.org> on 2022/11/30 13:28:00 UTC
[jira] [Resolved] (CALCITE-5230) Return type of PERCENTILE_DISC should be the same as sort expression
[ https://issues.apache.org/jira/browse/CALCITE-5230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benchao Li resolved CALCITE-5230.
---------------------------------
Resolution: Fixed
Fixed via [https://github.com/apache/calcite/commit/9161a6f529775076eece3cb78bf4a898411e15ee]
[~itiels] Thanks for your contribution, and thanks [~julianhyde] for the review!
> Return type of PERCENTILE_DISC should be the same as sort expression
> --------------------------------------------------------------------
>
> Key: CALCITE-5230
> URL: https://issues.apache.org/jira/browse/CALCITE-5230
> Project: Calcite
> Issue Type: Bug
> Reporter: Itiel Sadeh
> Assignee: Itiel Sadeh
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.33.0
>
> Time Spent: 2h 20m
> Remaining Estimate: 0h
>
> 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)