Github user mgaido91 commented on a diff in the pull request:

    https://github.com/apache/spark/pull/19827#discussion_r153250101
  
    --- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala
 ---
    @@ -781,15 +781,18 @@ class CodegenContext {
        * beyond 1000kb, we declare a private, inner sub-class, and the 
function is inlined to it
        * instead, because classes have a constant pool limit of 65,536 named 
values.
        *
    -   * @param row the variable name of row that is used by expressions
    +   * Note that we will extract the current inputs of this context and pass 
them to the generated
    +   * functions. The input is `INPUT_ROW` for normal codegen path, and 
`currentVars` for whole
    +   * stage codegen path. Whole stage codegen path is not supported yet.
    +   *
        * @param expressions the codes to evaluate expressions.
        */
    -  def splitExpressions(row: String, expressions: Seq[String]): String = {
    -    if (row == null || currentVars != null) {
    -      // Cannot split these expressions because they are not created from 
a row object.
    +  def splitExpressions(expressions: Seq[String]): String = {
    +    // TODO: support whole stage codegen
    +    if (INPUT_ROW == null || currentVars != null) {
    --- End diff --
    
    I'd love to put this check in the "advanced" version of this method, so 
that it is in one place and it is always checked. But there is an ongoing PR by 
@kiszk which maybe is doing this, I am not sure.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to