I just committed the fix from Amareshwari, so after this gets pushed, it should be possible to back out the conf changes which were applied to avoid the bug from HIVE-1538.
Read the release notes I added on HIVE-2344 and chime in with a new JIRA issue if you think there are cases where it's important to do finer discrimination in what kinds of SELECT expressions to allow for ppd...in general it's a cost-based optimizer problem. As an example, consider select * from (select f(x,y) as z from t) s where z > 3; Before HIVE-1538, there was a bug where we would push down f(x,y)>3 even when f was non-deterministic. HIVE-1538 made that bug much more obvious. HIVE-2344 fixes it, but also prevents the pushdown even in cases where f is deterministic. This is good in some cases (e.g. when f is expensive to compute and the filter selectivity is poor), but could be bad in others (e.g. when f is something simple like a CAST and the filter is highly selective). JVS