[ 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)