mirror of
https://github.com/postgres/postgres.git
synced 2025-07-02 09:02:37 +03:00
Make more use of castNode()
This commit is contained in:
@ -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)
|
||||
|
Reference in New Issue
Block a user