Code generation is disabled for CaseWhen when the number of branches is higher than spark.sql.codegen.maxCaseBranches (which defaults to 20). This was done in
SPARK-13242 to prevent the well known 64KB method limit exception.
This tickets proposes to support code generation also in those cases (without causing exceptions of course). As a side effect, we could get rid of the spark.sql.codegen.maxCaseBranches configuration.