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]