This is an automated email from the ASF dual-hosted git repository.
snuyanzin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push:
new 77a017a3970 [FLINK-40288][table] Use correct type in
`ExprCodeGenerator#visitFieldAccess`
77a017a3970 is described below
commit 77a017a3970931286e11a2b29ab10326b55c525b
Author: Sergey Nuyanzin <[email protected]>
AuthorDate: Mon Aug 3 10:09:56 2026 +0200
[FLINK-40288][table] Use correct type in
`ExprCodeGenerator#visitFieldAccess`
---
.../org/apache/flink/table/planner/codegen/ExprCodeGenerator.scala | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git
a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/ExprCodeGenerator.scala
b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/ExprCodeGenerator.scala
index 9427dace35d..147fc1bdf36 100644
---
a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/ExprCodeGenerator.scala
+++
b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/ExprCodeGenerator.scala
@@ -389,7 +389,8 @@ class ExprCodeGenerator(
val index = rexFieldAccess.getField.getIndex
val fieldAccessExpr = generateFieldAccess(ctx, refExpr.resultType,
refExpr.resultTerm, index)
- val resultType = fieldAccessExpr.resultType
+ // Use the field access' own (planner-derived) type: a field of a nullable
parent row is nullable even if declared NOT NULL.
+ val resultType = FlinkTypeFactory.toLogicalType(rexFieldAccess.getType)
val resultTypeTerm = primitiveTypeTermForType(resultType)
val defaultValue = primitiveDefaultValue(resultType)
@@ -410,7 +411,7 @@ class ExprCodeGenerator(
|}
|""".stripMargin
- GeneratedExpression(resultTerm, nullTerm, resultCode,
fieldAccessExpr.resultType)
+ GeneratedExpression(resultTerm, nullTerm, resultCode, resultType)
}
override def visitLiteral(literal: RexLiteral): GeneratedExpression = {