Description
The nullability of a replaced attribute should be `a.nullable` instead of `b.nullable`:
https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/QueryPlan.scala#L357
The scenario is a left outer join where the RHS attributes are replaced bottom up.