aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2021-07-19 08:01:40 +0200
committerPeter Eisentraut <peter@eisentraut.org>2021-07-19 08:20:24 +0200
commit2b00db4fb0c7f02f000276bfadaab65a14059168 (patch)
treebe8cdeaa98656fe52c7bbd47e68a221b16840308 /src
parent29abde637bbb4b8fcdc96e049813890afa5ab671 (diff)
downloadpostgresql-2b00db4fb0c7f02f000276bfadaab65a14059168.tar.gz
postgresql-2b00db4fb0c7f02f000276bfadaab65a14059168.zip
Use l*_node() family of functions where appropriate
Instead of castNode(…, lfoo(…)) Author: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org> Discussion: https://www.postgresql.org/message-id/flat/87eecahraj.fsf@wibble.ilmari.org
Diffstat (limited to 'src')
-rw-r--r--src/backend/commands/publicationcmds.c2
-rw-r--r--src/backend/commands/tablecmds.c8
-rw-r--r--src/backend/executor/execPartition.c2
-rw-r--r--src/backend/executor/nodeValuesscan.c2
-rw-r--r--src/backend/optimizer/util/paramassign.c2
-rw-r--r--src/backend/parser/parse_clause.c2
-rw-r--r--src/backend/parser/parse_utilcmd.c8
-rw-r--r--src/backend/partitioning/partbounds.c18
-rw-r--r--src/backend/rewrite/rewriteSearchCycle.c8
-rw-r--r--src/backend/tcop/postgres.c2
-rw-r--r--src/backend/utils/adt/ruleutils.c6
-rw-r--r--src/pl/plpgsql/src/pl_exec.c2
-rw-r--r--src/test/modules/test_predtest/test_predtest.c4
13 files changed, 33 insertions, 33 deletions
diff --git a/src/backend/commands/publicationcmds.c b/src/backend/commands/publicationcmds.c
index 12f9f8b6974..8487eeb7e69 100644
--- a/src/backend/commands/publicationcmds.c
+++ b/src/backend/commands/publicationcmds.c
@@ -514,7 +514,7 @@ OpenTableList(List *tables)
*/
foreach(lc, tables)
{
- RangeVar *rv = castNode(RangeVar, lfirst(lc));
+ RangeVar *rv = lfirst_node(RangeVar, lc);
bool recurse = rv->inh;
Relation rel;
Oid myrelid;
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index 46b108caa6e..a16e7495067 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -4770,7 +4770,7 @@ ATRewriteCatalogs(List **wqueue, LOCKMODE lockmode,
foreach(lcmd, subcmds)
ATExecCmd(wqueue, tab,
- castNode(AlterTableCmd, lfirst(lcmd)),
+ lfirst_node(AlterTableCmd, lcmd),
lockmode, pass, context);
/*
@@ -12842,7 +12842,7 @@ ATPostAlterTypeParse(Oid oldId, Oid oldRelId, Oid refRelId, char *cmd,
foreach(lcmd, stmt->cmds)
{
- AlterTableCmd *cmd = castNode(AlterTableCmd, lfirst(lcmd));
+ AlterTableCmd *cmd = lfirst_node(AlterTableCmd, lcmd);
if (cmd->subtype == AT_AddIndex)
{
@@ -16671,7 +16671,7 @@ transformPartitionSpec(Relation rel, PartitionSpec *partspec, char *strategy)
/* take care of any partition expressions */
foreach(l, partspec->partParams)
{
- PartitionElem *pelem = castNode(PartitionElem, lfirst(l));
+ PartitionElem *pelem = lfirst_node(PartitionElem, l);
if (pelem->expr)
{
@@ -16708,7 +16708,7 @@ ComputePartitionAttrs(ParseState *pstate, Relation rel, List *partParams, AttrNu
attn = 0;
foreach(lc, partParams)
{
- PartitionElem *pelem = castNode(PartitionElem, lfirst(lc));
+ PartitionElem *pelem = lfirst_node(PartitionElem, lc);
Oid atttype;
Oid attcollation;
diff --git a/src/backend/executor/execPartition.c b/src/backend/executor/execPartition.c
index 606c920b068..5c723bc54e1 100644
--- a/src/backend/executor/execPartition.c
+++ b/src/backend/executor/execPartition.c
@@ -585,7 +585,7 @@ ExecInitPartitionInfo(ModifyTableState *mtstate, EState *estate,
foreach(ll, wcoList)
{
- WithCheckOption *wco = castNode(WithCheckOption, lfirst(ll));
+ WithCheckOption *wco = lfirst_node(WithCheckOption, ll);
ExprState *wcoExpr = ExecInitQual(castNode(List, wco->qual),
&mtstate->ps);
diff --git a/src/backend/executor/nodeValuesscan.c b/src/backend/executor/nodeValuesscan.c
index 5de1429fdaa..00bd1271e49 100644
--- a/src/backend/executor/nodeValuesscan.c
+++ b/src/backend/executor/nodeValuesscan.c
@@ -285,7 +285,7 @@ ExecInitValuesScan(ValuesScan *node, EState *estate, int eflags)
i = 0;
foreach(vtl, node->values_lists)
{
- List *exprs = castNode(List, lfirst(vtl));
+ List *exprs = lfirst_node(List, vtl);
scanstate->exprlists[i] = exprs;
diff --git a/src/backend/optimizer/util/paramassign.c b/src/backend/optimizer/util/paramassign.c
index ebb424112b1..61b856a9596 100644
--- a/src/backend/optimizer/util/paramassign.c
+++ b/src/backend/optimizer/util/paramassign.c
@@ -431,7 +431,7 @@ process_subquery_nestloop_params(PlannerInfo *root, List *subplan_params)
foreach(lc, subplan_params)
{
- PlannerParamItem *pitem = castNode(PlannerParamItem, lfirst(lc));
+ PlannerParamItem *pitem = lfirst_node(PlannerParamItem, lc);
if (IsA(pitem->item, Var))
{
diff --git a/src/backend/parser/parse_clause.c b/src/backend/parser/parse_clause.c
index 71c360bea58..b3f151d33b5 100644
--- a/src/backend/parser/parse_clause.c
+++ b/src/backend/parser/parse_clause.c
@@ -2807,7 +2807,7 @@ transformWindowDefinitions(ParseState *pstate,
(errcode(ERRCODE_WINDOWING_ERROR),
errmsg("RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column"),
parser_errposition(pstate, windef->location)));
- sortcl = castNode(SortGroupClause, linitial(wc->orderClause));
+ sortcl = linitial_node(SortGroupClause, wc->orderClause);
sortkey = get_sortgroupclause_expr(sortcl, *targetlist);
/* Find the sort operator in pg_amop */
if (!get_ordering_op_properties(sortcl->sortop,
diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c
index 9edd1f8d51b..675e400839f 100644
--- a/src/backend/parser/parse_utilcmd.c
+++ b/src/backend/parser/parse_utilcmd.c
@@ -2424,7 +2424,7 @@ transformIndexConstraint(Constraint *constraint, CreateStmtContext *cxt)
/* Make sure referenced column exists. */
foreach(columns, cxt->columns)
{
- column = castNode(ColumnDef, lfirst(columns));
+ column = lfirst_node(ColumnDef, columns);
if (strcmp(column->colname, key) == 0)
{
found = true;
@@ -2462,7 +2462,7 @@ transformIndexConstraint(Constraint *constraint, CreateStmtContext *cxt)
foreach(inher, cxt->inhRelations)
{
- RangeVar *inh = castNode(RangeVar, lfirst(inher));
+ RangeVar *inh = lfirst_node(RangeVar, inher);
Relation rel;
int count;
@@ -4088,7 +4088,7 @@ transformPartitionBound(ParseState *pstate, Relation parent,
duplicate = false;
foreach(cell2, result_spec->listdatums)
{
- Const *value2 = castNode(Const, lfirst(cell2));
+ Const *value2 = lfirst_node(Const, cell2);
if (equal(value, value2))
{
@@ -4267,7 +4267,7 @@ validateInfiniteBounds(ParseState *pstate, List *blist)
foreach(lc, blist)
{
- PartitionRangeDatum *prd = castNode(PartitionRangeDatum, lfirst(lc));
+ PartitionRangeDatum *prd = lfirst_node(PartitionRangeDatum, lc);
if (kind == prd->kind)
continue;
diff --git a/src/backend/partitioning/partbounds.c b/src/backend/partitioning/partbounds.c
index 1ec141b9eb0..12599da9a8a 100644
--- a/src/backend/partitioning/partbounds.c
+++ b/src/backend/partitioning/partbounds.c
@@ -452,7 +452,7 @@ get_non_null_list_datum_count(PartitionBoundSpec **boundspecs, int nparts)
foreach(lc, boundspecs[i]->listdatums)
{
- Const *val = castNode(Const, lfirst(lc));
+ Const *val = lfirst_node(Const, lc);
if (!val->constisnull)
count++;
@@ -513,7 +513,7 @@ create_list_bounds(PartitionBoundSpec **boundspecs, int nparts,
foreach(c, spec->listdatums)
{
- Const *val = castNode(Const, lfirst(c));
+ Const *val = lfirst_node(Const, c);
if (!val->constisnull)
{
@@ -3014,7 +3014,7 @@ check_new_partition_bound(char *relname, Relation parent,
foreach(cell, spec->listdatums)
{
- Const *val = castNode(Const, lfirst(cell));
+ Const *val = lfirst_node(Const, cell);
overlap_location = val->location;
if (!val->constisnull)
@@ -3399,7 +3399,7 @@ make_one_partition_rbound(PartitionKey key, int index, List *datums, bool lower)
i = 0;
foreach(lc, datums)
{
- PartitionRangeDatum *datum = castNode(PartitionRangeDatum, lfirst(lc));
+ PartitionRangeDatum *datum = lfirst_node(PartitionRangeDatum, lc);
/* What's contained in this range datum? */
bound->kind[i] = datum->kind;
@@ -4103,7 +4103,7 @@ get_qual_for_list(Relation parent, PartitionBoundSpec *spec)
*/
foreach(cell, spec->listdatums)
{
- Const *val = castNode(Const, lfirst(cell));
+ Const *val = lfirst_node(Const, cell);
if (val->constisnull)
list_has_null = true;
@@ -4358,8 +4358,8 @@ get_qual_for_range(Relation parent, PartitionBoundSpec *spec,
Datum test_result;
bool isNull;
- ldatum = castNode(PartitionRangeDatum, lfirst(cell1));
- udatum = castNode(PartitionRangeDatum, lfirst(cell2));
+ ldatum = lfirst_node(PartitionRangeDatum, cell1);
+ udatum = lfirst_node(PartitionRangeDatum, cell2);
/*
* Since get_range_key_properties() modifies partexprs_item, and we
@@ -4440,11 +4440,11 @@ get_qual_for_range(Relation parent, PartitionBoundSpec *spec,
PartitionRangeDatum *ldatum_next = NULL,
*udatum_next = NULL;
- ldatum = castNode(PartitionRangeDatum, lfirst(cell1));
+ ldatum = lfirst_node(PartitionRangeDatum, cell1);
if (lnext(spec->lowerdatums, cell1))
ldatum_next = castNode(PartitionRangeDatum,
lfirst(lnext(spec->lowerdatums, cell1)));
- udatum = castNode(PartitionRangeDatum, lfirst(cell2));
+ udatum = lfirst_node(PartitionRangeDatum, cell2);
if (lnext(spec->upperdatums, cell2))
udatum_next = castNode(PartitionRangeDatum,
lfirst(lnext(spec->upperdatums, cell2)));
diff --git a/src/backend/rewrite/rewriteSearchCycle.c b/src/backend/rewrite/rewriteSearchCycle.c
index 599fe8e7352..c50ebdba247 100644
--- a/src/backend/rewrite/rewriteSearchCycle.c
+++ b/src/backend/rewrite/rewriteSearchCycle.c
@@ -307,8 +307,8 @@ rewriteSearchAndCycle(CommonTableExpr *cte)
list_nth_oid(cte->ctecolcollations, i),
0);
tle = makeTargetEntry((Expr *) var, i + 1, strVal(list_nth(cte->ctecolnames, i)), false);
- tle->resorigtbl = castNode(TargetEntry, list_nth(rte1->subquery->targetList, i))->resorigtbl;
- tle->resorigcol = castNode(TargetEntry, list_nth(rte1->subquery->targetList, i))->resorigcol;
+ tle->resorigtbl = list_nth_node(TargetEntry, rte1->subquery->targetList, i)->resorigtbl;
+ tle->resorigcol = list_nth_node(TargetEntry, rte1->subquery->targetList, i)->resorigcol;
newq1->targetList = lappend(newq1->targetList, tle);
}
@@ -482,8 +482,8 @@ rewriteSearchAndCycle(CommonTableExpr *cte)
list_nth_oid(cte->ctecolcollations, i),
0);
tle = makeTargetEntry((Expr *) var, i + 1, strVal(list_nth(cte->ctecolnames, i)), false);
- tle->resorigtbl = castNode(TargetEntry, list_nth(rte2->subquery->targetList, i))->resorigtbl;
- tle->resorigcol = castNode(TargetEntry, list_nth(rte2->subquery->targetList, i))->resorigcol;
+ tle->resorigtbl = list_nth_node(TargetEntry, rte2->subquery->targetList, i)->resorigtbl;
+ tle->resorigcol = list_nth_node(TargetEntry, rte2->subquery->targetList, i)->resorigcol;
newq2->targetList = lappend(newq2->targetList, tle);
}
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 8cea10c9019..530caa520b8 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -785,7 +785,7 @@ pg_rewrite_query(Query *query)
*/
foreach(lc, querytree_list)
{
- Query *query = castNode(Query, lfirst(lc));
+ Query *query = lfirst_node(Query, lc);
if (query->commandType != CMD_UTILITY)
{
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c
index 3719755a0de..5e7108f9031 100644
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -7793,7 +7793,7 @@ find_param_referent(Param *param, deparse_context *context,
*/
foreach(lc2, ((Plan *) ancestor)->initPlan)
{
- SubPlan *subplan = castNode(SubPlan, lfirst(lc2));
+ SubPlan *subplan = lfirst_node(SubPlan, lc2);
if (child_plan != (Plan *) list_nth(dpns->subplans,
subplan->plan_id - 1))
@@ -9407,7 +9407,7 @@ get_rule_expr(Node *node, deparse_context *context,
sep = "";
foreach(cell, spec->listdatums)
{
- Const *val = castNode(Const, lfirst(cell));
+ Const *val = lfirst_node(Const, cell);
appendStringInfoString(buf, sep);
get_const_expr(val, context, -1);
@@ -11990,7 +11990,7 @@ get_range_partbound_string(List *bound_datums)
foreach(cell, bound_datums)
{
PartitionRangeDatum *datum =
- castNode(PartitionRangeDatum, lfirst(cell));
+ lfirst_node(PartitionRangeDatum, cell);
appendStringInfoString(buf, sep);
if (datum->kind == PARTITION_RANGE_DATUM_MINVALUE)
diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c
index 96bb77e0b1e..b5c208d83d9 100644
--- a/src/pl/plpgsql/src/pl_exec.c
+++ b/src/pl/plpgsql/src/pl_exec.c
@@ -7996,7 +7996,7 @@ exec_save_simple_expr(PLpgSQL_expr *expr, CachedPlan *cplan)
{
/* Extract the single tlist expression */
Assert(list_length(plan->targetlist) == 1);
- tle_expr = castNode(TargetEntry, linitial(plan->targetlist))->expr;
+ tle_expr = linitial_node(TargetEntry, plan->targetlist)->expr;
if (IsA(plan, Result))
{
diff --git a/src/test/modules/test_predtest/test_predtest.c b/src/test/modules/test_predtest/test_predtest.c
index 9c0aadd61c8..0301d484439 100644
--- a/src/test/modules/test_predtest/test_predtest.c
+++ b/src/test/modules/test_predtest/test_predtest.c
@@ -131,8 +131,8 @@ test_predtest(PG_FUNCTION_ARGS)
elog(ERROR, "failed to decipher query plan");
plan = stmt->planTree;
Assert(list_length(plan->targetlist) >= 2);
- clause1 = castNode(TargetEntry, linitial(plan->targetlist))->expr;
- clause2 = castNode(TargetEntry, lsecond(plan->targetlist))->expr;
+ clause1 = linitial_node(TargetEntry, plan->targetlist)->expr;
+ clause2 = lsecond_node(TargetEntry, plan->targetlist)->expr;
/*
* Because the clauses are in the SELECT list, preprocess_expression did