From 3dd2eabc53f822d4cc8312ffeff0e934185f4f4e Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Mon, 20 Jul 1998 19:53:53 +0000 Subject: [PATCH] Cleanup makeTargetEntry and remove internal.c. --- src/backend/executor/execJunk.c | 12 +++--- src/backend/nodes/makefuncs.c | 16 ++++++- src/backend/optimizer/plan/setrefs.c | 6 +-- src/backend/optimizer/prep/preptlist.c | 12 +++--- src/backend/optimizer/util/internal.c | 60 -------------------------- src/backend/optimizer/util/tlist.c | 40 ++++++----------- src/backend/parser/analyze.c | 10 ++--- src/backend/parser/parse_func.c | 10 ++--- src/backend/parser/parse_target.c | 6 +-- src/include/optimizer/tlist.h | 4 +- 10 files changed, 52 insertions(+), 124 deletions(-) delete mode 100644 src/backend/optimizer/util/internal.c diff --git a/src/backend/executor/execJunk.c b/src/backend/executor/execJunk.c index 51bd68bf91..1dfbbeee1b 100644 --- a/src/backend/executor/execJunk.c +++ b/src/backend/executor/execJunk.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/execJunk.c,v 1.11 1998/06/15 19:28:18 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/execJunk.c,v 1.12 1998/07/20 19:53:44 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -20,7 +20,7 @@ #include "access/heapam.h" #include "executor/executor.h" #include "nodes/relation.h" -#include "optimizer/tlist.h" /* for MakeTLE */ +#include "optimizer/tlist.h" /* for makeTargetEntry */ /*------------------------------------------------------------------------- * XXX this stuff should be rewritten to take advantage @@ -111,9 +111,7 @@ ExecInitJunkFilter(List *targetList) /* * create a new target list entry */ - tle = makeNode(TargetEntry); - tle->resdom = cleanResdom; - tle->expr = expr; + tle = makeTargetEntry(cleanResdom, expr); cleanTargetList = lappend(cleanTargetList, tle); } } @@ -134,7 +132,7 @@ ExecInitJunkFilter(List *targetList) cleanResdom = (Resdom) copyObject((Node) resdom); set_resno(cleanResdom, cleanResno); cleanResno++; - tle = (List) MakeTLE(cleanResdom, (Expr) expr); + tle = (List) makeTargetEntry(cleanResdom, (Node *) expr); set_fj_innerNode(cleanFjoin, tle); foreach(fjListP, lnext(fjList)) @@ -150,7 +148,7 @@ ExecInitJunkFilter(List *targetList) /* * create a new target list entry */ - tle = (List) MakeTLE(cleanResdom, (Expr) expr); + tle = (List) makeTargetEntry(cleanResdom, (Node *) expr); cleanFjList = lappend(cleanFjList, tle); } lappend(cleanTargetList, cleanFjList); diff --git a/src/backend/nodes/makefuncs.c b/src/backend/nodes/makefuncs.c index 574860a545..ae38a1c827 100644 --- a/src/backend/nodes/makefuncs.c +++ b/src/backend/nodes/makefuncs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/makefuncs.c,v 1.10 1998/07/12 21:29:16 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/makefuncs.c,v 1.11 1998/07/20 19:53:45 momjian Exp $ * * NOTES * Creator functions in POSTGRES 4.2 are generated automatically. Most of @@ -71,6 +71,20 @@ makeVar(Index varno, return var; } +/* + * makeTargetEntry - + * creates a TargetEntry node(contains a Resdom) + */ +TargetEntry * +makeTargetEntry(Resdom *resdom, Node *expr) +{ + TargetEntry *rt = makeNode(TargetEntry); + + rt->resdom = resdom; + rt->expr = expr; + return rt; +} + /* * makeResdom - * creates a Resdom (Result Domain) node diff --git a/src/backend/optimizer/plan/setrefs.c b/src/backend/optimizer/plan/setrefs.c index 96b203498f..4fdde87938 100644 --- a/src/backend/optimizer/plan/setrefs.c +++ b/src/backend/optimizer/plan/setrefs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/setrefs.c,v 1.23 1998/07/19 05:49:15 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/setrefs.c,v 1.24 1998/07/20 19:53:46 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -132,7 +132,7 @@ set_join_tlist_references(Join *join) outer_tlist, inner_tlist); - temp = MakeTLE(xtl->resdom, (Node *) joinvar); + temp = makeTargetEntry(xtl->resdom, (Node *) joinvar); new_join_targetlist = lappend(new_join_targetlist, temp); } @@ -497,7 +497,7 @@ tlist_temp_references(Oid tempid, else oattno = 0; - temp = MakeTLE(xtl->resdom, + temp = makeTargetEntry(xtl->resdom, (Node *) makeVar(tempid, xtl->resdom->resno, xtl->resdom->restype, diff --git a/src/backend/optimizer/prep/preptlist.c b/src/backend/optimizer/prep/preptlist.c index e8dc816de9..636df6111d 100644 --- a/src/backend/optimizer/prep/preptlist.c +++ b/src/backend/optimizer/prep/preptlist.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/prep/preptlist.c,v 1.13 1998/07/20 19:21:44 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/prep/preptlist.c,v 1.14 1998/07/20 19:53:47 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -114,9 +114,7 @@ preprocess_targetlist(List *tlist, var = makeVar(result_relation, -1, TIDOID, -1, 0, result_relation, -1); - ctid = makeNode(TargetEntry); - ctid->resdom = resdom; - ctid->expr = (Node *) var; + ctid = makeTargetEntry(resdom, (Node *) var); t_list = lappend(t_list, ctid); } @@ -233,7 +231,7 @@ replace_matching_resname(List *new_tlist, List *old_tlist) newresno = (Resdom *) copyObject((Node *) old_tle->resdom); newresno->resno = length(t_list) + 1; newresno->resjunk = 1; - new_tl = MakeTLE(newresno, old_tle->expr); + new_tl = makeTargetEntry(newresno, old_tle->expr); t_list = lappend(t_list, new_tl); } } @@ -296,7 +294,7 @@ new_relation_targetlist(Oid relid, Index rt_index, NodeTag node_type) false, /* not a set */ false); - temp3 = MakeTLE(makeResdom(attno, + temp3 = makeTargetEntry(makeResdom(attno, atttype, -1, attname, @@ -317,7 +315,7 @@ new_relation_targetlist(Oid relid, Index rt_index, NodeTag node_type) get_atttypmod(relid, attno), 0, rt_index, attno); - temp_list = MakeTLE(makeResdom(attno, + temp_list = makeTargetEntry(makeResdom(attno, atttype, get_atttypmod(relid, attno), attname, diff --git a/src/backend/optimizer/util/internal.c b/src/backend/optimizer/util/internal.c deleted file mode 100644 index fdb094a3db..0000000000 --- a/src/backend/optimizer/util/internal.c +++ /dev/null @@ -1,60 +0,0 @@ -/*------------------------------------------------------------------------- - * - * internal.c-- - * Definitions required throughout the query optimizer. - * - * Copyright (c) 1994, Regents of the University of California - * - * - * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/util/Attic/internal.c,v 1.7 1998/02/26 04:33:17 momjian Exp $ - * - *------------------------------------------------------------------------- - */ - -/* - * ---------- SHARED MACROS - * - * Macros common to modules for creating, accessing, and modifying - * query tree and query plan components. - * Shared with the executor. - * - */ -#include - -#include "postgres.h" - -#include "optimizer/internal.h" - -#include "nodes/relation.h" -#include "nodes/plannodes.h" -#include "nodes/primnodes.h" -#include "utils/palloc.h" - -#ifdef NOT_USED -/***************************************************************************** - * - *****************************************************************************/ - -/* the following should probably be moved elsewhere -ay */ - -TargetEntry * -MakeTLE(Resdom *resdom, Node *expr) -{ - TargetEntry *rt = makeNode(TargetEntry); - - rt->resdom = resdom; - rt->expr = expr; - return rt; -} - -Var * -get_expr(TargetEntry *tle) -{ - Assert(tle != NULL); - Assert(tle->expr != NULL); - - return ((Var *) tle->expr); -} - -#endif /* 0 */ diff --git a/src/backend/optimizer/util/tlist.c b/src/backend/optimizer/util/tlist.c index 488bc4b5e1..ed39fd43f2 100644 --- a/src/backend/optimizer/util/tlist.c +++ b/src/backend/optimizer/util/tlist.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/util/tlist.c,v 1.14 1998/07/18 04:22:41 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/util/tlist.c,v 1.15 1998/07/20 19:53:48 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -133,19 +133,15 @@ add_tl_element(RelOptInfo *rel, Var *var) TargetEntry * create_tl_element(Var *var, int resdomno) { - TargetEntry *tlelement = makeNode(TargetEntry); - tlelement->resdom = - makeResdom(resdomno, - var->vartype, - var->vartypmod, - NULL, - (Index) 0, - (Oid) 0, - 0); - tlelement->expr = (Node *) var; - - return (tlelement); + return makeTargetEntry(makeResdom(resdomno, + var->vartype, + var->vartypmod, + NULL, + (Index) 0, + (Oid) 0, + 0), + (Node *) var); } /* @@ -351,7 +347,7 @@ copy_vars(List *target, List *source) for (src = source, dest = target; src != NIL && dest != NIL; src = lnext(src), dest = lnext(dest)) { - TargetEntry *temp = MakeTLE(((TargetEntry *) lfirst(dest))->resdom, + TargetEntry *temp = makeTargetEntry(((TargetEntry *) lfirst(dest))->resdom, (Node *) get_expr(lfirst(src))); result = lappend(result, temp); @@ -404,7 +400,7 @@ flatten_tlist(List *tlist) (Oid) 0, 0); last_resdomno++; - new_tlist = lappend(new_tlist, MakeTLE(r, (Node *) var)); + new_tlist = lappend(new_tlist, makeTargetEntry(r, (Node *) var)); } } @@ -435,7 +431,7 @@ flatten_tlist_vars(List *full_tlist, List *flat_tlist) result = lappend(result, - MakeTLE(tle->resdom, + makeTargetEntry(tle->resdom, flatten_tlistentry((Node *) get_expr(tle), flat_tlist))); } @@ -544,16 +540,6 @@ flatten_tlistentry(Node *tlistentry, List *flat_tlist) } -TargetEntry * -MakeTLE(Resdom *resdom, Node *expr) -{ - TargetEntry *rt = makeNode(TargetEntry); - - rt->resdom = resdom; - rt->expr = expr; - return rt; -} - Var * get_expr(TargetEntry *tle) { @@ -597,7 +583,7 @@ AddGroupAttrToTlist(List *tlist, List *grpCl) (Oid) 0, 0); last_resdomno++; - tlist = lappend(tlist, MakeTLE(r, (Node *) var)); + tlist = lappend(tlist, makeTargetEntry(r, (Node *) var)); } } } diff --git a/src/backend/parser/analyze.c b/src/backend/parser/analyze.c index 4865d2de6d..fe1d54c3b0 100644 --- a/src/backend/parser/analyze.c +++ b/src/backend/parser/analyze.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.77 1998/07/19 05:49:17 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.78 1998/07/20 19:53:49 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -312,14 +312,12 @@ transformInsertStmt(ParseState *pstate, InsertStmt *stmt) * preptlist.c), but may break RULEs in some way. It seems * better to create proper target list here... */ - te = makeNode(TargetEntry); - te->resdom = makeResdom(defval[ndef].adnum, + te = makeTargetEntry(makeResdom(defval[ndef].adnum, att[defval[ndef].adnum - 1]->atttypid, att[defval[ndef].adnum - 1]->atttypmod, pstrdup(nameout(&(att[defval[ndef].adnum - 1]->attname))), - 0, 0, 0); - te->fjoin = NULL; - te->expr = (Node *) stringToNode(defval[ndef].adbin); + 0, 0, 0), + (Node *) stringToNode(defval[ndef].adbin); qry->targetList = lappend(qry->targetList, te); } } diff --git a/src/backend/parser/parse_func.c b/src/backend/parser/parse_func.c index 3dd80a28d0..35e686520e 100644 --- a/src/backend/parser/parse_func.c +++ b/src/backend/parser/parse_func.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.22 1998/07/20 11:17:11 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.23 1998/07/20 19:53:51 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -1240,9 +1240,7 @@ setup_tlist(char *attname, Oid relid) 0); varnode = makeVar(-1, attno, typeid, type_mod, 0, -1, attno); - tle = makeNode(TargetEntry); - tle->resdom = resnode; - tle->expr = (Node *) varnode; + tle = makeTargetEntry(resnode, (Node *) varnode); return (lcons(tle, NIL)); } @@ -1266,9 +1264,7 @@ setup_base_tlist(Oid typeid) (Oid) 0, 0); varnode = makeVar(-1, 1, typeid, -1, 0, -1, 1); - tle = makeNode(TargetEntry); - tle->resdom = resnode; - tle->expr = (Node *) varnode; + tle = makeTargetEntry(resnode, (Node *) varnode); return (lcons(tle, NIL)); } diff --git a/src/backend/parser/parse_target.c b/src/backend/parser/parse_target.c index 4dda58a2c7..7de957935d 100644 --- a/src/backend/parser/parse_target.c +++ b/src/backend/parser/parse_target.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.18 1998/07/12 21:29:20 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.19 1998/07/20 19:53:52 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -692,7 +692,6 @@ printf("MakeTargetlistExpr: attrtypmod is %d\n", (int4) attrtypmod); attrtypmod = type_mod; } - tent = makeNode(TargetEntry); resnode = makeResdom((AttrNumber) resdomno, (Oid) attrtype, attrtypmod, @@ -701,8 +700,7 @@ printf("MakeTargetlistExpr: attrtypmod is %d\n", (int4) attrtypmod); (Oid) 0, 0); - tent->resdom = resnode; - tent->expr = expr; + tent = makeTargetEntry(resnode, expr); return tent; } /* MakeTargetlistExpr() */ diff --git a/src/include/optimizer/tlist.h b/src/include/optimizer/tlist.h index b6b1d2eb7e..924b53baf6 100644 --- a/src/include/optimizer/tlist.h +++ b/src/include/optimizer/tlist.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: tlist.h,v 1.9 1998/07/18 04:22:52 momjian Exp $ + * $Id: tlist.h,v 1.10 1998/07/20 19:53:53 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -26,7 +26,7 @@ extern List *get_actual_tlist(List *tlist); extern Resdom *tlist_member(Var *var, List *tlist); extern Resdom *tlist_resdom(List *tlist, Resdom *resnode); -extern TargetEntry *MakeTLE(Resdom *resdom, Node *expr); +extern TargetEntry *makeTargetEntry(Resdom *resdom, Node *expr); extern Var *get_expr(TargetEntry *tle); extern TargetEntry *match_varid(Var *test_var, List *tlist);