Github user cloud-fan commented on the issue:

    https://github.com/apache/spark/pull/19813
  
    We need to clearly define what is the current input according to the 
codegen context. For normal code path, it's always `ctx.INPUT_ROW`, which means 
when we split codes to methods, we just need to pass `InternalRow 
ctx.INPUT_ROW` to those methods.
    
    However for whole stage codegen path, it's way more complex:
    1. some of `ctx.currentVars` are just variables, their codes have already 
been generated before. But some are not. For those whose codes are not 
generated, they are not valid inputs.
    2. `ctx.currentVars` is not null but has null slots, and `ctx.INPUT_ROW` is 
not null. Then both `ctx.currentVars` and `ctx.INPUT_ROW` are valid inputs.


---

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

Reply via email to