1 /*-------------------------------------------------------------------------
4 * prototypes for the creator functions (for primitive nodes)
7 * Portions Copyright (c) 2003-2008, PgPool Global Development Group
8 * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
9 * Portions Copyright (c) 1994, Regents of the University of California
11 * $PostgreSQL: pgsql/src/include/nodes/makefuncs.h,v 1.60 2007/09/06 17:31:58 tgl Exp $
13 *-------------------------------------------------------------------------
18 #include "parsenodes.h"
21 extern A_Expr *makeA_Expr(A_Expr_Kind kind, List *name,
22 Node *lexpr, Node *rexpr, int location);
24 extern A_Expr *makeSimpleA_Expr(A_Expr_Kind kind, const char *name,
25 Node *lexpr, Node *rexpr, int location);
27 extern Var *makeVar(Index varno,
33 extern TargetEntry *makeTargetEntry(Expr *expr,
38 extern TargetEntry *flatCopyTargetEntry(TargetEntry *src_tle);
40 extern FromExpr *makeFromExpr(List *fromlist, Node *quals);
42 extern Const *makeConst(Oid consttype,
49 extern Const *makeNullConst(Oid consttype, int32 consttypmod);
51 extern Node *makeBoolConst(bool value, bool isnull);
53 extern Expr *makeBoolExpr(BoolExprType boolop, List *args);
55 extern Alias *makeAlias(const char *aliasname, List *colnames);
57 extern RelabelType *makeRelabelType(Expr *arg, Oid rtype, int32 rtypmod,
58 CoercionForm rformat);
60 extern RangeVar *makeRangeVar(char *schemaname, char *relname);
62 extern TypeName *makeTypeName(char *typnam);
63 extern TypeName *makeTypeNameFromNameList(List *names);
64 extern TypeName *makeTypeNameFromOid(Oid typeid, int32 typmod);
66 extern FuncExpr *makeFuncExpr(Oid funcid, Oid rettype,
67 List *args, CoercionForm fformat);
69 extern DefElem *makeDefElem(char *name, Node *arg);
71 #endif /* MAKEFUNC_H */