Fix pg_dump bug in the database-level collation patch. "datcollate" and
[PostgreSQL.git] / src / include / nodes / makefuncs.h
blobb940d252ad8e4bb49cd4474a3e0f9bcd00e92a81
1 /*-------------------------------------------------------------------------
3 * makefuncs.h
4 * prototypes for the creator functions (for primitive nodes)
7 * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * $PostgreSQL$
12 *-------------------------------------------------------------------------
14 #ifndef MAKEFUNC_H
15 #define MAKEFUNC_H
17 #include "nodes/parsenodes.h"
20 extern A_Expr *makeA_Expr(A_Expr_Kind kind, List *name,
21 Node *lexpr, Node *rexpr, int location);
23 extern A_Expr *makeSimpleA_Expr(A_Expr_Kind kind, const char *name,
24 Node *lexpr, Node *rexpr, int location);
26 extern Var *makeVar(Index varno,
27 AttrNumber varattno,
28 Oid vartype,
29 int32 vartypmod,
30 Index varlevelsup);
32 extern TargetEntry *makeTargetEntry(Expr *expr,
33 AttrNumber resno,
34 char *resname,
35 bool resjunk);
37 extern TargetEntry *flatCopyTargetEntry(TargetEntry *src_tle);
39 extern FromExpr *makeFromExpr(List *fromlist, Node *quals);
41 extern Const *makeConst(Oid consttype,
42 int32 consttypmod,
43 int constlen,
44 Datum constvalue,
45 bool constisnull,
46 bool constbyval);
48 extern Const *makeNullConst(Oid consttype, int32 consttypmod);
50 extern Node *makeBoolConst(bool value, bool isnull);
52 extern Expr *makeBoolExpr(BoolExprType boolop, List *args, int location);
54 extern Alias *makeAlias(const char *aliasname, List *colnames);
56 extern RelabelType *makeRelabelType(Expr *arg, Oid rtype, int32 rtypmod,
57 CoercionForm rformat);
59 extern RangeVar *makeRangeVar(char *schemaname, char *relname, int location);
61 extern TypeName *makeTypeName(char *typnam);
62 extern TypeName *makeTypeNameFromNameList(List *names);
63 extern TypeName *makeTypeNameFromOid(Oid typeid, int32 typmod);
65 extern FuncExpr *makeFuncExpr(Oid funcid, Oid rettype,
66 List *args, CoercionForm fformat);
68 extern DefElem *makeDefElem(char *name, Node *arg);
70 #endif /* MAKEFUNC_H */