krooswu created CALCITE-7748:
--------------------------------
Summary: CONCAT (and other STRING_SAME_SAME-typed operators) gives
misleading error message for mixed CHARACTER/BINARY arguments
Key: CALCITE-7748
URL: https://issues.apache.org/jira/browse/CALCITE-7748
Project: Calcite
Issue Type: Bug
Affects Versions: 1.42.0
Reporter: krooswu
Assignee: krooswu
Fix For: 1.43.0
{{SqlTypeFamily.STRING}} is an aggregate family that covers both {{CHARACTER}}
and {{{}BINARY{}}}. Operators like {{CONCAT}} use
{{{}OperandTypes.STRING_SAME_SAME{}}}, which is defined as:
java
{{STRING_SAME_SAME = STRING_STRING.and(SAME_SAME);}}
{{STRING_STRING}} checks each operand independently against the aggregate
{{STRING}} family, so a {{CHAR}} argument and a {{BINARY}} argument each pass
on their own. The actual constraint that rejects mixed CHARACTER/BINARY calls
comes from the second, AND-composed rule, {{{}SAME_SAME{}}}, which requires the
operands to be mutually comparable (i.e. share the same _concrete_ family).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)