Description
Intersect doesn't override SetOperation.output, which is defined as:
override def output: Seq[Attribute] =
left.output.zip(right.output).map { case (leftAttr, rightAttr) =>
leftAttr.withNullability(leftAttr.nullable || rightAttr.nullable)
}
However, we can replace the || with && for intersection.