From 9ba8a9ce4548bb34b7136b7463a61b2c499979a3 Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Thu, 26 Jan 2017 16:47:03 -0800 Subject: Use the new castNode() macro in a number of places. This is far from a pervasive conversion, but it's a good starting point. Author: Peter Eisentraut, with some minor changes by me Reviewed-By: Tom Lane Discussion: https://postgr.es/m/c5d387d9-3440-f5e0-f9d4-71d53b9fbe52@2ndquadrant.com --- src/backend/executor/nodeSubplan.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'src/backend/executor/nodeSubplan.c') diff --git a/src/backend/executor/nodeSubplan.c b/src/backend/executor/nodeSubplan.c index f8a2cd446a2..8f419a13acd 100644 --- a/src/backend/executor/nodeSubplan.c +++ b/src/backend/executor/nodeSubplan.c @@ -808,8 +808,7 @@ ExecInitSubPlan(SubPlan *subplan, PlanState *parent) else if (and_clause((Node *) sstate->testexpr->expr)) { /* multiple combining operators */ - Assert(IsA(sstate->testexpr, BoolExprState)); - oplist = ((BoolExprState *) sstate->testexpr)->args; + oplist = castNode(BoolExprState, sstate->testexpr)->args; } else { @@ -829,8 +828,8 @@ ExecInitSubPlan(SubPlan *subplan, PlanState *parent) i = 1; foreach(l, oplist) { - FuncExprState *fstate = (FuncExprState *) lfirst(l); - OpExpr *opexpr = (OpExpr *) fstate->xprstate.expr; + FuncExprState *fstate = castNode(FuncExprState, lfirst(l)); + OpExpr *opexpr = castNode(OpExpr, fstate->xprstate.expr); ExprState *exstate; Expr *expr; TargetEntry *tle; @@ -839,8 +838,6 @@ ExecInitSubPlan(SubPlan *subplan, PlanState *parent) Oid left_hashfn; Oid right_hashfn; - Assert(IsA(fstate, FuncExprState)); - Assert(IsA(opexpr, OpExpr)); Assert(list_length(fstate->args) == 2); /* Process lefthand argument */ @@ -1218,10 +1215,8 @@ ExecAlternativeSubPlan(AlternativeSubPlanState *node, bool *isNull) { /* Just pass control to the active subplan */ - SubPlanState *activesp = (SubPlanState *) list_nth(node->subplans, - node->active); - - Assert(IsA(activesp, SubPlanState)); + SubPlanState *activesp = castNode(SubPlanState, + list_nth(node->subplans, node->active)); return ExecSubPlan(activesp, econtext, isNull); } -- cgit v1.2.3