[ 
https://issues.apache.org/jira/browse/CALCITE-7464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated CALCITE-7464:
------------------------------------
    Labels: pull-request-available  (was: )

> Refactor type coercion in array/map functions to avoid mutating operands as 
> side effects
> ----------------------------------------------------------------------------------------
>
>                 Key: CALCITE-7464
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7464
>             Project: Calcite
>          Issue Type: Improvement
>    Affects Versions: 1.41.0
>            Reporter: Caican Cai
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.42.0
>
>
> Several array and map functions currently insert explicit CAST nodes by 
> mutating operands (call.setOperand()) as a side effect during type checking 
> or return type inference. As noted by Julian Hyde and Mihai Budiu in 
> CALCITE-6300, this violates the "functional programming" principle — 
> SqlOperandTypeChecker and return type inference should be side-effect-free, 
> and other code may be surprised by such mutations.
> This pattern has spread to multiple functions: In return type inference (via
> - ARRAY_APPEND / ARRAY_PREPEND / ARRAY_INSERT



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

Reply via email to