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

Alessandro Solimando commented on CALCITE-5884:
-----------------------------------------------

[~mbudiu], I am a bit confused, the title states that the type inference is 
incorrect, but the ticket details cover a wrong result in presence of NULL 
value for one of the parameters, the two things don't seem to match, I'd rather 
say that the ticket is about "ARRAY_TO_STRING should not return NULL when the 
null_string parameter is null", am I missing something?

Another part of the discussion (more general than the current ticket) is how 
RexToLixTranslator and NullPolicy interact with ReturnType from functions, I'd 
like to hear more about that too, I don't have a clear picture either at the 
moment.

> Type Inference rule for ARRAY_TO_STRING is incorrect
> ----------------------------------------------------
>
>                 Key: CALCITE-5884
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5884
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.35.0
>            Reporter: Mihai Budiu
>            Priority: Trivial
>              Labels: pull-request-available
>
> This is the current definition of the function ARRAY_TO_STRING in 
> SqlLibraryOperators:
> {code:java}
>   /** The "ARRAY_TO_STRING(array, delimiter [, nullText ])" function. */
>   @LibraryOperator(libraries = {BIG_QUERY})
>   public static final SqlFunction ARRAY_TO_STRING =
>       SqlBasicFunction.create(SqlKind.ARRAY_TO_STRING,
>           ReturnTypes.VARCHAR_NULLABLE,
>           OperandTypes.STRING_ARRAY_CHARACTER_OPTIONAL_CHARACTER);
> {code}
> So the result is nullable if any of the arguments is nullable. However, the 
> nullability of the last argument does not influence the result nullabillity: 
> a NULL value for the third optional argument will not cause a NULL value to 
> be output.



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

Reply via email to