parse_target.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*-------------------------------------------------------------------------
  2. *
  3. * parse_target.h
  4. * handle target lists
  5. *
  6. *
  7. * Portions Copyright (c) 1996-2016, 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. #include "parser/parse_node.h"
  17. extern List *transformTargetList(ParseState *pstate, List *targetlist,
  18. ParseExprKind exprKind);
  19. extern List *transformExpressionList(ParseState *pstate, List *exprlist,
  20. ParseExprKind exprKind);
  21. extern void markTargetListOrigins(ParseState *pstate, List *targetlist);
  22. extern TargetEntry *transformTargetEntry(ParseState *pstate,
  23. Node *node, Node *expr, ParseExprKind exprKind,
  24. char *colname, bool resjunk);
  25. extern Expr *transformAssignedExpr(ParseState *pstate, Expr *expr,
  26. ParseExprKind exprKind,
  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);
  40. extern char *FigureIndexColname(Node *node);
  41. #endif /* PARSE_TARGET_H */