Github user maropu commented on a diff in the pull request:
https://github.com/apache/spark/pull/21857#discussion_r204761432
--- Diff:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/generators.scala
---
@@ -222,6 +222,32 @@ case class Stack(children: Seq[Expression]) extends
Generator {
}
}
+/**
+ * Replicate the row N times. N is specified as the first argument to the
function.
+ * This is a internal function solely used by optimizer to rewrite EXCEPT
ALL AND
+ * INTERSECT ALL queries.
+ */
+case class ReplicateRows(children: Seq[Expression]) extends Generator with
CodegenFallback {
+ private lazy val numColumns = children.length - 1 // remove the
multiplier value from output.
+
+ override def elementSchema: StructType =
+ StructType(children.tail.zipWithIndex.map {
+ case (e, index) => StructField(s"col$index", e.dataType)
+ })
--- End diff --
nit: need indents
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]