Github user rxin commented on a diff in the pull request: https://github.com/apache/spark/pull/7392#discussion_r34541628 --- Diff: sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala --- @@ -56,6 +56,14 @@ class CodeGenContext { */ val references: mutable.ArrayBuffer[Expression] = new mutable.ArrayBuffer[Expression]() + /** + * Holding expressions' mutable states like `Rand.rng`, and keep them as member variables + * in generated classes like `SpecificProjection`. + * Each element is a 3-tuple: java type, variable name, variable value. + */ + val mutableStates: mutable.ArrayBuffer[(String, String, Any)] = --- End diff -- let's add a function so we don;t call += directly on the array buffer. ```scala def addMutableState(javaType: String, variableName: String, initialValue: String): Unit ``` this way it also makes it more clear what the semantics are for each element in the tuple3.
--- 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. --- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org