]> granicus.if.org Git - postgresql/blob - src/include/nodes/makefuncs.h
Stamp copyrights for year 2011.
[postgresql] / src / include / nodes / makefuncs.h
1 /*-------------------------------------------------------------------------
2  *
3  * makefuncs.h
4  *        prototypes for the creator functions (for primitive nodes)
5  *
6  *
7  * Portions Copyright (c) 1996-2011, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * src/include/nodes/makefuncs.h
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef MAKEFUNC_H
15 #define MAKEFUNC_H
16
17 #include "nodes/parsenodes.h"
18
19
20 extern A_Expr *makeA_Expr(A_Expr_Kind kind, List *name,
21                    Node *lexpr, Node *rexpr, int location);
22
23 extern A_Expr *makeSimpleA_Expr(A_Expr_Kind kind, const char *name,
24                                  Node *lexpr, Node *rexpr, int location);
25
26 extern Var *makeVar(Index varno,
27                 AttrNumber varattno,
28                 Oid vartype,
29                 int32 vartypmod,
30                 Index varlevelsup);
31
32 extern Var *makeVarFromTargetEntry(Index varno,
33                                                                    TargetEntry *tle);
34
35 extern Var *makeWholeRowVar(RangeTblEntry *rte,
36                                 Index varno,
37                                 Index varlevelsup);
38
39 extern TargetEntry *makeTargetEntry(Expr *expr,
40                                 AttrNumber resno,
41                                 char *resname,
42                                 bool resjunk);
43
44 extern TargetEntry *flatCopyTargetEntry(TargetEntry *src_tle);
45
46 extern FromExpr *makeFromExpr(List *fromlist, Node *quals);
47
48 extern Const *makeConst(Oid consttype,
49                   int32 consttypmod,
50                   int constlen,
51                   Datum constvalue,
52                   bool constisnull,
53                   bool constbyval);
54
55 extern Const *makeNullConst(Oid consttype, int32 consttypmod);
56
57 extern Node *makeBoolConst(bool value, bool isnull);
58
59 extern Expr *makeBoolExpr(BoolExprType boolop, List *args, int location);
60
61 extern Alias *makeAlias(const char *aliasname, List *colnames);
62
63 extern RelabelType *makeRelabelType(Expr *arg, Oid rtype, int32 rtypmod,
64                                 CoercionForm rformat);
65
66 extern RangeVar *makeRangeVar(char *schemaname, char *relname, int location);
67
68 extern TypeName *makeTypeName(char *typnam);
69 extern TypeName *makeTypeNameFromNameList(List *names);
70 extern TypeName *makeTypeNameFromOid(Oid typeOid, int32 typmod);
71
72 extern FuncExpr *makeFuncExpr(Oid funcid, Oid rettype,
73                          List *args, CoercionForm fformat);
74
75 extern DefElem *makeDefElem(char *name, Node *arg);
76 extern DefElem *makeDefElemExtended(char *nameSpace, char *name, Node *arg,
77                                         DefElemAction defaction);
78
79 #endif   /* MAKEFUNC_H */