Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Impala 2.1.1
-
None
Description
Constant filter expressions are evaluated during query compilation, and not during execution. When evaluating those expressions during compilation, there is no check whether there is an error set or not.
Specifically, errors are not checked after GetConstVal() is called in ScalarFnCall::Open(). Also, in NativeEvalConstExprs in fe-support.cc, if an error takes place during evaluation in Open() or GetValue(), the state is not cleaned up (Close() is not called) before throwing an exception.