Fix set_append_rel_pathlist() to deal intelligently with cases where
[PostgreSQL.git] / src / include / parser / parse_target.h
blob2222ccd1f6bdb8fef81a825f58eaeb895a4f3089
1 /*-------------------------------------------------------------------------
3 * parse_target.h
4 * handle target lists
7 * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * $PostgreSQL$
12 *-------------------------------------------------------------------------
14 #ifndef PARSE_TARGET_H
15 #define PARSE_TARGET_H
17 #include "parser/parse_node.h"
20 extern List *transformTargetList(ParseState *pstate, List *targetlist);
21 extern List *transformExpressionList(ParseState *pstate, List *exprlist);
22 extern void markTargetListOrigins(ParseState *pstate, List *targetlist);
23 extern TargetEntry *transformTargetEntry(ParseState *pstate,
24 Node *node, Node *expr,
25 char *colname, bool resjunk);
26 extern Expr *transformAssignedExpr(ParseState *pstate, Expr *expr,
27 char *colname,
28 int attrno,
29 List *indirection,
30 int location);
31 extern void updateTargetListEntry(ParseState *pstate, TargetEntry *tle,
32 char *colname, int attrno,
33 List *indirection,
34 int location);
35 extern List *checkInsertTargets(ParseState *pstate, List *cols,
36 List **attrnos);
37 extern TupleDesc expandRecordVariable(ParseState *pstate, Var *var,
38 int levelsup);
39 extern char *FigureColname(Node *node);
41 #endif /* PARSE_TARGET_H */