summaryrefslogtreecommitdiff
path: root/src/backend/utils
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2017-02-21 11:33:07 -0500
committerPeter Eisentraut <peter_e@gmx.net>2017-02-21 11:59:09 -0500
commit38d103763d14baddf3cbfe4b00b501059fc9447f (patch)
treea69106fc39af0e181307f40fd3ba43b1930c3fcc /src/backend/utils
parent4e5ce3c1aeadf81b504bc9d683b67950bd3f8766 (diff)
downloadpostgresql-38d103763d14baddf3cbfe4b00b501059fc9447f.tar.gz
Make more use of castNode()
Diffstat (limited to 'src/backend/utils')
-rw-r--r--src/backend/utils/adt/datetime.c3
-rw-r--r--src/backend/utils/adt/numeric.c3
-rw-r--r--src/backend/utils/adt/ruleutils.c21
-rw-r--r--src/backend/utils/adt/selfuncs.c3
-rw-r--r--src/backend/utils/adt/timestamp.c3
-rw-r--r--src/backend/utils/adt/varbit.c3
-rw-r--r--src/backend/utils/adt/varchar.c3
-rw-r--r--src/backend/utils/misc/guc.c3
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));
}