Header And Logo

PostgreSQL
| The world's most advanced open source database.

parse_target.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  * parse_target.h
00004  *    handle target lists
00005  *
00006  *
00007  * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
00008  * Portions Copyright (c) 1994, Regents of the University of California
00009  *
00010  * src/include/parser/parse_target.h
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   /* PARSE_TARGET_H */