Skip to content

Commit 299fd68

Browse files
committed
address review comment for get nullable
1 parent 0a455be commit 299fd68

File tree

1 file changed

+3
-13
lines changed
  • sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical

1 file changed

+3
-13
lines changed

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/object.scala

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,19 +41,9 @@ object CatalystSerde {
4141
}
4242

4343
def generateObjAttr[T : Encoder]: Attribute = {
44-
val deserializer = encoderFor[T].deserializer
45-
val dataType = deserializer.dataType
46-
val nullable = if (deserializer.resolved) {
47-
deserializer.nullable
48-
} else {
49-
// Since deserializer is not resolved here, cannot access deserializer.nullable.
50-
// We infer nullability from DataType
51-
dataType match {
52-
case BooleanType | FloatType | DoubleType => false
53-
case _: IntegralType => false
54-
case _ => true
55-
}
56-
}
44+
val enc = encoderFor[T]
45+
val dataType = enc.deserializer.dataType
46+
val nullable = !enc.clsTag.runtimeClass.isPrimitive
5747
AttributeReference("obj", dataType, nullable = nullable)()
5848
}
5949
}

0 commit comments

Comments
 (0)