*
*
* 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 $
*
*-------------------------------------------------------------------------
*/
#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
/*
* create a new target list entry
*/
- tle = makeNode(TargetEntry);
- tle->resdom = cleanResdom;
- tle->expr = expr;
+ tle = makeTargetEntry(cleanResdom, expr);
cleanTargetList = lappend(cleanTargetList, tle);
}
}
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))
/*
* 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);
*
*
* 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
}
/*
+ * 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
*/
*
*
* 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 $
*
*-------------------------------------------------------------------------
*/
outer_tlist,
inner_tlist);
- temp = MakeTLE(xtl->resdom, (Node *) joinvar);
+ temp = makeTargetEntry(xtl->resdom, (Node *) joinvar);
new_join_targetlist = lappend(new_join_targetlist, temp);
}
else
oattno = 0;
- temp = MakeTLE(xtl->resdom,
+ temp = makeTargetEntry(xtl->resdom,
(Node *) makeVar(tempid,
xtl->resdom->resno,
xtl->resdom->restype,
*
*
* 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 $
*
*-------------------------------------------------------------------------
*/
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);
}
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);
}
}
false, /* not a set */
false);
- temp3 = MakeTLE(makeResdom(attno,
+ temp3 = makeTargetEntry(makeResdom(attno,
atttype,
-1,
attname,
get_atttypmod(relid, attno),
0, rt_index, attno);
- temp_list = MakeTLE(makeResdom(attno,
+ temp_list = makeTargetEntry(makeResdom(attno,
atttype,
get_atttypmod(relid, attno),
attname,
+++ /dev/null
-/*-------------------------------------------------------------------------
- *
- * 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 <sys/types.h>
-
-#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 */
*
*
* 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 $
*
*-------------------------------------------------------------------------
*/
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);
}
/*
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);
(Oid) 0,
0);
last_resdomno++;
- new_tlist = lappend(new_tlist, MakeTLE(r, (Node *) var));
+ new_tlist = lappend(new_tlist, makeTargetEntry(r, (Node *) var));
}
}
result =
lappend(result,
- MakeTLE(tle->resdom,
+ makeTargetEntry(tle->resdom,
flatten_tlistentry((Node *) get_expr(tle),
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)
{
(Oid) 0,
0);
last_resdomno++;
- tlist = lappend(tlist, MakeTLE(r, (Node *) var));
+ tlist = lappend(tlist, makeTargetEntry(r, (Node *) var));
}
}
}
*
*
* 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 $
*
*-------------------------------------------------------------------------
*/
* 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);
}
}
*
*
* 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 $
*
*-------------------------------------------------------------------------
*/
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));
}
(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));
}
*
*
* 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 $
*
*-------------------------------------------------------------------------
*/
attrtypmod = type_mod;
}
- tent = makeNode(TargetEntry);
resnode = makeResdom((AttrNumber) resdomno,
(Oid) attrtype,
attrtypmod,
(Oid) 0,
0);
- tent->resdom = resnode;
- tent->expr = expr;
+ tent = makeTargetEntry(resnode, expr);
return tent;
} /* MakeTargetlistExpr() */
*
* 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 $
*
*-------------------------------------------------------------------------
*/
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);