[ https://issues.apache.org/jira/browse/CALCITE-4999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17493757#comment-17493757 ]
Ruben Q L commented on CALCITE-4999: ------------------------------------ bq. So I think the solution is to return an array of scalars (e.g. INTEGER ARRAY) when the query returns 1 column, and continue to return an array of ROW when the query has 2 or more columns. And do the same for MULTISET. +1 > `least restrictive` type inference does not work when one operand is scalar > and another is row with one field > ------------------------------------------------------------------------------------------------------------- > > Key: CALCITE-4999 > URL: https://issues.apache.org/jira/browse/CALCITE-4999 > Project: Calcite > Issue Type: Bug > Components: core > Reporter: Dmitry Sysolyatin > Assignee: Dmitry Sysolyatin > Priority: Major > Labels: pull-request-available > Time Spent: 0.5h > Remaining Estimate: 0h > > I faced with a issue that the following query: > {code:java} > SELECT ARRAY_CONCAT(ARRAY['1', '2'], array(select 'toast.' || x from > unnest(ARRAY['1','2']) x)) {code} > didn't work, because of: > {code:java} > java.lang.IllegalArgumentException: Cannot infer return type for > ARRAY_CONCAT; operand types: [CHAR(1) ARRAY, RecordType(CHAR(7) EXPR$0) > ARRAY]{code} > `least restrictive` type inference does not work when one operand is scalar > and another is row with one field -- This message was sent by Atlassian Jira (v8.20.1#820001)