private boolean hasAtLeastOneSubExprWithPartColOrVirtualColWithOneTableAlias(ExprNodeDesc en) {
      if (en == null || en.getChildren() == null) {
        return false;
      }
      for (ExprNodeDesc cn : en.getChildren()) {
        if (exprContainsOnlyPartitionColOrVirtualColOrConstants(cn) && getTableAlias(cn) != null) {
          return true;
        }
      }
      return false;
    }
Check if the expression node satisfies the following :
Has atleast one subexpression containing a partition/virtualcolumn and has
exactly refer to a single table alias.
@param en Expression Node Descriptor
@return true if there is at least one subexpression with partition/virtual column
and has exactly refer to a single table alias. If not, return false.
ql/src/java/org/apache/hadoop/hive/ql/optimizer/PartitionColumnsSeparator.java