1 /*-------------------------------------------------------------------------
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
12 *-------------------------------------------------------------------------
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
,
32 extern TargetEntry
*makeTargetEntry(Expr
*expr
,
37 extern TargetEntry
*flatCopyTargetEntry(TargetEntry
*src_tle
);
39 extern FromExpr
*makeFromExpr(List
*fromlist
, Node
*quals
);
41 extern Const
*makeConst(Oid consttype
,
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 */