PostgreSQL Source Code git master
Loading...
Searching...
No Matches
parse_target.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * parse_target.h
4 * handle target lists
5 *
6 *
7 * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
9 *
10 * src/include/parser/parse_target.h
11 *
12 *-------------------------------------------------------------------------
13 */
14#ifndef PARSE_TARGET_H
15#define PARSE_TARGET_H
16
17#include "parser/parse_node.h"
18
19
20extern List *transformTargetList(ParseState *pstate, List *targetlist,
24extern void resolveTargetListUnknowns(ParseState *pstate, List *targetlist);
25extern void markTargetListOrigins(ParseState *pstate, List *targetlist);
27 Node *node, Node *expr, ParseExprKind exprKind,
28 char *colname, bool resjunk);
29extern Expr *transformAssignedExpr(ParseState *pstate, Expr *expr,
31 const char *colname,
32 int attrno,
33 List *indirection,
34 int location);
36 char *colname, int attrno,
37 List *indirection,
38 int location);
41 const char *targetName,
46 List *indirection,
48 Node *rhs,
50 int location);
51extern List *checkInsertTargets(ParseState *pstate, List *cols,
52 List **attrnos);
53extern TupleDesc expandRecordVariable(ParseState *pstate, Var *var,
54 int levelsup);
55extern char *FigureColname(Node *node);
56extern char *FigureIndexColname(Node *node);
57
58#endif /* PARSE_TARGET_H */
int32_t int32
Definition c.h:542
ParseExprKind
Definition parse_node.h:39
TargetEntry * transformTargetEntry(ParseState *pstate, Node *node, Node *expr, ParseExprKind exprKind, char *colname, bool resjunk)
Expr * transformAssignedExpr(ParseState *pstate, Expr *expr, ParseExprKind exprKind, const char *colname, int attrno, List *indirection, int location)
List * transformExpressionList(ParseState *pstate, List *exprlist, ParseExprKind exprKind, bool allowDefault)
char * FigureColname(Node *node)
char * FigureIndexColname(Node *node)
Node * transformAssignmentIndirection(ParseState *pstate, Node *basenode, const char *targetName, bool targetIsSubscripting, Oid targetTypeId, int32 targetTypMod, Oid targetCollation, List *indirection, ListCell *indirection_cell, Node *rhs, CoercionContext ccontext, int location)
void updateTargetListEntry(ParseState *pstate, TargetEntry *tle, char *colname, int attrno, List *indirection, int location)
List * transformTargetList(ParseState *pstate, List *targetlist, ParseExprKind exprKind)
void resolveTargetListUnknowns(ParseState *pstate, List *targetlist)
void markTargetListOrigins(ParseState *pstate, List *targetlist)
List * checkInsertTargets(ParseState *pstate, List *cols, List **attrnos)
TupleDesc expandRecordVariable(ParseState *pstate, Var *var, int levelsup)
unsigned int Oid
static int fb(int x)
CoercionContext
Definition primnodes.h:745
Definition pg_list.h:54
Definition nodes.h:135