@Override
 public Expr visitCastExpr(ExprNormalizedResult ctx, Stack<Expr> stack, CastExpr expr)
     throws PlanningException {
   super.visitCastExpr(ctx, stack, expr);
   if (expr.getChild().getType() == OpType.GeneralSetFunction
       || expr.getChild().getType() == OpType.CountRowsFunction) {
     String referenceName = ctx.block.namedExprsMgr.addExpr(expr.getChild());
     ctx.aggExprs.add(new NamedExpr(expr.getChild(), referenceName));
     expr.setChild(new ColumnReferenceExpr(referenceName));
   }
   return expr;
 }