Hi Hive Users: I have a hive generic hive udf which is called protect_column. The udf works fine when I call it along. But when I run the following query:
select case when id = 5 then protect_column(id, 'age', 12L) else id end from one_row_table ; It says Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Stateful expressions cannot be used inside of CASE I was reading the source code. And I think it is related to GenericCase and GenericWhen according to https://svn.apache.org/repos/asf/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeGenericFuncEvaluator.java?p=1197837 Could anyone help explain explicitly what exactly is genericCase GenericWhen and why we cannot put the udf inside a case when ? Thanks for your time helping me out Best Dan