X-Git-Url: https://granicus.if.org/sourcecode?a=blobdiff_plain;f=src%2Finclude%2Fnodes%2Fmakefuncs.h;h=ead7c403ccecf773e6a95c6de87a42a4ac3e943a;hb=b310b6e31ce5aa9e456c43c0e8e93248b0c84c02;hp=2de7c03cf6ac311b79a8b5b1d082bff6196a0f16;hpb=95ef6a344821655ce4d0a74999ac49dd6af6d342;p=postgresql diff --git a/src/include/nodes/makefuncs.h b/src/include/nodes/makefuncs.h index 2de7c03cf6..ead7c403cc 100644 --- a/src/include/nodes/makefuncs.h +++ b/src/include/nodes/makefuncs.h @@ -4,10 +4,10 @@ * prototypes for the creator functions (for primitive nodes) * * - * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2011, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: makefuncs.h,v 1.32 2002/03/21 16:01:43 tgl Exp $ + * src/include/nodes/makefuncs.h * *------------------------------------------------------------------------- */ @@ -16,36 +16,65 @@ #include "nodes/parsenodes.h" -extern Oper *makeOper(Oid opno, - Oid opid, - Oid opresulttype); + +extern A_Expr *makeA_Expr(A_Expr_Kind kind, List *name, + Node *lexpr, Node *rexpr, int location); + +extern A_Expr *makeSimpleA_Expr(A_Expr_Kind kind, const char *name, + Node *lexpr, Node *rexpr, int location); extern Var *makeVar(Index varno, AttrNumber varattno, Oid vartype, int32 vartypmod, + Oid varcollid, Index varlevelsup); -extern TargetEntry *makeTargetEntry(Resdom *resdom, Node *expr); +extern Var *makeVarFromTargetEntry(Index varno, + TargetEntry *tle); + +extern Var *makeWholeRowVar(RangeTblEntry *rte, + Index varno, + Index varlevelsup); -extern Resdom *makeResdom(AttrNumber resno, - Oid restype, - int32 restypmod, - char *resname, - bool resjunk); +extern TargetEntry *makeTargetEntry(Expr *expr, + AttrNumber resno, + char *resname, + bool resjunk); + +extern TargetEntry *flatCopyTargetEntry(TargetEntry *src_tle); + +extern FromExpr *makeFromExpr(List *fromlist, Node *quals); extern Const *makeConst(Oid consttype, + int32 consttypmod, int constlen, Datum constvalue, bool constisnull, - bool constbyval, - bool constisset, - bool constiscast); + bool constbyval); + +extern Const *makeNullConst(Oid consttype, int32 consttypmod); -extern Const *makeNullConst(Oid consttype); +extern Node *makeBoolConst(bool value, bool isnull); + +extern Expr *makeBoolExpr(BoolExprType boolop, List *args, int location); extern Alias *makeAlias(const char *aliasname, List *colnames); -extern RelabelType *makeRelabelType(Node *arg, Oid rtype, int32 rtypmod); +extern RelabelType *makeRelabelType(Expr *arg, Oid rtype, int32 rtypmod, + Oid rcollid, CoercionForm rformat); + +extern RangeVar *makeRangeVar(char *schemaname, char *relname, int location); + +extern TypeName *makeTypeName(char *typnam); +extern TypeName *makeTypeNameFromNameList(List *names); +extern TypeName *makeTypeNameFromOid(Oid typeOid, int32 typmod); + +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 */