@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; }