Github user mgaido91 commented on a diff in the pull request: https://github.com/apache/spark/pull/21537#discussion_r196024658 --- Diff: sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/javaCode.scala --- @@ -256,6 +283,22 @@ object EmptyBlock extends Block with Serializable { override def + (other: Block): Block = other } +/** + * A block inlines all types of input arguments into a string without + * tracking any reference of `JavaCode` instances. + */ +case class InlineBlock(block: String) extends Block { + override val code: String = block + override val exprValues: Set[ExprValue] = Set.empty + + override def + (other: Block): Block = other match { + case c: CodeBlock => Blocks(Seq(this, c)) + case i: InlineBlock => InlineBlock(block + i.block) --- End diff -- does this mean that if we have to consecutive `InlineBlock`s we are concatenating them without any space? Is this ok?
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org