[ 
https://issues.apache.org/jira/browse/CALCITE-5634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17841605#comment-17841605
 ] 

Claude Brisson commented on CALCITE-5634:
-----------------------------------------

True, but whatever its name, it won't either ensure the comparability of the 
types, neither invoke operand types coercion, whereas 
ComparableOperandTypeChecker will. We'd want both for those operators. Also, 
GREATEST and LEAST seem absent from RexImpTable, at least in 1.36. And since 
UDFs cannot be variadic, the workaround is not obvious to me.

> Enable GREATEST, LEAST functions in PostgreSQL library
> ------------------------------------------------------
>
>                 Key: CALCITE-5634
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5634
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.34.0
>            Reporter: Dmitry Sysolyatin
>            Assignee: Dmitry Sysolyatin
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> The LEAST and GREATEST functions have been implemented for BigQuery and 
> Oracle, but haven't been added for PostgreSQL. PostgreSQL supports LEAST, 
> GREATEST as well [1].
> Also PostgreSQL's LEAST, GREATEST functions behave differently with NULL 
> values than ORACLE or BigQuery.
> From PostgreSQL documentation [1]:
> ??The result will be NULL only if all the expressions evaluate to NULL.??
> From BigQuery documentation [2]:
> ??They return NULL if any of the input parameters is NULL.??
> [1] 
> [https://www.postgresql.org/docs/15/functions-conditional.html#FUNCTIONS-GREATEST-LEAST]
> [2] 
> [https://cloud.google.com/bigquery/docs/reference/standard-sql/mathematical_functions]



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

Reply via email to