[
https://issues.apache.org/jira/browse/FLINK-19362?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
hailong wang updated FLINK-19362:
---------------------------------
Description:
`DOT` operator codegen (ExprCodeGenerator#generateCallExpression) has comment
as following:
{code:java}
// due to https://issues.apache.org/jira/browse/CALCITE-2162, expression such as
// "array[1].a.b" won't work now.
if (operands.size > 2) {
throw new CodeGenException(
"A DOT operator with more than 2 operands is not supported yet.")
}
{code}
But `array[1].a.b` actually can work for flink job. `DOT` will be transform to
`RexFieldAccess` for CALCITE-2542CALCITE-2542. And `generateDot` will never be
invoked except suppporting ITEM for ROW types.
Simply, I think we can only delete the comment which is confusing.
was:
`DOT` operator codegen (ExprCodeGenerator#generateCallExpression) has comment
as following:
{code:java}
// due to https://issues.apache.org/jira/browse/CALCITE-2162, expression such as
// "array[1].a.b" won't work now.
if (operands.size > 2) {
throw new CodeGenException(
"A DOT operator with more than 2 operands is not supported yet.")
}
{code}
But `array[1].a.b` actually can work for flink job. `DOT` will be transform to
`RexFieldAccess` for
[CALCITE-2542|https://issues.apache.org/jira/browse/CALCITE-2542]CALCITE-2542.
And `generateDot` will never be invoked except suppporting ITEM for ROW types.
Simply, I think we can only delete the comment which is confusing.
> Remove confusing comment for `DOT` operator codegen
> ---------------------------------------------------
>
> Key: FLINK-19362
> URL: https://issues.apache.org/jira/browse/FLINK-19362
> Project: Flink
> Issue Type: Improvement
> Components: Table SQL / Planner
> Affects Versions: 1.11.0
> Reporter: hailong wang
> Priority: Major
> Fix For: 1.12.0
>
>
> `DOT` operator codegen (ExprCodeGenerator#generateCallExpression) has comment
> as following:
> {code:java}
> // due to https://issues.apache.org/jira/browse/CALCITE-2162, expression such
> as
> // "array[1].a.b" won't work now.
> if (operands.size > 2) {
> throw new CodeGenException(
> "A DOT operator with more than 2 operands is not supported yet.")
> }
> {code}
> But `array[1].a.b` actually can work for flink job. `DOT` will be transform
> to `RexFieldAccess` for CALCITE-2542CALCITE-2542. And `generateDot` will
> never be invoked except suppporting ITEM for ROW types.
> Simply, I think we can only delete the comment which is confusing.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)