Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef PARSE_TARGET_H
00015 #define PARSE_TARGET_H
00016
00017 #include "parser/parse_node.h"
00018
00019
00020 extern List *transformTargetList(ParseState *pstate, List *targetlist,
00021 ParseExprKind exprKind);
00022 extern List *transformExpressionList(ParseState *pstate, List *exprlist,
00023 ParseExprKind exprKind);
00024 extern void markTargetListOrigins(ParseState *pstate, List *targetlist);
00025 extern TargetEntry *transformTargetEntry(ParseState *pstate,
00026 Node *node, Node *expr, ParseExprKind exprKind,
00027 char *colname, bool resjunk);
00028 extern Expr *transformAssignedExpr(ParseState *pstate, Expr *expr,
00029 ParseExprKind exprKind,
00030 char *colname,
00031 int attrno,
00032 List *indirection,
00033 int location);
00034 extern void updateTargetListEntry(ParseState *pstate, TargetEntry *tle,
00035 char *colname, int attrno,
00036 List *indirection,
00037 int location);
00038 extern List *checkInsertTargets(ParseState *pstate, List *cols,
00039 List **attrnos);
00040 extern TupleDesc expandRecordVariable(ParseState *pstate, Var *var,
00041 int levelsup);
00042 extern char *FigureColname(Node *node);
00043 extern char *FigureIndexColname(Node *node);
00044
00045 #endif