* prototypes for the creator functions (for primitive nodes)
*
*
- * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1996-2011, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/nodes/makefuncs.h,v 1.58 2007/03/17 00:11:05 tgl Exp $
+ * src/include/nodes/makefuncs.h
*
*-------------------------------------------------------------------------
*/
AttrNumber varattno,
Oid vartype,
int32 vartypmod,
+ Oid varcollid,
Index varlevelsup);
+extern Var *makeVarFromTargetEntry(Index varno,
+ TargetEntry *tle);
+
+extern Var *makeWholeRowVar(RangeTblEntry *rte,
+ Index varno,
+ Index varlevelsup);
+
extern TargetEntry *makeTargetEntry(Expr *expr,
AttrNumber resno,
char *resname,
extern TargetEntry *flatCopyTargetEntry(TargetEntry *src_tle);
+extern FromExpr *makeFromExpr(List *fromlist, Node *quals);
+
extern Const *makeConst(Oid consttype,
int32 consttypmod,
int constlen,
bool constisnull,
bool constbyval);
-extern Const *makeNullConst(Oid consttype);
+extern Const *makeNullConst(Oid consttype, int32 consttypmod);
extern Node *makeBoolConst(bool value, bool isnull);
-extern Expr *makeBoolExpr(BoolExprType boolop, List *args);
+extern Expr *makeBoolExpr(BoolExprType boolop, List *args, int location);
extern Alias *makeAlias(const char *aliasname, List *colnames);
extern RelabelType *makeRelabelType(Expr *arg, Oid rtype, int32 rtypmod,
- CoercionForm rformat);
+ Oid rcollid, CoercionForm rformat);
-extern RangeVar *makeRangeVar(char *schemaname, char *relname);
+extern RangeVar *makeRangeVar(char *schemaname, char *relname, int location);
extern TypeName *makeTypeName(char *typnam);
extern TypeName *makeTypeNameFromNameList(List *names);
-extern TypeName *makeTypeNameFromOid(Oid typeid, int32 typmod);
+extern TypeName *makeTypeNameFromOid(Oid typeOid, int32 typmod);
-extern FuncExpr *makeFuncExpr(Oid funcid, Oid rettype,
- List *args, CoercionForm fformat);
+extern FuncExpr *makeFuncExpr(Oid funcid, Oid rettype, List *args,
+ Oid funccollid, Oid inputcollid, CoercionForm fformat);
extern DefElem *makeDefElem(char *name, Node *arg);
+extern DefElem *makeDefElemExtended(char *nameSpace, char *name, Node *arg,
+ DefElemAction defaction);
#endif /* MAKEFUNC_H */