Github user marmbrus commented on a diff in the pull request: https://github.com/apache/spark/pull/1163#discussion_r14051536 --- Diff: sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Projection.scala --- @@ -45,8 +45,8 @@ class Projection(expressions: Seq[Expression]) extends (Row => Row) { * that schema. * * In contrast to a normal projection, a MutableProjection reuses the same underlying row object - * each time an input row is added. This significatly reduces the cost of calcuating the - * projection, but means that it is not safe + * each time an input row is added. This significantly reduces the cost of calculating the + * projection, but means that it is not safe ...? --- End diff -- ... to hold on to a reference to a `Row` after `next()` has been called on the `Iterator` that produced it. Instead, the user must call `Row.copy()` and hold on to the returned `Row` before calling `next()`.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---