diff options
| author | Peter Eisentraut <peter_e@gmx.net> | 2017-02-21 11:33:07 -0500 |
|---|---|---|
| committer | Peter Eisentraut <peter_e@gmx.net> | 2017-02-21 11:59:09 -0500 |
| commit | 38d103763d14baddf3cbfe4b00b501059fc9447f (patch) | |
| tree | a69106fc39af0e181307f40fd3ba43b1930c3fcc /src/backend/utils | |
| parent | 4e5ce3c1aeadf81b504bc9d683b67950bd3f8766 (diff) | |
| download | postgresql-38d103763d14baddf3cbfe4b00b501059fc9447f.tar.gz | |
Make more use of castNode()
Diffstat (limited to 'src/backend/utils')
| -rw-r--r-- | src/backend/utils/adt/datetime.c | 3 | ||||
| -rw-r--r-- | src/backend/utils/adt/numeric.c | 3 | ||||
| -rw-r--r-- | src/backend/utils/adt/ruleutils.c | 21 | ||||
| -rw-r--r-- | src/backend/utils/adt/selfuncs.c | 3 | ||||
| -rw-r--r-- | src/backend/utils/adt/timestamp.c | 3 | ||||
| -rw-r--r-- | src/backend/utils/adt/varbit.c | 3 | ||||
| -rw-r--r-- | src/backend/utils/adt/varchar.c | 3 | ||||
| -rw-r--r-- | src/backend/utils/misc/guc.c | 3 |
8 files changed, 14 insertions, 28 deletions
diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c index 7ada0e5833..8424372bfe 100644 --- a/src/backend/utils/adt/datetime.c +++ b/src/backend/utils/adt/datetime.c @@ -4591,11 +4591,10 @@ CheckDateTokenTables(void) Node * TemporalTransform(int32 max_precis, Node *node) { - FuncExpr *expr = (FuncExpr *) node; + FuncExpr *expr = castNode(FuncExpr, node); Node *ret = NULL; Node *typmod; - Assert(IsA(expr, FuncExpr)); Assert(list_length(expr->args) >= 2); typmod = (Node *) lsecond(expr->args); diff --git a/src/backend/utils/adt/numeric.c b/src/backend/utils/adt/numeric.c index fa4e1b1e62..781c713f81 100644 --- a/src/backend/utils/adt/numeric.c +++ b/src/backend/utils/adt/numeric.c @@ -889,11 +889,10 @@ numeric_send(PG_FUNCTION_ARGS) Datum numeric_transform(PG_FUNCTION_ARGS) { - FuncExpr *expr = (FuncExpr *) PG_GETARG_POINTER(0); + FuncExpr *expr = castNode(FuncExpr, PG_GETARG_POINTER(0)); Node *ret = NULL; Node *typmod; - Assert(IsA(expr, FuncExpr)); Assert(list_length(expr->args) >= 2); typmod = (Node *) lsecond(expr->args); diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index f355954b53..b27b77de21 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -2569,8 +2569,7 @@ print_function_arguments(StringInfo buf, HeapTuple proctup, List *argdefaults; str = TextDatumGetCString(proargdefaults); - argdefaults = (List *) stringToNode(str); - Assert(IsA(argdefaults, List)); + argdefaults = castNode(List, stringToNode(str)); pfree(str); nextargdefault = list_head(argdefaults); /* nlackdefaults counts only *input* arguments lacking defaults */ @@ -2762,8 +2761,7 @@ pg_get_function_arg_default(PG_FUNCTION_ARGS) } str = TextDatumGetCString(proargdefaults); - argdefaults = (List *) stringToNode(str); - Assert(IsA(argdefaults, List)); + argdefaults = castNode(List, stringToNode(str)); pfree(str); proc = (Form_pg_proc) GETSTRUCT(proctup); @@ -7654,9 +7652,8 @@ get_rule_expr(Node *node, deparse_context *context, appendStringInfoString(buf, "(alternatives: "); foreach(lc, asplan->subplans) { - SubPlan *splan = (SubPlan *) lfirst(lc); + SubPlan *splan = castNode(SubPlan, lfirst(lc)); - Assert(IsA(splan, SubPlan)); if (splan->useHashTable) appendStringInfo(buf, "hashed %s", splan->plan_name); else @@ -8210,8 +8207,7 @@ get_rule_expr(Node *node, deparse_context *context, get_rule_expr((Node *) linitial(xexpr->args), context, true); - con = (Const *) lsecond(xexpr->args); - Assert(IsA(con, Const)); + con = castNode(Const, lsecond(xexpr->args)); Assert(!con->constisnull); if (DatumGetBool(con->constvalue)) appendStringInfoString(buf, @@ -8234,8 +8230,7 @@ get_rule_expr(Node *node, deparse_context *context, else get_rule_expr((Node *) con, context, false); - con = (Const *) lthird(xexpr->args); - Assert(IsA(con, Const)); + con = castNode(Const, lthird(xexpr->args)); if (con->constisnull) /* suppress STANDALONE NO VALUE */ ; else @@ -8743,10 +8738,9 @@ get_agg_expr(Aggref *aggref, deparse_context *context, */ if (DO_AGGSPLIT_COMBINE(aggref->aggsplit)) { - TargetEntry *tle = linitial(aggref->args); + TargetEntry *tle = castNode(TargetEntry, linitial(aggref->args)); Assert(list_length(aggref->args) == 1); - Assert(IsA(tle, TargetEntry)); resolve_special_varno((Node *) tle->expr, context, original_aggref, get_agg_combine_expr); return; @@ -9205,9 +9199,8 @@ get_sublink_expr(SubLink *sublink, deparse_context *context) sep = ""; foreach(l, ((BoolExpr *) sublink->testexpr)->args) { - OpExpr *opexpr = (OpExpr *) lfirst(l); + OpExpr *opexpr = castNode(OpExpr, lfirst(l)); - Assert(IsA(opexpr, OpExpr)); appendStringInfoString(buf, sep); get_rule_expr(linitial(opexpr->args), context, true); if (!opname) diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c index d14f0f97a8..13cb1facd4 100644 --- a/src/backend/utils/adt/selfuncs.c +++ b/src/backend/utils/adt/selfuncs.c @@ -6087,14 +6087,13 @@ deconstruct_indexquals(IndexPath *path) forboth(lcc, path->indexquals, lci, path->indexqualcols) { - RestrictInfo *rinfo = (RestrictInfo *) lfirst(lcc); + RestrictInfo *rinfo = castNode(RestrictInfo, lfirst(lcc)); int indexcol = lfirst_int(lci); Expr *clause; Node *leftop, *rightop; IndexQualInfo *qinfo; - Assert(IsA(rinfo, RestrictInfo)); clause = rinfo->clause; qinfo = (IndexQualInfo *) palloc(sizeof(IndexQualInfo)); diff --git a/src/backend/utils/adt/timestamp.c b/src/backend/utils/adt/timestamp.c index 9b4c012a63..997a551bd8 100644 --- a/src/backend/utils/adt/timestamp.c +++ b/src/backend/utils/adt/timestamp.c @@ -1309,11 +1309,10 @@ intervaltypmodleastfield(int32 typmod) Datum interval_transform(PG_FUNCTION_ARGS) { - FuncExpr *expr = (FuncExpr *) PG_GETARG_POINTER(0); + FuncExpr *expr = castNode(FuncExpr, PG_GETARG_POINTER(0)); Node *ret = NULL; Node *typmod; - Assert(IsA(expr, FuncExpr)); Assert(list_length(expr->args) >= 2); typmod = (Node *) lsecond(expr->args); diff --git a/src/backend/utils/adt/varbit.c b/src/backend/utils/adt/varbit.c index af39d4cf25..e947785d81 100644 --- a/src/backend/utils/adt/varbit.c +++ b/src/backend/utils/adt/varbit.c @@ -679,11 +679,10 @@ varbit_send(PG_FUNCTION_ARGS) Datum varbit_transform(PG_FUNCTION_ARGS) { - FuncExpr *expr = (FuncExpr *) PG_GETARG_POINTER(0); + FuncExpr *expr = castNode(FuncExpr, PG_GETARG_POINTER(0)); Node *ret = NULL; Node *typmod; - Assert(IsA(expr, FuncExpr)); Assert(list_length(expr->args) >= 2); typmod = (Node *) lsecond(expr->args); diff --git a/src/backend/utils/adt/varchar.c b/src/backend/utils/adt/varchar.c index c800beb08f..6f2f9f6633 100644 --- a/src/backend/utils/adt/varchar.c +++ b/src/backend/utils/adt/varchar.c @@ -554,11 +554,10 @@ varcharsend(PG_FUNCTION_ARGS) Datum varchar_transform(PG_FUNCTION_ARGS) { - FuncExpr *expr = (FuncExpr *) PG_GETARG_POINTER(0); + FuncExpr *expr = castNode(FuncExpr, PG_GETARG_POINTER(0)); Node *ret = NULL; Node *typmod; - Assert(IsA(expr, FuncExpr)); Assert(list_length(expr->args) >= 2); typmod = (Node *) lsecond(expr->args); diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 5d8fb2edb8..24771389c8 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -7322,7 +7322,7 @@ ExecSetVariableStmt(VariableSetStmt *stmt, bool isTopLevel) } else if (strcmp(stmt->name, "TRANSACTION SNAPSHOT") == 0) { - A_Const *con = (A_Const *) linitial(stmt->args); + A_Const *con = castNode(A_Const, linitial(stmt->args)); if (stmt->is_local) ereport(ERROR, @@ -7330,7 +7330,6 @@ ExecSetVariableStmt(VariableSetStmt *stmt, bool isTopLevel) errmsg("SET LOCAL TRANSACTION SNAPSHOT is not implemented"))); WarnNoTransactionChain(isTopLevel, "SET TRANSACTION"); - Assert(IsA(con, A_Const)); Assert(nodeTag(&con->val) == T_String); ImportSnapshot(strVal(&con->val)); } |
